CMake inajulikana kwa kutoa lugha rahisi ya uandishi, njia ya kupanua utendaji kupitia moduli, idadi ndogo ya utegemezi (hakuna kufungwa kwa M4, Perl au Python), usaidizi wa kache, uwepo wa zana za ujumuishaji, usaidizi wa kuunda muundo. faili za anuwai ya mifumo ya ujenzi na vikusanyaji, huduma za uwepo wa ctest na cpack za kufafanua hati za majaribio na vifurushi vya ujenzi, matumizi ya cmake-gui kwa kuweka vigezo vya ujenzi kwa mwingiliano.
kuu
- Usaidizi ulioongezwa kwa Lengo C (βOBJCβ) na Lugha za Malengo
C++ ("OBJCXX"), ambayo inaweza kuwashwa kupitia mradi() na kuwawezesha_language() amri, kisha msimbo katika faili za ".m" ".mm" utaundwa kama msimbo wa Lengo C na Lengo C++, badala ya kama C++, kama ilivyokuwa hapo awali; - Msaada ulioongezwa kwa mkusanyaji wa Clang kwenye jukwaa la Solaris;
- Imeongeza chaguo mpya za mstari wa amri: βcmake -E true|falseβ ili kuchapisha misimbo ya kurejesha 0 na 1; "cmake --trace-redirect=" ili kuelekeza upya taarifa za kufuatilia kwa faili badala yake
"stderr"; amri ya "cmake --loglevel" imebadilishwa jina na kuwa "--log-level" ili kuifanya ilingane na majina ya amri zingine; - Imeongeza amri ya "target_precompile_headers()" ili kuorodhesha orodha ya faili za kichwa zilizotumiwa wakati wa utayarishaji (hupunguza muda wa kujenga);
- Imeongeza kipengele cha "UNITY_BUILD", ambacho huwasha modi ya kundi kwa ajili ya kuchakata faili za chanzo katika jenereta ili kuharakisha ujenzi;
- Amri zilizoongezwa βfind_file()β, βfind_library()β, βfind_path()β,
"find_package()" na "find_program()" ili kutafuta faili, maktaba, njia, vifurushi na vitekelezo kulingana na vigezo vinavyofafanua njia za utafutaji kwa kategoria mbalimbali za faili.
Vigeu vya "CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH", "CMAKE_FIND_USE_CMAKE_PATH", "CMAKE_FIND_USE_CMAKE_SYSTEM_PATH", "CMAKE_FIND_USE_PACKAGE_ROOT_PATH", "CMAKE_FIND_USE_SYSTEM_CMGIST_ENVISEN_VIMETUMIWA" na "CMAKE_FIND_USE_SYSTEM_CMGIST_ENVIS_ENVI". dhibiti njia za msingi za utaftaji RY"; - Aliongeza modi ya "faili(GET_RUNTIME_DEPENDENCIES)" kwenye amri ya "faili()", ambayo hukuruhusu kurejesha orodha ya maktaba zinazotumiwa wakati wa kuunganisha faili inayoweza kutekelezwa au maktaba. Njia hiyo ilibadilisha GetPrerequisites() amri, ambayo sasa imeacha kutumika;
- Amri ya βctest(1)β hutekeleza uwezo wa kusawazisha majaribio kulingana na nyenzo zinazohitajika kwa kila jaribio;
- Tofauti "CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY" imeacha kutumika na inapaswa kubadilishwa na "CMAKE_FIND_USE_PACKAGE_REGISTRY";
- Usaidizi wa jukwaa la AIX ulioboreshwa. Unapotumia kipengele cha "ENABLE_EXPORTS", pamoja na faili inayoweza kutekelezwa, faili ya kuleta kwa kiunganishi sasa imetolewa, iliyohifadhiwa na kiendelezi cha ".imp". Katika programu-jalizi zilizoundwa kwa kuita "add_library()" kwa chaguo la "MODULE", faili hii inaweza kutumika wakati wa kuunganisha kwa kutumia amri ya "target_link_libraries()". Kiunganishi cha muda wa kukimbia kwenye AIX kimezimwa kwa chaguo-msingi kwa sababu CMake sasa hutoa maelezo yote muhimu ya ishara ya kuunganisha wakati wa kupakia. Ili kutumia uunganisho wa wakati wa utekelezaji wa maktaba zinazobadilika au sehemu zinazoweza kupakiwa, lazima ubainishe kwa uwazi chaguo "-Wl, -G" katika orodha za bendera za kuanza kwa kiunganishi, zinazofafanuliwa kupitia vigeu "CMAKE_SHARED_LINKER_FLAGS" na "CMAKE_MODULE_LINKER_FLAGS".
Chanzo: opennet.ru