CMake 3.17.0 ගොඩනැගීමේ පද්ධති නිකුතුව

විසින් ඉදිරිපත් කරන ලදී හරස් වේදිකා විවෘත ගොඩනැගීමේ ස්ක්‍රිප්ට් උත්පාදකයක් නිකුත් කිරීම CMake 3.17, එය Autotools සඳහා විකල්පයක් ලෙස ක්‍රියා කරන අතර KDE, LLVM/Clang, MySQL, MariaDB, ReactOS සහ Blender වැනි ව්‍යාපෘතිවල භාවිතා වේ. CMake කේතය C++ වලින් ලියා BSD බලපත්‍රය යටතේ බෙදා හරිනු ලැබේ.

CMake සරල ස්ක්‍රිප්ටින් භාෂාවක් සැපයීම, මොඩියුල හරහා ක්‍රියාකාරීත්වය පුළුල් කිරීමේ මාධ්‍යයක්, අවම පරායත්තතා සංඛ්‍යාවක් (M4, Perl හෝ Python වෙත බැඳීමක් නැත), හැඹිලි ආධාරක, හරස් සම්පාදනය සඳහා මෙවලම් තිබීම, ගොඩනැගීම ජනනය කිරීම සඳහා සහාය ලබා දීම සඳහා කැපී පෙනේ. පුළුල් පරාසයක ගොඩනැගීම් පද්ධති සහ සම්පාදක සඳහා ගොනු, පරීක්ෂණ ස්ක්‍රිප්ට් නිර්වචනය කිරීම සහ පැකේජ ගොඩනැගීම සඳහා පවතින ctest සහ cpack උපයෝගිතා, අන්තර්ක්‍රියාකාරීව ගොඩනැගීමේ පරාමිතීන් සැකසීම සඳහා cmake-gui උපයෝගීතාව.

ප්රධාන වැඩිදියුණු කිරීම්:

  • Ninja මෙවලම් කට්ටලය මත පදනම් වූ නව එකලස් කිරීමේ ස්ක්‍රිප්ට් උත්පාදක යන්ත්‍රයක් එකතු කර ඇත - “Ninja Multi-Config”, එය එකලස් කිරීමේ වින්‍යාස කිහිපයක් එකවර සැකසීමේ හැකියාවෙන් පැරණි උත්පාදක යන්ත්‍රයට වඩා වෙනස් වේ.
  • Visual Studio සඳහා එකලස් කිරීමේ ස්ක්‍රිප්ට් උත්පාදක යන්ත්‍රය තුළ පෙනී සිටියේය එක් එක් වින්‍යාසය හා සම්බන්ධ මූලාශ්‍ර ගොනු නිර්වචනය කිරීමේ හැකියාව (එක් වින්‍යාස මූලාශ්‍ර සඳහා).
  • CUDA සඳහා මෙටා පරාමිති සැකසීමේ හැකියාව (“cuda_std_03”, “cuda_std_14”, ආදිය) සම්පාදක පරාමිති සැකසීම සඳහා මෙවලම් වෙත එක් කර ඇත (විශේෂාංග සම්පාදනය කරන්න).
  • CUDA භාවිතා කරන විට ධාවන කාල පුස්තකාල වර්ගය තේරීමට "CMAKE_CUDA_RUNTIME_LIBRARY" සහ "CUDA_RUNTIME_LIBRARY" විචල්‍යයන් එක් කරන ලදී.
  • CUDA භාෂාව සබල නොකර පද්ධතියේ පවතින CUDA මෙවලම් කට්ටලය තීරණය කිරීමට "FindCUDAToolkit" මොඩියුලය එක් කරන ලදී.
  • සෙවුම් මෙහෙයුම් සිදු කරන විට අමතර කියවිය හැකි රෝග විනිශ්චයන් ප්‍රතිදානය කිරීමට cmake වෙත "--debug-find" විධානය එක් කරන ලදී. සමාන අරමුණු සඳහා, CMAKE_FIND_DEBUG_MODE විචල්‍යය එක් කර ඇත.
  • “FindCURL” මොඩියුලයට cmake-ජනනය කරන ලද “CURLConfig.cmake” වින්‍යාස ගොනු භාවිතයෙන් CURL මෙවලම් සෙවීම සඳහා සහය එක් කරන ලදී. මෙම හැසිරීම අක්‍රිය කිරීමට, CURL_NO_CURL_CMAKE විචල්‍යය සපයනු ලැබේ.
  • FindPython මොඩියුලය "conda" භාවිතයෙන් කළමනාකරණය කරන ලද අතථ්‍ය පරිසරවල Python සංරචක සෙවීමේ හැකියාව එක් කර ඇත.
  • ctest උපයෝගිතා පරීක්ෂණ නොමැති අවස්ථාවක හැසිරීම නිර්වචනය කිරීමට “--no-tests=[error|ignore]” විකල්ප එකතු කර ඇති අතර පරීක්ෂණ නැවත ධාවනය සඳහා කොන්දේසි සැකසීමට “--repeat” (සමත් වන තුරු, කල් ඉකුත්වීමෙන් පසු).
  • එකලස් කිරීමේ ඉලක්ක ගුණාංග INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES සහ INTERFACE_LINK_DEPENDS දැන් ස්ථිතිකව එකලස් කරන ලද පුස්තකාලවල අභ්‍යන්තර පරායත්තතා අතරට මාරු කර ඇත.
  • MinGW මෙවලම් කට්ටලය භාවිතා කරන විට, find_library විධානය සහිත DLL ගොනු සෙවීම පෙරනිමියෙන් අක්‍රීය වේ (ඒ වෙනුවට, පෙරනිමි උත්සාහය වන්නේ ".dll.a" පුස්තකාල ආයාත කිරීමයි).
  • Ninja generator හි ninja උපයෝගීතාව තේරීමේ තර්කනය දැන් ක්‍රියාත්මක කළ හැකි ගොනුවේ නම මත රඳා නොපවතී - PATH පරිසර විචල්‍යය හරහා අර්ථ දක්වා ඇති මාර්ගවල ඇති පළමු ninja-build, ninja හෝ samu උපයෝගීතාව භාවිතා වේ.
  • වෙනම "-E remove" සහ "-E remove_directory" විධාන වෙනුවට ගොනු සහ නාමාවලි ඉවත් කිරීමට භාවිතා කළ හැකි "-E rm" විධානයක් cmake වෙත එක් කරන ලදී.

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න