เชธเซ€เชฎเซ‡เช• 3.16 เชฌเชฟเชฒเซเชก เชธเชฟเชธเซเชŸเชฎเชจเซเช‚ เชชเซเชฐเช•เชพเชถเชจ

เชฆเซเชฐเชพเชฐเชพ เชฐเชœเซ เช•เชฐเซ‡เชฒ เช•เซเชฐเซ‹เชธ-เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เช“เชชเชจ เชฌเชฟเชฒเซเชก เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชœเชจเชฐเซ‡เชŸเชฐเชจเซเช‚ เชชเซเชฐเช•เชพเชถเชจ เชธเซ€เชเชฎเช•เซ‡ 3.16, เชœเซ‡ เช“เชŸเซ‹เชŸเซ‚เชฒเซเชธเชจเชพ เชตเชฟเช•เชฒเซเชช เชคเชฐเซ€เช•เซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ KDE, LLVM/Clang, MySQL, MariaDB, ReactOS เช…เชจเซ‡ เชฌเซเชฒเซ‡เชจเซเชกเชฐ เชœเซ‡เชตเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธเชฎเชพเช‚ เชตเชชเชฐเชพเชฏ เช›เซ‡. CMake เช•เซ‹เชก C++ เชฎเชพเช‚ เชฒเช–เชพเชฏเซ‡เชฒ เช›เซ‡ เช…เชจเซ‡ BSD เชฒเชพเชฏเชธเชจเซเชธ เชนเซ‡เช เชณ เชตเชฟเชคเชฐเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

CMake เชเช• เชธเชฐเชณ เชธเซเช•เซเชฐเชฟเชชเซเชŸเซ€เช‚เช— เชญเชพเชทเชพ, เชฎเซ‹เชกเซเชฏเซเชฒเซ‹ เชฆเซเชตเชพเชฐเชพ เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพ เชตเชฟเชธเซเชคเชพเชฐเชตเชพเชจเซเช‚ เชธเชพเชงเชจ, เชจเชฟเชฐเซเชญเชฐเชคเชพเชจเซ€ เชจเซเชฏเซ‚เชจเชคเชฎ เชธเช‚เช–เซเชฏเชพ (M4, Perl เช…เชฅเชตเชพ Python เชธเชพเชฅเซ‡ เชฌเช‚เชงเชจเช•เชฐเซเชคเชพ เชจเชฅเซ€), เช•เซ‡เชถเซ€เช‚เช— เชธเชชเซ‹เชฐเซเชŸ, เช•เซเชฐเซ‹เชธ-เช•เชฎเซเชชเชพเชˆเชฒเซ‡เชถเชจ เชฎเชพเชŸเซ‡ เชŸเซ‚เชฒเซเชธเชจเซ€ เชนเชพเชœเชฐเซ€, เชฌเชฟเชฒเซเชก เชœเชจเชฐเซ‡เชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช†เชชเชตเชพ เชฎเชพเชŸเซ‡ เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ เช›เซ‡. เชฌเชฟเชฒเซเชก เชธเชฟเชธเซเชŸเชฎเซเชธ เช…เชจเซ‡ เช•เชฎเซเชชเชพเช‡เชฒเชฐเซเชธเชจเซ€ เชตเชฟเชถเชพเชณ เชถเซเชฐเซ‡เชฃเซ€ เชฎเชพเชŸเซ‡เชจเซ€ เชซเชพเช‡เชฒเซ‹, เชชเชฐเซ€เช•เซเชทเชฃ เชธเซเช•เซเชฐเชฟเชชเซเชŸเซ‹ เช…เชจเซ‡ เชฌเชฟเชฒเซเชก เชชเซ‡เช•เซ‡เชœเซ‹ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชนเชพเชœเชฐเซ€ ctest เช…เชจเซ‡ cpack เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเช“, เชฌเชฟเชฒเซเชก เชชเชฐเชฟเชฎเชพเชฃเซ‹เชจเซ‡ เช‡เชจเซเชŸเชฐเซ‡เช•เซเชŸเชฟเชต เชฐเซ€เชคเซ‡ เชธเซ‡เชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ cmake-gui เช‰เชชเชฏเซ‹เช—เชฟเชคเชพ.

เชฎเซเช–เซเชฏ เชธเซเชงเชพเชฐเชพเช“:

  • เช‘เชฌเซเชœเซ‡เช•เซเชŸเชฟเชต C ("OBJC") เช…เชจเซ‡ เช‘เชฌเซเชœเซ‡เช•เซเชŸเชฟเชต เชญเชพเชทเชพเช“ เชฎเชพเชŸเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช‰เชฎเซ‡เชฐเซเชฏเซ‹
    C++ ("OBJCXX"), เชœเซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ() เช…เชจเซ‡ enable_language() เช†เชฆเซ‡เชถเซ‹ เชฆเซเชตเชพเชฐเชพ เชธเช•เซเชทเชฎ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡, เชœเซ‡ เชชเช›เซ€ ".m" ".mm" เชซเชพเชˆเชฒเซ‹เชฎเชพเช‚เชจเซ‹ เช•เซ‹เชก เช‘เชฌเซเชœเซ‡เช•เซเชŸเชฟเชต C เช…เชจเซ‡ เช‘เชฌเซเชœเซ‡เช•เซเชŸเชฟเชต C++ เช•เซ‹เชก เชคเชฐเซ€เช•เซ‡ เช•เชฎเซเชชเชพเชˆเชฒ เชฅเชถเซ‡, เชคเซ‡เชจเชพ เชฌเชฆเชฒเซ‡ C++, เชœเซ‡เชฎ เชคเซ‡ เชชเชนเซ‡เชฒเชพ เชนเชคเซเช‚;

  • เชธเซ‹เชฒเชพเชฐเชฟเชธ เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชชเชฐ เช•เซเชฒเซ‡เช‚เช— เช•เชฎเซเชชเชพเชˆเชฒเชฐ เชฎเชพเชŸเซ‡ เช‰เชฎเซ‡เชฐเชพเชฏเซ‡เชฒ เชธเชชเซ‹เชฐเซเชŸ;
  • เชจเชตเชพ เช†เชฆเซ‡เชถ เชตเชพเช•เซเชฏ เชตเชฟเช•เชฒเซเชชเซ‹ เช‰เชฎเซ‡เชฐเซเชฏเชพ: เชฐเซ€เชŸเชฐเซเชจ เช•เซ‹เชก 0 เช…เชจเซ‡ 1 เช›เชพเชชเชตเชพ เชฎเชพเชŸเซ‡ "cmake -E true|false"; "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_PATH_PATHENCMATH_PATH_MAKE_PATH", " MAKE_FIND_USE_PACKAGE_REGIST"เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฌเซ‡เช เชธเชฐเซเชš เชชเชพเชฅ RY" เชจเซ‡ เชจเชฟเชฏเช‚เชคเซเชฐเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡";

  • "file()" เช†เชฆเซ‡เชถเชฎเชพเช‚ "file(GET_RUNTIME_DEPENDENCIES)" เชฎเซ‹เชก เช‰เชฎเซ‡เชฐเซเชฏเซ‹, เชœเซ‡ เชคเชฎเชจเซ‡ เชเช•เซเชเชฟเช•เซเชฏเซเชŸเซ‡เชฌเชฒ เชซเชพเช‡เชฒ เช…เชฅเชตเชพ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เชจเซ‡ เช—เชคเชฟเชถเซ€เชฒ เชฐเซ€เชคเซ‡ เชฒเชฟเช‚เช• เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชคเซ€ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เช“เชจเซ€ เชธเซ‚เชšเชฟ เชชเซเชจเชƒเชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. เชฎเซ‹เชกเซ‡ GetPrerequisites() เช†เชฆเซ‡เชถเชจเซ‡ เชฌเชฆเชฒเซเชฏเซ‹, เชœเซ‡ เชนเชตเซ‡ เชฆเซ‚เชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡;
  • "ctest(1)" เช†เชฆเซ‡เชถ เชฆเชฐเซ‡เช• เชชเชฐเซ€เช•เซเชทเชฃ เชฎเชพเชŸเซ‡ เชœเชฐเซ‚เชฐเซ€ เชธเช‚เชธเชพเชงเชจเซ‹เชจเชพ เช†เชงเชพเชฐเซ‡ เชชเชฐเซ€เช•เซเชทเชฃเซ‹เชจเซ‡ เชถเซเชฐเซ‡เชฃเซ€เชฌเชฆเซเชง เช•เชฐเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพเชจเซ‹ เช…เชฎเชฒ เช•เชฐเซ‡ เช›เซ‡;
  • เชšเชฒ "CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY" เชจเชพเชชเชธเช‚เชฆ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡ เช…เชจเซ‡ "CMAKE_FIND_USE_PACKAGE_REGISTRY" เชฆเซเชตเชพเชฐเชพ เชฌเชฆเชฒเชตเซเช‚ เชœเซ‹เชˆเช;
  • เชธเซเชงเชพเชฐเซ‡เชฒ AIX เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชธเชชเซ‹เชฐเซเชŸ. "ENABLE_EXPORTS" เช—เซเชฃเชงเชฐเซเชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เชเช•เซเชเชฟเช•เซเชฏเซเชŸเซ‡เชฌเชฒ เชซเชพเช‡เชฒ เช‰เชชเชฐเชพเช‚เชค, เชฒเชฟเช‚เช•เชฐ เชฎเชพเชŸเซ‡เชจเซ€ เช†เชฏเชพเชค เชซเชพเช‡เชฒ เชนเชตเซ‡ เชœเชจเชฐเซ‡เชŸ เชฅเชพเชฏ เช›เซ‡, เชœเซ‡ ".imp" เชเช•เซเชธเซเชŸเซ‡เช‚เชถเชจ เชธเชพเชฅเซ‡ เชธเชพเชšเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. "เชฎเซ‹เชกเซเชฏเซเชฒ" เชตเชฟเช•เชฒเซเชช เชธเชพเชฅเซ‡ "add_library()" เชจเซ‡ เช•เซ‰เชฒ เช•เชฐเซ€เชจเซ‡ เชฌเชจเชพเชตเซ‡เชฒ เชชเซเชฒเช—เชฟเชจเซเชธเชฎเชพเช‚, "target_link_libraries()" เช†เชฆเซ‡เชถเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฒเชฟเช‚เช• เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เช† เชซเชพเช‡เชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. AIX เชชเชฐ เชฐเชจเชŸเชพเช‡เชฎ เชฒเชฟเชจเซเช•เชฟเช‚เช— เชกเชฟเชซเซ‰เชฒเซเชŸ เชฐเซ‚เชชเซ‡ เช…เช•เซเชทเชฎ เช•เชฐเซ‡เชฒเซเช‚ เช›เซ‡ เช•เชพเชฐเชฃ เช•เซ‡ CMake เชนเชตเซ‡ เชฒเซ‹เชก เชธเชฎเชฏเซ‡ เชฒเชฟเช‚เช• เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชคเชฎเชพเชฎ เชœเชฐเซ‚เชฐเซ€ เชชเซเชฐเชคเซ€เช• เชฎเชพเชนเชฟเชคเซ€ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡. เชกเชพเชฏเชจเซ‡เชฎเชฟเช• เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เช“ เช…เชฅเชตเชพ เชฒเซ‹เชก เช•เชฐเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเชพ เชฎเซ‹เชกเซเชฏเซเชฒเซเชธเชจเชพ เชฐเชจเชŸเชพเช‡เชฎ เชฒเชฟเช‚เช•เชฟเช‚เช—เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเซ‡ "CMAKE_SHARED_LINKER_FLAGS" เช…เชจเซ‡ "CMAKE_MODULE_LINKER_FLAGS" เชšเชฒ เชฆเซเชตเชพเชฐเชพ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เชฒเชฟเช‚เช•เชฐ เชธเซเชŸเชพเชฐเซเชŸเช…เชช เชซเซเชฒเซ‡เช—เซเชธเชจเซ€ เชธเซ‚เชšเชฟเชฎเชพเช‚ "-Wl, -G" เชตเชฟเช•เชฒเซเชชเซ‹ เชธเซเชชเชทเซเชŸเชชเชฃเซ‡ เช‰เชฒเซเชฒเซ‡เช–เชฟเชค เช•เชฐเชตเชพ เช†เชตเชถเซเชฏเช• เช›เซ‡.

เชธเซ‹เชฐเซเชธ: opennet.ru

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹