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

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

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

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

  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹ Objective C ("OBJC") แž“แžทแž„แž—แžถแžŸแžถแž‚แŸ„แž›แž”แŸ†แžŽแž„
    C++ ("OBJCXX") แžŠแŸ‚แž›แžขแžถแž…แžแŸ’แžšแžผแžœแž”แžถแž“แž”แžพแž€แžแžถแž˜แžšแž™แŸˆแž–แžถแž€แŸ’แž™แž”แž‰แŸ’แž‡แžถ project() แž“แžทแž„ enable_language() แž”แž“แŸ’แž‘แžถแž”แŸ‹แž˜แž€แž€แžผแžŠแž“แŸ…แž€แŸ’แž“แžปแž„แžฏแž€แžŸแžถแžš ".m" ".mm" แž“แžนแž„แžแŸ’แžšแžผแžœแž”แžถแž“แž…แž„แž€แŸ’แžšแž„แž‡แžถแž€แžผแžŠแž“แŸ…แž€แŸ’แž“แžปแž„ Objective C แž“แžทแž„ Objective C++ แž แžพแž™แž˜แžทแž“แž˜แŸ‚แž“ แž‡แžถแž€แžผแžŠแž“แŸ…แž€แŸ’แž“แžปแž„ C ++ แžŠแžผแž…แžŠแŸ‚แž›แžœแžถแž’แŸ’แž›แžถแž”แŸ‹แž˜แžถแž“แŸ”

  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž…แž„แž€แŸ’แžšแž„ Clang แž“แŸ…แž›แžพแžœแŸแž‘แžทแž€แžถ Solaris;
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž‡แž˜แŸ’แžšแžพแžŸแž”แž“แŸ’แž‘แžถแžแŸ‹แž–แžถแž€แŸ’แž™แž”แž‰แŸ’แž‡แžถแžแŸ’แž˜แžธแŸ– "cmake -E true|false" แžŠแžพแž˜แŸ’แž”แžธแž”แž„แŸ’แž แžถแž‰แž›แŸแžแž€แžผแžŠแžแŸ’แžšแžกแž”แŸ‹ 0 แž“แžทแž„ 1; "cmake --trace-redirect=" แžŠแžพแž˜แŸ’แž”แžธแž”แž‰แŸ’แž‡แžผแž“แž–แŸแžแŸŒแž˜แžถแž“แžŠแžถแž“แž‘แŸ…แž€แžถแž“แŸ‹แžฏแž€แžŸแžถแžšแž‡แŸ†แž“แžฝแžŸแžฑแŸ’แž™
    "stderr"; แž–แžถแž€แŸ’แž™แž”แž‰แŸ’แž‡แžถ "cmake --loglevel" แž”แžถแž“แž”แŸ’แžแžผแžšแžˆแŸ’แž˜แŸ„แŸ‡แž‘แŸ…แž‡แžถ "-log-level" แžŠแžพแž˜แŸ’แž”แžธแžแž˜แŸ’แžšแžนแž˜แž‡แžถแž˜แžฝแž™แžˆแŸ’แž˜แŸ„แŸ‡แž“แŸƒแž–แžถแž€แŸ’แž™แž”แž‰แŸ’แž‡แžถแž•แŸ’แžŸแŸแž„แž‘แŸ€แž;

  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž–แžถแž€แŸ’แž™แž”แž‰แŸ’แž‡แžถ "target_precompile_headers()" แžŠแžพแž˜แŸ’แž”แžธแžšแžถแž”แŸ‹แž”แž‰แŸ’แž…แžผแž›แž”แž‰แŸ’แž‡แžธแžฏแž€แžŸแžถแžšแž”แž‹แž˜แž€แžแžถแžŠแŸ‚แž›แž”แžถแž“แž”แŸ’แžšแžพแž€แŸ’แž“แžปแž„แž€แžถแžšแž…แž„แž€แŸ’แžšแž„แž‡แžถแž˜แžปแž“ (แž€แžถแžแŸ‹แž”แž“แŸ’แžแž™แž–แŸแž›แžœแŸแž›แžถแžŸแžถแž„แžŸแž„แŸ‹);
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž›แž€แŸ’แžแžŽแžŸแž˜แŸ’แž”แžแŸ’แžแžท "UNITY_BUILD" แžŠแŸ‚แž›แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžšแž”แŸ€แž”แž”แžถแž…แŸ‹แžŸแž˜แŸ’แžšแžถแž”แŸ‹แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžฏแž€แžŸแžถแžšแž”แŸ’แžšแž—แž–แž“แŸ…แž€แŸ’แž“แžปแž„แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž—แŸ’แž›แžพแž„ แžŠแžพแž˜แŸ’แž”แžธแž”แž„แŸ’แž€แžพแž“แž›แŸ’แž”แžฟแž“แž“แŸƒแž€แžถแžšแž”แž„แŸ’แž€แžพแžแŸ”
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž–แžถแž€แŸ’แž™แž”แž‰แŸ’แž‡แžถ "find_file()", "find_library()", "find_path()",
    "find_package()" แž“แžทแž„ "find_program()" แžŠแžพแž˜แŸ’แž”แžธแžŸแŸ’แžœแŸ‚แž„แžšแž€แžฏแž€แžŸแžถแžš แž”แžŽแŸ’แžŽแžถแž›แŸแž™ แž•แŸ’แž›แžผแžœ แž€แž‰แŸ’แž…แž”แŸ‹ แž“แžทแž„แžขแžถแž…แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž”แžถแž“แžŠแŸ„แž™แž™แŸ„แž„แžแžถแž˜แžขแžแŸแžšแžŠแŸ‚แž›แž€แŸ†แžŽแžแŸ‹แž•แŸ’แž›แžผแžœแžŸแŸ’แžœแŸ‚แž„แžšแž€แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž”แŸ’แžšแž—แŸแž‘แž•แŸ’แžŸแŸแž„แŸ—แž“แŸƒแžฏแž€แžŸแžถแžšแŸ”
    แžขแžแŸแžš "CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH", "CMAKE_FIND_USE_CMAKE_PATH", "CMAKE_FIND_USE_CMAKE_SYSTEM_PATH", "CMAKE_FIND_USE_PACKAGE_ROOT_PATH", "CMAKE_FIND_USE_CMAKE_SYSTEM_PATH", "CMAKE_FIND_USE_PACKAGE_ROOT_PATH", "CMAKE_FINCENT_FINCENT_VIND" "แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ’แžšแžพแžŠแžพแž˜แŸ’แž”แžธแž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แž•แŸ’แž›แžผแžœแž˜แžผแž›แžŠแŸ’แž‹แžถแž“แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแžŸแŸ’แžœแŸ‚แž„แžšแž€แŸ” _USE_PACKAGE_REGISTRY";

  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แžšแž”แŸ€แž” "file(GET_RUNTIME_DEPENDENCIES)" แž‘แŸ…แž–แžถแž€แŸ’แž™แž”แž‰แŸ’แž‡แžถ "file()" แžŠแŸ‚แž›แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แžขแŸ’แž“แž€แž‘แžถแž‰แž™แž€แž”แž‰แŸ’แž‡แžธแž”แžŽแŸ’แžŽแžถแž›แŸแž™แžŠแŸ‚แž›แž–แžถแž€แŸ‹แž–แŸแž“แŸ’แž’แž€แŸ’แž“แžปแž„แž€แžถแžšแž—แŸ’แž‡แžถแž”แŸ‹แžฏแž€แžŸแžถแžš แžฌแž”แžŽแŸ’แžŽแžถแž›แŸแž™แžŠแŸ‚แž›แžขแžถแž…แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž”แžถแž“แžกแžพแž„แžœแžทแž‰แŸ” แžšแž”แŸ€แž”แž“แŸแŸ‡แž”แžถแž“แž‡แŸ†แž“แžฝแžŸแž–แžถแž€แŸ’แž™แž”แž‰แŸ’แž‡แžถ GetPrerequisites() แžŠแŸ‚แž›แžฅแžกแžผแžœแž“แŸแŸ‡แžแŸ’แžšแžผแžœแž”แžถแž“แž”แžŠแžทแžŸแŸแž’แŸ”
  • แž–แžถแž€แŸ’แž™แž”แž‰แŸ’แž‡แžถ "ctest(1)" แžขแž“แžปแžœแžแŸ’แžแžŸแž˜แžแŸ’แžแž—แžถแž–แž€แŸ’แž“แžปแž„แž€แžถแžšแž’แŸ’แžœแžพแžแŸแžŸแŸ’แžŠแžŸแŸ€แžšแŸ€แž›แžŠแŸ„แž™แž•แŸ’แžขแŸ‚แž€แž›แžพแž’แž“แž’แžถแž“แžŠแŸ‚แž›แžแŸ’แžšแžผแžœแž€แžถแžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž’แŸ’แžœแžพแžแŸแžŸแŸ’แžแž“แžธแž˜แžฝแž™แŸ—แŸ”
  • แžขแžแŸแžš "CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY" แžแŸ’แžšแžผแžœแž”แžถแž“แž”แžŠแžทแžŸแŸแž’ แž แžพแž™ "CMAKE_FIND_USE_PACKAGE_REGISTRY" แž‚แžฝแžšแžแŸ‚แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ’แžšแžพแž‡แŸ†แž“แžฝแžŸแžœแžทแž‰แŸ”
  • แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแž”แŸ’แžšแžŸแžพแžšแžกแžพแž„แžŸแž˜แŸ’แžšแžถแž”แŸ‹แžœแŸแž‘แžทแž€แžถ AIX แŸ” แž“แŸ…แž–แŸแž›แž”แŸ’แžšแžพแž›แž€แŸ’แžแžŽแžŸแž˜แŸ’แž”แžแŸ’แžแžท "ENABLE_EXPORTS" แž”แž“แŸ’แžแŸ‚แž˜แž–แžธแž›แžพแžฏแž€แžŸแžถแžšแžŠแŸ‚แž›แžขแžถแž…แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž”แžถแž“ แžฏแž€แžŸแžถแžšแž“แžถแŸ†แž…แžผแž›แžŸแž˜แŸ’แžšแžถแž”แŸ‹ linker แžฅแžกแžผแžœแž“แŸแŸ‡แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž„แŸ’แž€แžพแž แžšแž€แŸ’แžŸแžถแž‘แžปแž€แž‡แžถแž˜แžฝแž™แž•แŸ’แž“แŸ‚แž€แž”แž“แŸ’แžแŸ‚แž˜ ".imp" แŸ” แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž‡แŸ†แž“แžฝแž™แžŠแŸ‚แž›แž”แžถแž“แž”แž„แŸ’แž€แžพแžแžŠแŸ„แž™แž€แžถแžšแž แŸ… "add_library()" แž‡แžถแž˜แžฝแž™แž“แžนแž„แž‡แž˜แŸ’แžšแžพแžŸ "MODULE" แžขแžถแž…แž”แŸ’แžšแžพแžฏแž€แžŸแžถแžšแž“แŸแŸ‡แž“แŸ…แž–แŸแž›แž—แŸ’แž‡แžถแž”แŸ‹แžŠแŸ„แž™แž”แŸ’แžšแžพแž–แžถแž€แŸ’แž™แž”แž‰แŸ’แž‡แžถ "target_link_libraries()" แŸ” แž€แžถแžšแž—แŸ’แž‡แžถแž”แŸ‹แž–แŸแž›แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž“แŸ…แž›แžพ AIX แžแŸ’แžšแžผแžœแž”แžถแž“แž”แžทแž‘แžแžถแž˜แž›แŸ†แž“แžถแŸ†แžŠแžพแž˜ แž–แžธแž–แŸ’แžšแŸ„แŸ‡แžฅแžกแžผแžœแž“แŸแŸ‡ CMake แž•แŸ’แžแž›แŸ‹แž–แŸแžแŸŒแž˜แžถแž“แž“แžทแž˜แžทแžแŸ’แžแžŸแž‰แŸ’แž‰แžถแž…แžถแŸ†แž”แžถแž…แŸ‹แž‘แžถแŸ†แž„แžขแžŸแŸ‹แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž—แŸ’แž‡แžถแž”แŸ‹แž“แŸ…แž–แŸแž›แž…แžถแž”แŸ‹แž•แŸ’แžŠแžพแž˜แŸ” แžŠแžพแž˜แŸ’แž”แžธแž”แŸ’แžšแžพแž€แžถแžšแž—แŸ’แž‡แžถแž”แŸ‹แž–แŸแž›แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž“แŸƒแž”แžŽแŸ’แžŽแžถแž›แŸแž™แžแžถแž˜แžœแž“แŸ’แž แžฌแž˜แŸ‰แžผแžŒแžปแž›แžŠแŸ‚แž›แžขแžถแž…แž•แŸ’แž‘แžปแž€แž”แžถแž“ แžขแŸ’แž“แž€แžแŸ’แžšแžผแžœแžแŸ‚แž”แž‰แŸ’แž‡แžถแž€แŸ‹แž™แŸ‰แžถแž„แž…แŸ’แž”แžถแžŸแŸ‹แž“แžผแžœแž‡แž˜แŸ’แžšแžพแžŸ "-Wl, -G" แž“แŸ…แž€แŸ’แž“แžปแž„แž”แž‰แŸ’แž‡แžธแž“แŸƒแž‘แž„แŸ‹แž…แžถแž”แŸ‹แž•แŸ’แžแžพแž˜แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž—แŸ’แž‡แžถแž”แŸ‹แžŠแŸ‚แž›แž”แžถแž“แž€แŸ†แžŽแžแŸ‹แžแžถแž˜แžšแž™แŸˆแžขแžแŸแžš "CMAKE_SHARED_LINKER_FLAGS" แž“แžทแž„ "CMAKE_MODULE_LINKER_FLAGS" แŸ”

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

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