แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™แž”แŸ’แžšแž–แŸแž“แŸ’แž’แžŸแŸ’แžแžถแž”แž“แžถ CMake 3.15

แž”แžถแž“แž€แžพแžแžกแžพแž„ แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž”แž„แŸ’แž€แžพแžแžŸแŸ’แž‚แŸ’แžšแžธแž”แž”แŸ’แžšแž—แž–แž”แžพแž€แž…แŸ†แž แž†แŸ’แž›แž„แžœแŸแž‘แžทแž€แžถ CMake แŸฃ.แŸกแŸงแžŠแŸ‚แž›แžŠแžพแžšแžแžฝแž‡แžถแž‡แž˜แŸ’แžšแžพแžŸแž˜แžฝแž™แžŸแž˜แŸ’แžšแžถแž”แŸ‹ Autotools แž“แžทแž„แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ’แžšแžพแž“แŸ…แž€แŸ’แž“แžปแž„แž‚แž˜แŸ’แžšแŸ„แž„แžŠแžผแž…แž‡แžถ KDE, LLVM/Clang, MySQL, MariaDB, ReactOS แž“แžทแž„ Blender แŸ” แž€แžผแžŠ CMake แžแŸ’แžšแžผแžœแž”แžถแž“แžŸแžšแžŸแŸแžšแž‡แžถ C ++ แž“แžทแž„แž…แŸ‚แž€แž…แžถแž™แž€แŸ’แžšแŸ„แž˜แžขแžถแž‡แŸ’แž‰แžถแž”แŸแžŽแŸ’แžŽ BSD แŸ”

CMake แž‚แžบแž‚แžฝแžšแžฑแŸ’แž™แž€แžแŸ‹แžŸแž˜แŸ’แž‚แžถแž›แŸ‹แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž•แŸ’แžแž›แŸ‹แž“แžผแžœแž—แžถแžŸแžถแžŸแŸ’แž‚แŸ’แžšแžธแž”แžŸแžถแž˜แž‰แŸ’แž‰ แž˜แž’แŸ’แž™แŸ„แž”แžถแž™แž“แŸƒแž€แžถแžšแž–แž„แŸ’แžšแžธแž€แž˜แžปแžแž„แžถแžšแžแžถแž˜แžšแž™แŸˆแž˜แŸ‰แžผแžŒแžปแž› แž…แŸ†แž“แžฝแž“แžขแž”แŸ’แž”แž”แžšแž˜แžถแž“แŸƒแž—แžถแž–แžขแžถแžŸแŸ’แžšแŸแž™ (แž‚แŸ’แž˜แžถแž“แž€แžถแžšแž—แŸ’แž‡แžถแž”แŸ‹แž‡แžถแž˜แžฝแž™ M4, Perl แžฌ Python) แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžƒแŸ’แž›แžถแŸ†แž„แžŸแž˜แŸ’แž„แžถแžแŸ‹ แžงแž”แž€แžšแžŽแŸแž…แž„แž€แŸ’แžšแž„แž†แŸ’แž›แž„แž€แžถแžแŸ‹ แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž”แž„แŸ’แž€แžพแžแžฏแž€แžŸแžถแžšแžŸแŸ’แžแžถแž”แž“แžถแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž‡แžฝแžšแžŠแŸแž’แŸ†แž‘แžผแž›แžถแž™แž˜แžฝแž™แŸ” แž“แŸƒแž”แŸ’แžšแž–แŸแž“แŸ’แž’แžŸแŸ’แžแžถแž”แž“แžถ แž“แžทแž„แžขแŸ’แž“แž€แž…แž„แž€แŸ’แžšแž„ แžงแž”แž€แžšแžŽแŸแž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹ ctest แžœแžแŸ’แžแž˜แžถแž“ แž“แžทแž„ cpack แžŠแžพแž˜แŸ’แž”แžธแž€แŸ†แžŽแžแŸ‹แžŸแŸ’แž‚แŸ’แžšแžธแž”แžŸแžถแž€แž›แŸ’แž”แž„ แž“แžทแž„แž€แžถแžšแž”แž„แŸ’แž€แžพแžแž€แž‰แŸ’แž…แž”แŸ‹ แžงแž”แž€แžšแžŽแŸแž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹ cmake-gui แžŠแžพแž˜แŸ’แž”แžธแž€แŸ†แžŽแžแŸ‹แžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’แž‡แž˜แŸ’แžšแžพแžŸแžŸแŸ’แžแžถแž”แž“แžถแžขแž“แŸ’แžแžšแž€แž˜แŸ’แž˜แŸ”

แžŸแŸ†แžแžถแž“แŸ‹ แž€แžถแžšแž€แŸ‚แž›แž˜แŸ’แžข:

  • แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแž—แžถแžŸแžถแžŠแŸ†แž”แžผแž„แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž‘แŸ…แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž”แž„แŸ’แž€แžพแžแžŸแŸ’แž‚แŸ’แžšแžธแž”แžŠแŸ‚แž›แž˜แžถแž“แž˜แžผแž›แžŠแŸ’แž‹แžถแž“แž›แžพ Ninja Swift แž”แžถแž“แž”แž„แŸ’แž€แžพแžแžกแžพแž„แžŠแŸ„แž™ Apple;
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แžœแŸ‰แžถแžšแŸ’แž™แŸ‰แž„แŸ‹แž“แŸƒแž€แž˜แŸ’แž˜แžœแžทแž’แžธแž…แž„แž€แŸ’แžšแž„ 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 แžŠแŸ‚แž›แž”แž‹แž˜แž€แžแžถแžขแžถแž…แžแŸ’แžšแžผแžœแž”แžถแž“แž€แŸ†แžŽแžแŸ‹แžŠแŸ„แž™แž”แŸ’แžšแžพแž–แžถแž€แŸ’แž™แž”แž‰แŸ’แž‡แžถแžŠแŸ†แžกแžพแž„ (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 แžแŸ’แžšแžผแžœโ€‹แž”แžถแž“โ€‹แžšแž…แž“แžถโ€‹แžกแžพแž„โ€‹แžœแžทแž‰ แžŠแŸ‚แž›โ€‹แžฅแžกแžผแžœโ€‹แž“แŸแŸ‡โ€‹แž’แŸ’แžœแžพโ€‹แž€แžถแžšโ€‹แž€แžถแž“แŸ‹โ€‹แžแŸ‚โ€‹แž‘แžผแž›แŸ†แž‘แžผแž›แžถแž™โ€‹แž€แŸ’แž“แžปแž„โ€‹แžšแž”แŸ€แž”โ€‹แž€แŸ†แžŽแžแŸ‹โ€‹แžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’ แž“แžทแž„โ€‹แž˜แŸ‰แžผแžŒแžปแž›โ€‹แž“แŸ…โ€‹แž€แŸ’แž“แžปแž„โ€‹แžœแžแŸ’แžแž˜แžถแž“โ€‹แž“แŸƒโ€‹แž˜แŸ‰แžผแžŒแžปแž›โ€‹แžŸแŸ’แžœแŸ‚แž„แžšแž€โ€‹แž•แŸ’แžŸแŸแž„โ€‹แž‘แŸ€แžแŸ”
  • แž–แžถแž€แŸ’แž™แž”แž‰แŸ’แž‡แžถแžŸแžถแžš () แžฅแžกแžผแžœแž“แŸแŸ‡แž‚แžถแŸ†แž‘แŸ’แžšแž”แŸ’แžšแž—แŸแž‘ Notice, VERBOSE,
    DEBUG แž“แžทแž„ TRACE;

  • แž–แžถแž€แŸ’แž™แž”แž‰แŸ’แž‡แžถ "แž“แžถแŸ†แž…แŸแž‰(PACKAGE)" แžฅแžกแžผแžœแž“แŸแŸ‡แž˜แžทแž“แž’แŸ’แžœแžพแžขแŸ’แžœแžธแž‘แŸ แž›แžปแŸ‡แžแŸ’แžšแžถแžแŸ‚แž”แžพแž€แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž™แŸ‰แžถแž„แž…แŸ’แž”แžถแžŸแŸ‹แžแžถแž˜แžšแž™แŸˆแžขแžแŸแžš CMAKE_EXPORT_PACKAGE_REGISTRY แŸ”

แž”แŸ’แžšแž—แž–: opennet.ru

แž”แž“แŸ’แžแŸ‚แž˜แž˜แžแžทแž™แŸ„แž”แž›แŸ‹