release av den plattformsoberoende, öppna bygg-skriptgeneratorn , som fungerar som ett alternativ till Autotools och anvÀnds i projekt som KDE, LLVM/Clang, MySQL, MariaDB, ReactOS och Blender. CMake-koden Àr skriven i C++ och distribueras under BSD-licensen.
CMake Àr kÀnt för att erbjuda ett enkelt skriptsprÄk, möjligheter att utöka funktionaliteten genom moduler, ett minimalt antal beroenden (ingen bindning till M4, Perl eller Python), stöd för caching, verktyg för korskompilering, samt stöd för generering av byggfiler för ett brett spektrum av byggsystem och kompilatorer, inklusive ctest och cpack-verktyg för att definiera test- och paketbyggnads-skript, plus cmake-gui-vertyget för interaktiv konfiguration av byggparametrarna.
Huvud :
- Stöd för sprÄken Objective C («OBJC») och Objective C++ («OBJCXX») har lagts till, vilka kan aktiveras via kommandona project() och enable_language(), efter vilket koden i filer med Àndelserna «.m» och «.mm» kommer att kompileras som kod pÄ Objective C och Objective C++, istÀllet för som C++ kod som tidigare.
Stöd för Clang-kompilatorn pĂ„ Solaris-plattformen har lagts till. - Nya kommandoradsparametrar har lagts till: «cmake -E true|false» för att ge returvĂ€rden 0 och 1; «cmake âtrace-redirect=» för att omdirigera spĂ„rningsinformation till en fil, istĂ€llet för «stderr»; kommandot «cmake âloglevel» har döpts om till «âlog-level» för att matcha namnen pĂ„ de andra kommandona.
- Kommandot «target_precompile_headers()» har lagts till för att lista de headerfiler som anvÀnds vid förkompilering (minskar byggtiden).
Egenskapen «UNITY_BUILD» har lagts till, vilket aktiverar batchbearbetning av kÀllfiler i generatorerna för att pÄskynda byggandet. - Kommandona «find_file()», «find_library()», «find_path()», «find_package()» och «find_program()» har lagts till för att söka efter filer, bibliotek, sökvÀgar, paket och körbara filer enligt variabler som definierar sökvÀgar för olika filtyper.
- För att hantera grundlÀggande sökvÀgar anvÀnds variablerna «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_ENVIRONMENT_PATH» och «CMAKE_FIND_USE_PACKAGE_REGISTRY».
- I kommandot «file()» har lÀget «file(GET_RUNTIME_DEPENDENCIES)» lagts till, vilket möjliggör rekursiv extraktion av listan över bibliotek som anvÀnds vid dynamisk lÀnkning av en körbar fil eller ett bibliotek. Detta lÀge har ersatt kommandot GetPrerequisites(), som nu Àr förÄldrat.
I kommandot «ctest(1)» har möjlighet till serialisering av tester implementerats, baserad pÄ resurserna som krÀvs för varje test.
Variabeln «CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY» har förklarats som förÄldrad och bör ersÀttas med «CMAKE_FIND_USE_PACKAGE_REGISTRY». - Kommandot «file()» har fÄtt lÀget «file(GET_RUNTIME_DEPENDENCIES)», som möjliggör rekursiv extraktion av listan över bibliotek som anvÀnds vid dynamisk lÀnkning av exekverbara filer eller bibliotek. Detta lÀge har ersatt kommandot GetPrerequisites(), som nu Àr förÄldrat.
- I kommandot «ctest(1)» har möjligheten till serialisering av tester implementerats, baserat pÄ de resurser som krÀvs för varje test.
- Variabeln «CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY» har blivit förÄldrad, och istÀllet bör «CMAKE_FIND_USE_PACKAGE_REGISTRY» anvÀndas.
- FörbÀttrat stöd för AIX-plattformen. NÀr egenskapen "ENABLE_EXPORTS" anvÀnds, skapas förutom körbar fil, Àven en importfil för lÀnkaren som sparas med filÀndelsen ".imp". I plugins som skapas med anropet "add_library()" med alternativet "MODULE", kan denna fil anvÀndas vid lÀnkning med kommandot "target_link_libraries()". Runtime-lÀnkning i AIX Àr som standard inaktiverat, eftersom CMake nu tillhandahÄller all nödvÀndig information om symboler för lÀnkning vid inlÀsning. För att anvÀnda runtime-lÀnkning av dynamiska bibliotek eller laddade moduler mÄste alternativen "-Wl,-G" anges i listorna över lÀnkars flaggor som definieras genom variablerna "CMAKE_SHARED_LINKER_FLAGS" och "CMAKE_MODULE_LINKER_FLAGS".
KĂ€lla: opennet.ru
