Ăsht prezantuar versioni i ri i gjeneratorit tĂ« skenarĂ«ve tĂ« ndĂ«rtimit CMake 4.0.0, qĂ« vepron si njĂ« alternativĂ« ndaj Autotools dhe pĂ«rdoret nĂ« projekte si KDE, LLVM/Clang, MySQL, MariaDB, ReactOS dhe Blender. Kodi CMake Ă«shtĂ« shkruar nĂ« C++ dhe shpĂ«rndahet nĂ«n licencĂ«n BSD.
CMake është i njohur për ofrimin e një gjuhe skenarësh të thjeshtë, mjeteve për zgjerimin e funksionalitetit përmes moduleve, mbështetjen e keqeverisjes, veglat për ndërkompilimin, mbështetje për gjenerimin e skedave të ndërtimit për një gamë të gjerë sistemesh ndërtimi dhe kompjutorësh, si dhe veglat ctest dhe cpack për të përcaktuar skenarët e testimit dhe ndërtimit të paketave, si dhe vegla cmake-gui për konfigurimin interaktiv të parametrave të ndërtimit.
Ndryshimet kryesore:
- Ka pushuar mbĂ«shtetja pĂ«r versionet CMake pĂ«rparaććžæ„æ 3.5. NĂ« lidhje me versionet qĂ« nuk mbĂ«shteten nĂ« funksionet cmake_minimum_required() dhe cmake_policy() tani do tĂ« jepet njĂ« gabim.
- ĂshtĂ« shtuar variabli i mjedisit "CMAKE_POLICY_VERSION_MINIMUM" pĂ«r tĂ« anuluar versionin minimal tĂ« CMake, funksionaliteti i tĂ« cilit Ă«shtĂ« i nevojshĂ«m pĂ«r ndĂ«rtimin e projektit. Variabli i shtuar lejon qĂ« tĂ« shmangen ndryshimet nĂ« thirrjet cmake_minimum_required(VERSION) dhe cmake_policy(VERSION) brenda projektit, pĂ«r shembull, pĂ«r tĂ« konfiguruar politikĂ«n e versioneve nĂ« projekte qĂ« nuk e parashikojnĂ« kĂ«tĂ« mundĂ«si.
- Në shprehjen e gjeneratorit "$" është shtuar operacioni "NATIVE_PATH" për të konvertuar rrugën e skedarit nga perspektiva CMake (ku për ndarjen e katalogëve gjithmonë përdoret "/"), në rrugën sistemike (në sisteme Unix-like përdoret "/", ndërsa në Windows "\\").
- Në platformën macOS, kur përdoren gjeneratorë skenari ndërtimi të bazuar në mjetin Ninja dhe gjeneratorët Makefile, nëse në katalogun "/usr/bin" ka një kompilator, ai tani lëshohet siç është, pa u lidhur me kompilatorin në Xcode. Gjatë ndërtimit për platformën macOS, ka pushuar zgjedhja e SDK dhe kalimi i flamurit "-isysroot" në kompilator (tani kompileri e zgjedh vetë SDK-në, jo CMake).
- ĂshtĂ« shtuar pronĂ«sia LINK_WARNING_AS_ERROR, ku paralajmĂ«rimet e lidhĂ«sit do tĂ« interpretohen si gabime. PĂ«r tĂ« çaktivizuar veprimin e kĂ«saj prone Ă«shtĂ« shtuar njĂ« opsion i linjĂ«s sĂ« komandave "âlink-no-warning-as-error".
- NĂ« utilitarin cmake Ă«shtĂ« shtuar opsioni "âproject-file" pĂ«r tĂ« caktuar njĂ« emĂ«r alternativ pĂ«r skedarin CMakeLists.txt.
- Në gjeneratorin CPack është shtuar mundësia e krijimit të arkivave tar të pa kompresuar.
- Në komandën target_link_libraries() dhe variablat CMAKE_EXE_LINKER_FLAGS*, CMAKE_SHARED_LINKER_FLAGS*, CMAKE_MODULE_LINKER_FLAGS* është shtuar mbështetje për prefixin "LINKER:".
- Janë shtuar variabla të reja:
- 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.
- Janë shtuar prona të reja: DEBUGGER_WORKING_DIRECTORY dhe VS_SOLUTION_ITEMS (për të lidhur skedarët në .sln për Visual Studio).
- Janë siguruar ndërtimet e gatshme CMake për SunOS për arkitekturën sparc64 dhe x86_64.
Burimi: opennet.ru
