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 :
- En ny generator för bygg-skript baserad pĂ„ Ninja-verktygen har lagts till â "Ninja Multi-Config", som skiljer sig frĂ„n den gamla generatorn genom att hantera flera byggkonfigurationer samtidigt.
- I bygg-skriptgeneratorn för Visual Studio möjlighet att definiera filer med kÀllkod kopplade till varje konfiguration (per-config sources).
- I verktygen för att konfigurera kompilatorinstÀllningar (Compile Features) har möjlighet lagts till att specificera meta-parametrar för CUDA ("cuda_std_03", "cuda_std_14" etc.).
- Nya variabler "CMAKE_CUDA_RUNTIME_LIBRARY" och "CUDA_RUNTIME_LIBRARY" har lagts till för att vÀlja typ av runtime-bibliotek vid anvÀndning av CUDA.
- Modulen "FindCUDAToolkit" har lagts till för att identifiera tillgÀngligt CUDA-verktyg utan att inkludera CUDA-sprÄket.
- I cmake-verktyget har kommandot "âdebug-find" lagts till för att ge ytterligare lĂ€sbar diagnostik vid sökoperationer. För samma syfte har variabeln CMAKE_FIND_DEBUG_MODE lagts till.
- I modulen "FindCURL" har stöd lagts till för att söka efter CURL-verktyg med hjÀlp av de genererade cmake-konfigurationsfilerna "CURLConfig.cmake". För att inaktivera detta beteende har variabeln CURL_NO_CURL_CMAKE lagts till.
- I modulen FindPython har möjligheten lagts till att söka efter Python-komponenter i virtuella miljöer hanterade med "conda".
- I ctest-verktyget har alternativ lagts till för "âno-tests=[error|ignore]" för att bestĂ€mma beteendet om tester saknas, och "ârepeat" för att ange villkor för omstart av tester (until-pass, after-timeout).
- Ăverföringen av egenskaperna för byggmĂ„l INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES och INTERFACE_LINK_DEPENDS har sĂ€kerstĂ€llts bland interna beroenden av statiskt lĂ€nkade bibliotek.
- NÀr MinGW-verktygslÄdan anvÀnds Àr sökningen efter DLL-filer som standard avstÀngd med kommandot find_library (i stÀllet görs det en standardförsök att importera biblioteken «.dll.a»).
- Logiken för att vĂ€lja verktyget ninja i Ninja-generatorn beror nu inte lĂ€ngre pĂ„ namnet pĂ„ exekveringsfilen â den första hittade verktyget ninja-build, ninja eller samu som finns i vĂ€garna som definieras genom miljövariabeln PATH anvĂ€nds.
- CMake-verktyget har fÄtt kommandot «-E rm», som kan anvÀndas för att ta bort filer och kataloger istÀllet för de separata kommandona «-E remove» och «-E remove_directory».
KĂ€lla: opennet.ru
