CMake 3.17.0 உருவாக்க அமைப்பின் வெளியீடு

மூலம் சமர்ப்பிக்கப்பட்டது குறுக்கு-தளம் திறந்த உருவாக்க ஸ்கிரிப்ட் ஜெனரேட்டரின் வெளியீடு சிமேக் 3.17, இது Autotools க்கு மாற்றாக செயல்படுகிறது மற்றும் KDE, LLVM/Clang, MySQL, MariaDB, ReactOS மற்றும் Blender போன்ற திட்டங்களில் பயன்படுத்தப்படுகிறது. CMake குறியீடு C++ இல் எழுதப்பட்டு BSD உரிமத்தின் கீழ் விநியோகிக்கப்படுகிறது.

CMake ஒரு எளிய ஸ்கிரிப்டிங் மொழி, தொகுதிகள் மூலம் செயல்பாட்டை நீட்டிக்கும் வழிமுறை, குறைந்த எண்ணிக்கையிலான சார்புநிலைகள் (M4, Perl அல்லது Python உடன் பிணைப்பு இல்லை), கேச்சிங் ஆதரவு, குறுக்கு-தொகுப்புக்கான கருவிகளின் இருப்பு, உருவாக்கத்தை உருவாக்குவதற்கான ஆதரவு ஆகியவற்றில் குறிப்பிடத்தக்கது. பரந்த அளவிலான உருவாக்க அமைப்புகள் மற்றும் கம்பைலர்களுக்கான கோப்புகள், சோதனை ஸ்கிரிப்ட்கள் மற்றும் கட்டிட தொகுப்புகளை வரையறுப்பதற்கான இருப்பு ctest மற்றும் cpack பயன்பாடுகள், உருவாக்க அளவுருக்களை ஊடாடும் வகையில் அமைப்பதற்கான cmake-gui பயன்பாடு.

முக்கிய மேம்பாடுகள்:

  • நிஞ்ஜா கருவித்தொகுப்பை அடிப்படையாகக் கொண்ட புதிய அசெம்பிளி ஸ்கிரிப்ட் ஜெனரேட்டர் சேர்க்கப்பட்டுள்ளது - “நிஞ்ஜா மல்டி-கன்ஃபிக்”, இது ஒரே நேரத்தில் பல அசெம்பிளி உள்ளமைவுகளைச் செயலாக்கும் திறனில் பழைய ஜெனரேட்டரிலிருந்து வேறுபடுகிறது.
  • விஷுவல் ஸ்டுடியோவுக்கான அசெம்பிளி ஸ்கிரிப்ட் ஜெனரேட்டரில் தோன்றினார் ஒவ்வொரு உள்ளமைவுடன் தொடர்புடைய மூல கோப்புகளை வரையறுக்கும் திறன் (ஒவ்வொரு கட்டமைப்பு மூலங்களும்).
  • 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” தொகுதிக்கு “CURLConfig.cmake” என்ற cmake-உருவாக்கிய உள்ளமைவு கோப்புகளைப் பயன்படுத்தி CURL கருவிகளைத் தேடுவதற்கான ஆதரவு சேர்க்கப்பட்டது. இந்த நடத்தையை முடக்க, CURL_NO_CURL_CMAKE மாறி வழங்கப்படுகிறது.
  • FindPython தொகுதியானது "கோண்டா" ஐப் பயன்படுத்தி நிர்வகிக்கப்படும் மெய்நிகர் சூழல்களில் பைதான் கூறுகளைத் தேடும் திறனைச் சேர்த்துள்ளது.
  • சோதனைகள் இல்லாத நிலையில் நடத்தையை வரையறுக்க ctest பயன்பாடு “--no-tests=[error|ignore]” விருப்பங்களையும், சோதனைகளை மீண்டும் இயக்குவதற்கான நிபந்தனைகளை அமைக்க “--repeat” ஐயும் சேர்த்துள்ளது (பாஸ் வரை, நேரம் முடிந்த பிறகு).
  • INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES மற்றும் INTERFACE_LINK_DEPENDS ஆகிய அசெம்பிளி இலக்கு பண்புகள் இப்போது நிலையான முறையில் கூடியிருந்த நூலகங்களின் உள் சார்புகளுக்கு இடையே மாற்றப்பட்டுள்ளன.
  • MinGW டூல்கிட்டைப் பயன்படுத்தும் போது, ​​find_library கட்டளையுடன் DLL கோப்புகளுக்கான தேடல் முன்னிருப்பாக முடக்கப்படும் (அதற்கு பதிலாக, ".dll.a" நூலகங்களை இறக்குமதி செய்வதே இயல்புநிலை முயற்சி).
  • நிஞ்ஜா ஜெனரேட்டரில் நிஞ்ஜா பயன்பாட்டைத் தேர்ந்தெடுப்பதற்கான தர்க்கம் இப்போது இயங்கக்கூடிய கோப்பின் பெயரைப் பொறுத்தது அல்ல - PATH சூழல் மாறி மூலம் வரையறுக்கப்பட்ட பாதைகளில் காணப்படும் முதல் நிஞ்ஜா-பில்ட், நிஞ்ஜா அல்லது சாமு பயன்பாடு பயன்படுத்தப்படுகிறது.
  • "-E rm" கட்டளை cmakeக்கு சேர்க்கப்பட்டது, இது தனித்தனி "-E remove" மற்றும் "-E remove_directory" கட்டளைகளுக்குப் பதிலாக கோப்புகள் மற்றும் கோப்பகங்களை அகற்றப் பயன்படும்.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்