udgivelsen af den tværplatforms åbne build-script generator , der fungerer som et alternativ til Autotools og anvendes i projekter som KDE, LLVM/Clang, MySQL, MariaDB, ReactOS og Blender. CMake-koden er skrevet i C++ og distribueres under BSD-licensen.
CMake er bemærkelsesværdigt for at tilbyde et simpelt script-sprog, udvidelsesmuligheder gennem moduler, et minimum af afhængigheder (ingen binding til M4, Perl eller Python), support for caching, tilgængelighed af værktøjer til tværkompilering, samt generering af build-filer for en bred vifte af build-systemer og compiler, plus værktøjerne ctest og cpack til test-script og pakkeopbygning, samt cmake-gui til interaktiv konfiguration af byggeparametre.
Vigtige :
- Der er tilføjet grundlæggende støtte til sprog , udviklet af Apple;
- Der er tilføjet support for Clang-compiler varianten til Windows, som bygger med ABI MSVC, men bruger GNU-stil kommandolinjeindstillinger;
- CMAKE_MSVC_RUNTIME_LIBRARY og MSVC_RUNTIME_LIBRARY variabler er tilføjet til valg af runtime-biblioteker, der anvendes af compilers baseret på ABI MSVC (MS Visual Studio);
- For compilers som MSVC er det i CMAKE__FLAGS som standard stoppet med at inkludere flags til kontrol af output af advarsler, såsom ' /W3';
- Der er tilføjet generator-udtrykket 'COMPILE_LANG_AND_ID:' for at bestemme compiler indstillingerne for mål-filer, som anvender variablerne CMAKE__COMPILER_ID og LANGUAGE for hver kodedækkende fil;
- I generator-udtrykkene C_COMPILER_ID, CXX_COMPILER_ID,
CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE,
COMPILE_LANG_AND_ID og PLATFORM_ID er der tilføjet støtte til at matche en enkelt værdi med en liste, hvor elementerne er adskilt af komma; - Der er tilføjet variablen CMAKE_FIND_PACKAGE_PREFER_CONFIG, hvorved kaldet til find_package() primært vil søge efter pakke-konfigurationsfilen, selvom en søgemodul er tilgængelig;
- For interface-biblioteker er der tilføjet støtte til at angive ejendomme PUBLIC_HEADER og PRIVATE_HEADER, som kan installeres ved hjælp af kommandoen install(TARGETS) ved at overføre argumenterne PUBLIC_HEADER og PRIVATE_HEADER;
- Tilføjet variabelen CMAKE_VS_JUST_MY_CODE_DEBUGGING og målens egenskab VS_JUST_MY_CODE_DEBUGGING for at aktivere 'Just My Code'-tilstanden i Visual Studio-debugger ved kompilering med MSVC cl 19.05 og nyere versioner;
- Modulet FindBoost er blevet redesignede, så det nu fungerer mere sammenhængende i Config- og Module-tilstande, når der er andre søgmoduler til stede;
- Under kommandoen message() er der tilføjet understøttelse af typerne NOTICE, VERBOSE,
DEBUG og TRACE; - Kommandoen 'export(PACKAGE)' udfører nu intet, før den eksplicit aktiveres via variablen CMAKE_EXPORT_PACKAGE_REGISTRY.
Kilde: opennet.ru
