CMake ืืืื ืืืชื ืฉืคืช ืกืงืจืืคืืื ืคืฉืืื, ืืืฆืขื ืืืจืืืช ืคืื ืงืฆืืื ืืืืช ืืืืฆืขืืช ืืืืืืื, ืืกืคืจ ืืื ืืืื ืฉื ืชืืืช (ืืื ืงืฉืืจื ื-M4, Perl ืื Python), ืชืืืื ืืืืืื, ื ืืืืืช ืฉื ืืืื ืืืืืืจ ืฆืืื, ืชืืืื ืืืฆืืจืช build ืงืืฆืื ืืืืืื ืจืื ืฉื ืืขืจืืืช ืื ืืื ืืืืืจืื, ืืื ืืฉืืจืืช Ctest ืฉื ื ืืืืืช ื-cpack ืืืืืจืช ืกืงืจืืคืืื ืืืืืงื ืืื ืืืช ืืืืืืช, ืืื ืขืืจ cmake-gui ืืืืืจื ืืื ืืจืืงืืืืืช ืฉื ืคืจืืืจื ืื ืืื.
ืืขืืงืจื
- ืชืืืืช ืฉืคื ืจืืฉืื ืืช ื ืืกืคื ืืืืืื script build ืืืืกืก Ninja
ืกืืืืคื , ืฉืคืืชืื ืขื ืืื ืืคื; - ื ืืกืคื ืชืืืื ืืืจืกื ืฉื ืืืืจ Clang ืขืืืจ Windows ืฉื ืื ื ืขื ื-MSVC ABI, ืื ืืฉืชืืฉ ืืืคืฉืจืืืืช ืฉืืจืช ืืคืงืืื ืืกืื ืื GNU;
- ื ืืกืคื ืืฉืชื ืื CMAKE_MSVC_RUNTIME_LIBRARY ื-MSVC_RUNTIME_LIBRARY ืืืืืจืช ืกืคืจืืืช ืืื ืจืืฆื ืืืฉืืฉืืช ืืืืจืื ืืืืืกืกืื ืขื MSVC ABI (MS Visual Studio);
- ืขืืืจ ืืืืจืื ืืื MSVC, CMAKE__FLAGS ืืืจืืจืช ืืืื ืืคืกืืงื ืืจืฉืื ืืืื ืืงืจืช ืืืืจื ืืืื "/W3";
- ื ืืกืฃ ืืืืื ืืืืื "COMPILE_LANG_AND_ID:" ืืื ืืืืืืจ ืืคืฉืจืืืืช ืืืืจ ืขืืืจ ืงืืฆื ืืขื, ืชืื ืฉืืืืฉ ืืืฉืชื ืื CMAKE__COMPILER_ID ื-LANGUAGE ืขืืืจ ืื ืงืืืฅ ืงืื;
- ืืืืืืื ืืืืืื C_COMPILER_ID, CXX_COMPILER_ID,
CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE,
COMPILE_LANG_AND_ID ื-PLATFORM_ID ืืืกืืคื ืชืืืื ืืืชืืืช ืขืจื ืืืื ืืจืฉืืื ืฉืืจืืืืื ืฉืื ืืืคืจืืื ืืคืกืืง; - ื ืืกืฃ ืืฉืชื ื CMAKE_FIND_PACKAGE_PREFER_CONFIG ืื ืฉืงืจืืืช find_package() ืชืืคืฉ ืชืืืื ืืช ืงืืืฅ ืืชืฆืืจื ืฉื ืืืืืื, ืื ืื ืืืชืจ ืืืื;
- ืขืืืจ ืกืคืจืืืช ืืืฉืง, ื ืืกืคื ืชืืืื ืืืืืจืช ืืืืคืืื ืื PUBLIC_HEADER ื-PRIVATE_HEADER, ืฉืืืืฆืขืืชื ื ืืชื ืืืืืืจ ืืืชืจืืช ืืืืฆืขืืช ืืคืงืืื install(TARGETS) ืขื ืืื ืืขืืจืช ืืืจืืืื ืืื PUBLIC_HEADER ื-PRIVATE_HEADER;
- ื ืืกืคื CMAKE_VS_JUST_MY_CODE_DEBUGGING ืืฉืชื ื ืืืืคืืื ืืขื VS_JUST_MY_CODE_DEBUGGING ืืื ืืืคืฉืจ ืืฆื "Just My Code" ืืืคืจืง ืืืืืื ืฉื Visual Studio ืืขืช ืืืืืจ ืืืืฆืขืืช MSVC cl 19.05 ืืืจืกืืืช ืืืฉืืช ืืืชืจ;
- ืืืืื FindBoost ืขืืฆื ืืืืฉ, ืฉืขืืื ืืขืช ืืฆืืจื ืืืืืกืืืช ืืืชืจ ืืืฆืื Config ื-Module ืื ืืืืืช ืืืืืื ืืืคืืฉ ืืืจืื;
- ืืคืงืืื message() ืชืืืืช ืืขืช ืืกืืืื NOTICE, VERBOSE,
DEBUG ื-TRACE; - ืืคืงืืื "export(PACKAGE)" ืืื ื ืขืืฉื ืืืจ, ืืื ืื ืืืคืขืืช ืืืคืืจืฉ ืืืืฆืขืืช ืืืฉืชื ื CMAKE_EXPORT_PACKAGE_REGISTRY.
ืืงืืจ: OpenNet.ru