ืžืขืœื“ื•ื ื’ ืคื•ืŸ CMake 3.17.0 ื‘ื•ื™ืขืŸ ืกื™ืกื˜ืขื

ื‘ืึทืงืขื ืขื  ืžืขืœื“ื•ื ื’ ืคื•ืŸ ืึท ืงืจื™ื™ึทื–-ืคึผืœืึทื˜ืคืึธืจืžืข ืขืคืขื ืขืŸ ื‘ื•ื™ืขืŸ ืฉืจื™ืคื˜ ื’ืขื ืขืจืึทื˜ืึธืจ ืžืึทื›ืŸ 3.17, ื•ื•ืึธืก ืื™ื– ืึทืŸ ืึธืœื˜ืขืจื ืึทื˜ื™ื•ื• ืฆื• ืึทื•ื˜ืึธื˜ืึธืึธืœืก ืื•ืŸ ืื™ื– ื’ืขื ื™ืฆื˜ ืื™ืŸ ืคึผืจืึทื“ื–ืฉืขืงืก ืึทื–ืึท ื•ื•ื™ KDE, LLVM/Clang, MySQL, MariaDB, ReactOS ืื•ืŸ Blender. ื“ื™ ืงืžืึทืงืข ืงืึธื“ ืื™ื– ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ C ++ ืื•ืŸ ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜ ืื•ื ื˜ืขืจ ื“ื™ BSD ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ.

CMake ืื™ื– ื ืึธื•ื˜ืึทื‘ืึทืœ ืคึฟืึทืจ ืคึผืจืึทื•ื•ื™ื™ื“ื™ื ื’ ืึท ืคึผืฉื•ื˜ ืกืงืจื™ืคึผื˜ื™ื ื’ ืฉืคึผืจืึทืš, ืึท ืžื™ื˜ืœ ืฆื• ืคืึทืจื‘ืจื™ื™ื˜ืขืจืŸ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™ ื“ื•ืจืš ืžืึทื“ื–ืฉื•ืœื–, ืึท ืžื™ื ื™ืžืึทืœ ื ื•ืžืขืจ ืคื•ืŸ ื“ื™ืคึผืขื ื“ืึทื ืกื™ื– (ืงื™ื™ืŸ ื‘ื™ื™ื ื“ื™ื ื’ ืฆื• M4, Perl ืึธื“ืขืจ Python), ืงืึทื˜ืฉื™ื ื’ ืฉื˜ื™ืฆืŸ, ื“ื™ ื‘ื™ื™ึทื–ื™ื™ึทืŸ ืคื•ืŸ ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ ืงืจื™ื™ึทื– ื–ืึทืžืœื•ื ื’, ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื–ืฉืขื ืขืจื™ื™ื˜ื™ื ื’ ื‘ื•ื™ืขืŸ. ื˜ืขืงืขืก ืคึฟืึทืจ ืึท ื‘ืจื™ื™ื˜ ืงื™ื™ื˜ ืคื•ืŸ ื‘ื•ื™ืขืŸ ืกื™ืกื˜ืขืžืขืŸ ืื•ืŸ ืงืึธืžืคึผื™ืœืขืจืก, ื“ื™ ื‘ื™ื™ึทื–ื™ื™ึทืŸ ืคื•ืŸ ืงื˜ืขืกื˜ ืื•ืŸ ืงืคึผืึทืง ื™ื•ื˜ื™ืœืึทื˜ื™ื– ืคึฟืึทืจ ื“ื™ืคื™ื™ื ื™ื ื’ ืคึผืจื•ื‘ื™ืจืŸ ืกืงืจื™ืคึผืก ืื•ืŸ ื‘ื ื™ืŸ ืคึผืึทืงืึทื“ื–ืฉืึทื–, cmake-gui ื ื•ืฆืŸ ืคึฟืึทืจ ื™ื ื˜ืขืจืึทืงื˜ื™ื•ื•ืข ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ื‘ื•ื™ืขืŸ ืคึผืึทืจืึทืžืขื˜ืขืจืก.

ื”ื•ื™ืคึผื˜ ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ:

  • ื ื ื™ื™ึทืข ืคึฟืึทืจื–ืึทืžืœื•ื ื’ ืฉืจื™ืคื˜ ื’ืขื ืขืจืึทื˜ืึธืจ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ ื ื™ื ื“ื–ืฉืึท ื˜ืึธืึธืœืงื™ื˜ ืื™ื– ืฆื•ื’ืขื’ืขื‘ืŸ - "Ninja Multi-Config", ื•ื•ืึธืก ืื™ื– ืึทื ื“ืขืจืฉ ืคื•ืŸ ื“ื™ ืึทืœื˜ ื’ืขื ืขืจืึทื˜ืึธืจ ืื™ืŸ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืคึผืจืึธืฆืขืก ืขื˜ืœืขื›ืข ืคึฟืึทืจื–ืึทืžืœื•ื ื’ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทื ื– ืื™ืŸ ืึทืžืึธืœ.
  • ืื™ืŸ ื“ื™ ืคึฟืึทืจื–ืึทืžืœื•ื ื’ ืฉืจื™ืคื˜ ื’ืขื ืขืจืึทื˜ืึธืจ ืคึฟืึทืจ ื•ื•ื™ืกื•ืึทืœ ืกื˜ื•ื“ื™ืึธ ืืจื•ื™ืก ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ื“ืขืคื™ื ื™ืจืŸ ืžืงื•ืจ ื˜ืขืงืขืก ืคึฟืึทืจื‘ื•ื ื“ืŸ ืžื™ื˜ ื™ืขื“ืขืจ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ (ืคึผืขืจ-ืงืึธื ืคื™ื’ ืงื•ื•ืืœืŸ).
  • ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืฉื˜ืขืœืŸ ืžืขื˜ืึท ืคึผืึทืจืึทืžืขื˜ืขืจืก ืคึฟืึทืจ CUDA ("cuda_std_03", "cuda_std_14", ืืื–"ื• ื•) ืื™ื– ืฆื•ื’ืขื’ืขื‘ืŸ ืฆื• ื“ื™ ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ืงืึทืžืคึผื™ื™ืœืขืจ ืคึผืึทืจืึทืžืขื˜ืขืจืก (ืงืึธืžืคึผื™ืœืข ืคึฟืขื™ึดืงื™ื™ื˜ืŸ).
  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ื•ื•ืขืจื™ืึทื‘ืึทืœื– "CMAKE_CUDA_RUNTIME_LIBRARY" ืื•ืŸ "CUDA_RUNTIME_LIBRARY" ืฆื• ืื•ื™ืกืงืœื™ื™ึทื‘ืŸ ื“ืขื ื˜ื™ืคึผ ืคื•ืŸ ืจื•ื ื˜ื™ืžืข ืœื™ื™ื‘ืจืขืจื™ื– ื•ื•ืขืŸ ื ื™ืฆืŸ CUDA.
  • ืฆื•ื’ืขื’ืขื‘ืŸ ื“ื™ "FindCUDAToolkit" ืžืึธื“ื•ืœืข ืฆื• ื‘ืึทืฉืœื™ืกืŸ ื“ื™ CUDA ื˜ืึธืึธืœืงื™ื˜ ื‘ื ื™ืžืฆื ืื•ื™ืฃ ื“ื™ ืกื™ืกื˜ืขื ืึธืŸ ื’ืขื‘ืŸ ื“ื™ CUDA ืฉืคึผืจืึทืš.
  • ืฆื•ื’ืขืœื™ื™ื’ื˜ "--debug-find" ื‘ืึทืคึฟืขืœ ืฆื• ืงืžืึทืงืข ืฆื• ืจืขื–ื•ืœื˜ืึทื˜ ื ืึธืš ืœื™ื™ื ืขื•ื•ื“ื™ืง ื“ื™ืึทื’ื ืึธืกื˜ื™ืงืก ื•ื•ืขืŸ ืคึผืขืจืคืึธืจืžื™ื ื’ ื–ื•ื›ืŸ ืึทืคึผืขืจื™ื™ืฉืึทื ื–. ืคึฟืึทืจ ืขื ืœืขืš ืฆื•ื•ืขืงืŸ, ื“ื™ CMAKE_FIND_DEBUG_MODE ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง ืื™ื– ืฆื•ื’ืขื’ืขื‘ืŸ.
  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื–ื•ื›ืŸ ืคึฟืึทืจ CURL ืžื›ืฉื™ืจื™ื ื ื™ืฆืŸ cmake-ื“ื–ืฉืขื ืขืจื™ื™ื˜ืึทื“ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืขืก "CURLConfig.cmake" ืฆื• ื“ื™ "FindCURL" ืžืึธื“ื•ืœืข. ืฆื• ื“ื™ืกื™ื™ื‘ืึทืœ ื“ืขื ื ืึทื˜ื•ืจ, ื“ื™ CURL_NO_CURL_CMAKE ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง ืื™ื– ืฆื•ื’ืขืฉื˜ืขืœื˜.
  • ื“ื™ FindPython ืžืึธื“ื•ืœืข ื”ืื˜ ืฆื•ื’ืขืœื™ื™ื’ื˜ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ื–ื•ื›ืŸ ืคึฟืึทืจ ืคึผื™ื˜ื”ืึธืŸ ืงืึทืžืคึผืึธื•ื ืึทื ืฅ ืื™ืŸ ื•ื•ื™ืจื˜ื•ืึทืœ ื™ื ื•ื•ื™ื™ืจืึทื ืžืึทื ืฅ ื’ืขืจืื˜ืŸ ืžื™ื˜ "ืงืึธื ื“ืึท".
  • ื“ื™ ืงื˜ืขืกื˜ ื ื•ืฆืŸ ื”ืื˜ ืฆื•ื’ืขืœื™ื™ื’ื˜ ื“ื™ "--no-tests = [ื˜ืขื•ืช | ืื™ื’ื ืึธืจื™ืจืŸ]" ืึธืคึผืฆื™ืขืก ืฆื• ื“ืขืคื™ื ื™ืจืŸ ื“ื™ ื ืึทื˜ื•ืจ ืื™ืŸ ื“ื™ ืคืึทืœ ืคื•ืŸ ืงื™ื™ืŸ ื˜ืขืกืฅ ืื•ืŸ "--ืจืขืคึผืขืึทื˜" ืฆื• ืฉื˜ืขืœืŸ ื“ื™ ื‘ืื“ื™ื ื’ื•ื ื’ืขืŸ ืคึฟืึทืจ ืจื™-ืœื•ื™ืคืŸ ื˜ืขืกืฅ (ื‘ื™ื–-ืคืึธืจืŸ, ื ืึธืš ืฆื™ื™ื˜).
  • ื“ื™ ืคึฟืึทืจื–ืึทืžืœื•ื ื’ ืฆื™ืœ ืคึผืจืึธืคึผืขืจื˜ื™ืขืก INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES ืื•ืŸ INTERFACE_LINK_DEPENDS ื–ืขื ืขืŸ ืื™ืฆื˜ ื˜ืจืึทื ืกืคืขืจื“ ืฆื•ื•ื™ืฉืŸ ื“ื™ ื™ื ืขืจืœืขืš ื“ื™ืคึผืขื ื“ืึทื ืกื™ื– ืคื•ืŸ ืกื˜ืึทื˜ื™ืงืœื™ ืึทืกืขืžื‘ืึทืœื“ ืœื™ื™ื‘ืจืขืจื™ื–.
  • ื•ื•ืขืŸ ืื™ืจ ื ื•ืฆืŸ ื“ื™ MinGW ื˜ืึธืึธืœืงื™ื˜, ื“ื™ ื–ื•ื›ืŸ ืคึฟืึทืจ ื“ืœืœ ื˜ืขืงืขืก ืžื™ื˜ ื“ื™ find_library ื‘ืึทืคึฟืขืœ ืื™ื– ืคืึทืจืงืจื™ืคึผืœื˜ ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜ (ืึทื ืฉื˜ืึธื˜, ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜ ืคึผืจื•ื•ื•ืŸ ืื™ื– ืฆื• ืึทืจื™ื™ึทื ืคื™ืจ ".dll.a" ืœื™ื™ื‘ืจืขืจื™ื–).
  • ื“ื™ ืœืึธื’ื™ืง ืคึฟืึทืจ ืกืึทืœืขืงื˜ื™ื ื’ ื“ื™ ื ื™ื ื“ื–ืฉืึท ื ื•ืฆืŸ ืื™ืŸ ื“ื™ ื ื™ื ื“ื–ืฉืึท ื’ืขื ืขืจืึทื˜ืึธืจ ืื™ืฆื˜ ืึธืคืขื ื’ืขืŸ ื ื™ืฉื˜ ืื•ื™ืฃ ื“ื™ ื ืึธืžืขืŸ ืคื•ืŸ ื“ื™ ืขืงืกืขืงื•ื˜ืึทื‘ืœืข ื˜ืขืงืข - ื“ืขืจ ืขืจืฉื˜ืขืจ ื ื™ื ื“ื–ืฉืึท-ื‘ื•ื™ืขืŸ, ื ื™ื ื“ื–ืฉืึท ืึธื“ืขืจ ืกืึทืžื• ื ื•ืฆืŸ ื’ืขืคึฟื•ื ืขืŸ ืื™ืŸ ื“ื™ ืคึผืึทื˜ืก ื“ื™ืคื™ื™ื ื“ ื“ื•ืจืš ื“ื™ PATH ืกื•ื•ื™ื•ื•ืข ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง ืื™ื– ื’ืขื ื™ืฆื˜.
  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ืึท "-E rm" ื‘ืึทืคึฟืขืœ ืฆื• ืงืžืึทืงืข ื•ื•ืึธืก ืงืขื ืขืŸ ื•ื•ืขืจืŸ ื’ืขื ื•ืฆื˜ ืฆื• ื‘ืึทื–ื™ื™ึทื˜ื™ืงืŸ ื˜ืขืงืขืก ืื•ืŸ ื“ื™ืจืขืงื˜ืขืจื™ื– ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ื“ื™ ื‘ืึทื–ื•ื ื“ืขืจ "-E remove" ืื•ืŸ "-E remove_directory" ืงืึทืžืึทื ื“ื–.

ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’