Predstavljena je izdaja večplatformskega odprtokodnega generatorja skriptov za gradnjo CMake 4.0.0. Deluje kot alternativa Autotools in se uporablja v projektih, kot so KDE, LLVM/Clang, MySQL, MariaDB, ReactOS in Blender. Koda CMake je napisana v C++ in se distribuira pod licenco BSD.
CMake je znan po zagotavljanju preprostega skriptnega jezika, orodjih za razširitev funkcionalnosti prek modulov, podpori za predpomnjenje, prisotnosti orodij za navzkrižno prevajanje, podpori za generiranje gradbenih datotek za široko paleto gradbenih sistemov in prevajalnikov, prisotnosti ctest in cpack pripomočki za definiranje testnih skriptov in gradnjo paketov ter pripomoček cmake -gui za interaktivno konfiguracijo gradbenih parametrov.
Večje spremembe:
- Združljivost z različicami CMake pred 3.5 je bila prekinjena. Pri povezovanju z nepodprtimi različicami bosta cmake_minimum_required() in cmake_policy() zdaj vrgla napako.
- Dodana spremenljivka okolja »CMAKE_POLICY_VERSION_MINIMUM« za preglasitev najmanjše različice CMake, katere funkcionalnost je potrebna za izdelavo projekta. Dodana spremenljivka vam omogoča, da brez spreminjanja klicev cmake_minimum_required(VERSION) in cmake_policy(VERSION) v samem projektu na primer konfigurirate politiko različice v projektih, ki ne zagotavljajo takšne funkcije.
- V izrazu generatorja "$ "dodala je operacijo »NATIVE_PATH« za pretvorbo poti datoteke iz predstavitve CMake (ki vedno uporablja »/« za ločevanje imenikov) v sistemsko pot (sistemi, podobni Unixu, uporabljajo »/« in Windows — «\»).
- Na platformi macOS Pri uporabi generatorjev skriptov za gradnjo in generatorjev Makefile, ki temeljijo na Ninji, če je prevajalnik prisoten v imeniku /usr/bin, ostane takšen, kot je, brez povezave s prevajalnikom v Xcode. Pri gradnji za platformo macOS Privzeto vedenje izbire SDK-ja in posredovanja zastavice »-isysroot« prevajalniku je bilo ukinjeno (SDK zdaj izbere sam prevajalnik, ne CMake).
- Dodana lastnost LINK_WARNING_AS_ERROR, zaradi katere bodo opozorila povezovalca obravnavana kot napake. Če želite onemogočiti učinek te lastnosti, je bila dodana možnost ukazne vrstice "--link-no-warning-as-error".
- Pripomoček cmake ima možnost "--project-file" za podajanje alternativnega imena za datoteko CMakeLists.txt.
- Generator CPack ima zdaj možnost ustvarjanja nestisnjenih arhivov tar.
- Ukaz target_link_libraries() in spremenljivke CMAKE_EXE_LINKER_FLAGS*, CMAKE_SHARED_LINKER_FLAGS*, CMAKE_MODULE_LINKER_FLAGS* so bili posodobljeni tako, da podpirajo predpono »LINKER:«.
- Dodane nove spremenljivke:
- CMAKE_EXECUTE_PROCESS_COMMAND_ERROR_IS_FATAL,
- CMAKE_ _LINK_MODE,
- CMAKE_ _DEVICE_LINK_MODE,
- CMAKE_LINK_WARNING_AS_ERROR,
- CMAKE_MSVC_RUNTIME_CHECKS,
- CMAKE_DEBUGGER_WORKING_DIRECTORY,
- CMAKE_XCODE_SCHEME_LLDB_INIT_FILE,
- CMAKE_XCODE_SCHEME_TEST_CONFIGURATION.
- Dodane nove lastnosti: DEBUGGER_WORKING_DIRECTORY in VS_SOLUTION_ITEMS (za pripenjanje datotek v .sln za Visual Studio).
- Na voljo je generiranje že pripravljenih sklopov CMake za SunOS za arhitekturi sparc64 in x86_64.
Vir: opennet.ru
