เบเบฒเบ™เบ›เปˆเบญเบเบฅเบฐเบšเบปเบšเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡ CMake 3.17.0

เปเบ™เบฐเบ™เบณ เบเบฒเบ™เบ›เปˆเบญเบเบ•เบปเบงเบชเป‰เบฒเบ‡เบชเบฐเบ„เบฃเบดเบšเปเบšเบšเป€เบ›เบตเบ”เบ‚เป‰เบฒเบกเป€เบงเบ—เบต CMake 3.17, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เบซเบ™เป‰เบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ‚เบญเบ‡ Autotools เปเบฅเบฐเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™เป€เบŠเบฑเปˆเบ™ KDE, LLVM/Clang, MySQL, MariaDB, ReactOS เปเบฅเบฐ Blender. เบฅเบฐเบซเบฑเบ” CMake เบ–เบทเบเบ‚เบฝเบ™เป„เบงเป‰เปƒเบ™ C ++ เปเบฅเบฐเปเบˆเบเบขเบฒเบเบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” BSD.

CMake เป€เบ›เบฑเบ™เบ—เบตเปˆเป‚เบ”เบ”เป€เบ”เบฑเปˆเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบญเบ‡เบžเบฒเบชเบฒเบชเบฐเบ„เบดเบšเบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบ, เบงเบดเบ—เบตเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™เป‚เบ”เบเบœเปˆเบฒเบ™เป‚เบกเบ”เบนเบ™, เบˆเปเบฒเบ™เบงเบ™เบซเบ™เป‰เบญเบเบ‚เบญเบ‡เบเบฒเบ™เป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบช (เบšเปเปˆเบกเบตเบเบฒเบ™เบœเบนเบเบกเบฑเบ”เบเบฑเบš M4, Perl เบซเบผเบท Python), เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ–เบฒเบ™เบ„เบงเบฒเบกเบˆเปเบฒ, เบกเบตเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเบ‚เป‰เบฒเบก, เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡. เป„เบŸเบฅเปŒเบชเปเบฒเบฅเบฑเบšเบฅเบฐเบ”เบฑเบšเบ„เบงเบฒเบกเบเป‰เบงเบฒเบ‡เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เปเบฅเบฐ compilers, เบกเบต ctest เปเบฅเบฐ cpack utilities เบชเปเบฒเบฅเบฑเบšเบเปเบฒเบ™เบปเบ” scripts เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเปเบฅเบฐเบŠเบธเบ”เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡, cmake-gui utility เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™.

เบ•เบปเป‰เบ™โ€‹เบ•เป เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡:

  • เป„เบ”เป‰เบกเบตเบเบฒเบ™เป€เบžเบตเปˆเบกเป€เบ„เบทเปˆเบญเบ‡เบชเป‰เบฒเบ‡เบชเบฐเบ„เบฃเบดเบšเปƒเปเปˆเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบŠเบธเบ”เป€เบ„เบทเปˆเบญเบ‡เบกเบท Ninja - "Ninja Multi-Config", เป€เบŠเบดเปˆเบ‡เปเบ•เบเบ•เปˆเบฒเบ‡เบˆเบฒเบเป€เบ„เบทเปˆเบญเบ‡เบชเป‰เบฒเบ‡เปเบšเบšเป€เบเบปเปˆเบฒเปƒเบ™เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบเบฒเบ™เบ›เบฐเบเบญเบšเบซเบผเบฒเบเบญเบฑเบ™เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™.
  • เปƒเบ™เบ•เบปเบงเบชเป‰เบฒเบ‡เบชเบฐเบ„เบฃเบดเบšเบ›เบฐเบเบญเบšเบชเปเบฒเบฅเบฑเบš Visual Studio เบ›เบฒเบเบปเบ”เบงเปˆเบฒ เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เป„เบŸเบฅเปŒเปเบซเบผเปˆเบ‡เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเปเบ•เปˆเบฅเบฐเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ (เปเบซเบผเปˆเบ‡ per-config).
  • เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต meta เบชเปเบฒเบฅเบฑเบš CUDA (โ€œcuda_std_03โ€, โ€œcuda_std_14โ€, เปเบฅเบฐเบญเบทเปˆเบ™เป†) เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบฅเบงเบšเบฅเบงเบก (เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบเบฒเบ™เบฅเบงเบšเบฅเบงเบก).
  • เป€เบžเบตเปˆเบกเบ•เบปเบงเปเบ› "CMAKE_CUDA_RUNTIME_LIBRARY" เปเบฅเบฐ "CUDA_RUNTIME_LIBRARY" เป€เบžเบทเปˆเบญเป€เบฅเบทเบญเบเบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบซเป‰เบญเบ‡เบชเบฐเปเบธเบ” runtime เป€เบกเบทเปˆเบญเปƒเบŠเป‰ CUDA.
  • เป„เบ”เป‰เป€เบžเบตเปˆเบกเป‚เบกเบ”เบนเบ™ "FindCUDAToolkit" เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบŠเบธเบ”เป€เบ„เบทเปˆเบญเบ‡เบกเบท CUDA เบ—เบตเปˆเบกเบตเบขเบนเปˆเปƒเบ™เบฅเบฐเบšเบปเบšเป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เป€เบ›เบตเบ”เบ™เปเบฒเปƒเบŠเป‰เบžเบฒเบชเบฒ CUDA.
  • เป€เบžเบตเปˆเบกเบ„เปเบฒเบชเบฑเปˆเบ‡ "--debug-find" เปƒเบชเปˆ cmake เป€เบžเบทเปˆเบญเบชเบปเปˆเบ‡เบœเบปเบ™เบเบฒเบ™เบงเบดเบ™เบดเบ”เป„เบชเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบญเปˆเบฒเบ™เป„เบ”เป‰เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเปƒเบ™เป€เบงเบฅเบฒเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เบปเป‰เบ™เบซเบฒ. เบชเปเบฒเบฅเบฑเบšเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™, เบ•เบปเบงเปเบ› CMAKE_FIND_DEBUG_MODE เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก.
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบŠเบญเบเบซเบฒเป€เบ„เบทเปˆเบญเบ‡เบกเบท CURL เป‚เบ”เบเปƒเบŠเป‰เป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เบตเปˆเบชเป‰เบฒเบ‡เป‚เบ”เบ cmake "CURLConfig.cmake" เปƒเบชเปˆเป‚เบกเบ”เบนเบ™ "FindCURL". เป€เบžเบทเปˆเบญเบ›เบดเบ”เบžเบถเบ”เบ•เบดเบเปเบฒเบ™เบตเป‰, เบ•เบปเบงเปเบ› CURL_NO_CURL_CMAKE เป„เบ”เป‰เบ–เบทเบเบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰.
  • เป‚เบกเบ”เบนเบ™ FindPython เป„เบ”เป‰เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบŠเบญเบเบซเบฒเบญเบปเบ‡เบ›เบฐเบเบญเบš Python เปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก virtual เบ—เบตเปˆเบ„เบธเป‰เบกเบ„เบญเบ‡เป‚เบ”เบเปƒเบŠเป‰ "conda".
  • utility ctest เป„เบ”เป‰เป€เบžเบตเปˆเบกเบ—เบฒเบ‡เป€เบฅเบทเบญเบ "--no-tests=[error|ignore]" เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบžเบถเบ”เบ•เบดเบเปเบฒเปƒเบ™เบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเบšเปเปˆเบกเบตเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเปเบฅเบฐ "--repeat" เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเปƒเบซเบกเปˆ (เบˆเบปเบ™เบเปˆเบงเบฒเบœเปˆเบฒเบ™, เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เบซเบกเบปเบ”โ€‹เป€เบงโ€‹เบฅเบฒโ€‹)โ€‹.
  • เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เป€เบ›เบปเป‰เบฒเปเบฒเบเบเบฒเบ™เบ›เบฐเบเบญเบš INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES เปเบฅเบฐ INTERFACE_LINK_DEPENDS เบ”เบฝเบงเบ™เบตเป‰เบ–เบทเบเป‚เบญเบ™เป€เบ‚เบปเป‰เบฒเปƒเบ™เบšเบฑเบ™เบ”เบฒเบเบฒเบ™เบ‚เบถเป‰เบ™เบเบฑเบšเบžเบฒเบเปƒเบ™เบ‚เบญเบ‡เบซเป‰เบญเบ‡เบชเบฐเปเบธเบ”เบ—เบตเปˆเบ›เบฐเบเบญเบšเบชเบฐเบ–เบดเบ”เปเบฅเป‰เบง.
  • เป€เบกเบทเปˆเบญเปƒเบŠเป‰เบŠเบธเบ”เป€เบ„เบทเปˆเบญเบ‡เบกเบท MinGW, เบเบฒเบ™เบ„เบปเป‰เบ™เบซเบฒเป„เบŸเบฅเปŒ DLL เบ—เบตเปˆเบกเบตเบ„เปเบฒเบชเบฑเปˆเบ‡ find_library เบ–เบทเบเบ›เบดเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ (เปเบ—เบ™เบ—เบตเปˆเบˆเบฐ, เบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบกเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™เบเบฒเบ™เบ™เปเบฒเป€เบ‚เบปเป‰เบฒเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” ".dll.a").
  • เป€เบซเบ”เบœเบปเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบฅเบทเบญเบเบ›เบฐเป‚เบซเบเบ”เบ‚เบญเบ‡ ninja เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบเปเบฒเป€เบ™เบตเบ” Ninja เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบšเปเปˆเป„เบ”เป‰เบ‚เบถเป‰เบ™เบเบฑเบšเบŠเบทเปˆเบ‚เบญเบ‡เป„เบŸเบฅเปŒเบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰ - ninja-build, ninja เบซเบผเบท samu utility เบ—เปเบฒเบญเบดเบ”เบ—เบตเปˆเบžเบปเบšเป€เบซเบฑเบ™เบขเบนเปˆเปƒเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป‚เบ”เบเบœเปˆเบฒเบ™เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก PATH เปเบกเปˆเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰.
  • เป€เบžเบตเปˆเบกเบ„เปเบฒเบชเบฑเปˆเบ‡ "-E rm" เป€เบžเบทเปˆเบญ cmake เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเป€เบญเบปเบฒเป„เบŸเบฅเปŒเปเบฅเบฐเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเปเบ—เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ "-E remove" เปเบฅเบฐ "-E remove_directory" เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™