CMake inozivikanwa nekupa mutauro wakareruka wekunyora, nzira yekuwedzera mashandiro kuburikidza nemamodule, huwandu hushoma hwekutsamira (hapana kusunga kuM4, Perl kana Python), caching rutsigiro, kuvapo kwezvishandiso zvekuyambuka-kuunganidza, tsigiro yekugadzira kuvaka. mafaira emhando dzakasiyana-siyana dzekuvaka masisitimu uye compilers, kuvapo ctest uye cpack zvishandiso zvekutsanangura bvunzo zvinyorwa uye mapakeji ekuvaka, cmake-gui utility yekudyidzana kuseta kuvaka paramita.
chikuru
- Yakawedzerwa rutsigiro rweObjective C (βOBJCβ) uye Objective mitauro
C++ ("OBJCXX"), iyo inogona kugoneswa kuburikidza neprojekti() uye inogonesa_language() mirairo, mushure meiyo kodhi iri mu ".m" ".mm" mafaera ichaunganidzwa seObjective C uye Objective C++ kodhi, kwete sekuti C++, sezvazvaiva kare; - Yakawedzera rutsigiro rweClang compiler paSolaris papuratifomu;
- Yakawedzera mitsva yekuraira sarudzo: "cmake -E true|false" kudhinda makodhi ekudzoka 0 uye 1; "cmake --trace-redirect = "kudzosera ruzivo rwekutsvaga kufaira panzvimbo
"stderr"; murairo we "cmake --loglevel" wapiwa zita rekuti "--log-level" kuti uenderane nemazita emimwe mirairo; - Yakawedzera iyo "target_precompile_headers()" kuraira kunyora runyoro rwemusoro mafaera anoshandiswa panguva yekugadzirira (inoderedza nguva yekuvaka);
- Yakawedzera "UNITY_BUILD" pfuma, iyo inomutsa iyo batch modhi yekugadzirisa mafaera epamhepo mumajenareta kuti ikurumidze kuvaka;
- Yakawedzerwa mirairo "tsvaga_faira ()", "tsvaga_library ()", "tsvaga_nzira ()",
"find_package()" uye "find_program()" kutsvaga mafaera, maraibhurari, makwara, mapakeji uye zvinotemerwa zvinoenderana nezvinosiyana zvinotsanangura nzira dzekutsvaga dzemhando dzakasiyana dzemafaira.
Zvikamu zve "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_CMREGIST_ENVI" zvakashandiswa uye "CMAKE_FIND_USE_SYSTEM_CMREGIST_ENVI" dzora nzira dzekutsvaga RY"; - Yakawedzera iyo "faira(GET_RUNTIME_DEPENDENCIES)" modhi kune "faira ()" murairo, iyo inokutendera iwe kuti udzokorore kudzoreredza rondedzero yemaraibhurari anoshandiswa paunenge uchibatanidza zvine simba faira rinogoneka kana raibhurari. Iyo modhi yakatsiva iyo GetPrerequisites () kuraira, iyo yave kurerutswa;
- Murairo we "ctest(1)" unoisa kugona kuenzanisa bvunzo zvichienderana nezviwanikwa zvinodiwa pabvunzo yega yega;
- Musiyano we "CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY" waraswa basa uye unofanira kutsiviwa ne"CMAKE_FIND_USE_PACKAGE_REGISTRY";
- Yakavandudzwa AIX papuratifomu rutsigiro. Paunenge uchishandisa "ENABLE_EXPORTS" pfuma, kuwedzera kune faira inoshandiswa, faira yekutumira ye linker ikozvino yagadzirwa, yakachengetedzwa ne ".imp" extension. Mumaplugins akagadzirwa nekudaidza "add_library()" ne "MODULE" sarudzo, faira iri rinogona kushandiswa paunenge uchibatanidza uchishandisa "target_link_libraries()" command. Runtime yekubatanidza paAIX inovharwa nekusarudzika nekuti CMake ikozvino inopa ruzivo rwese rwunodiwa rwechiratidzo chekubatanidza panguva yekuremerwa. Kuti ushandise runtime linking yemaraibhurari ane simba kana mamodules anotakurika, unofanira kunyatsotsanangura sarudzo β-Wl, -Gβ muzvinyorwa zvemalinker ekutanga mamureza, anotsanangurwa kuburikidza ne βCMAKE_SHARED_LINKER_FLAGSβ uye βCMAKE_MODULE_LINKER_FLAGSβ.
Source: opennet.ru