சில நாட்களுக்கு முன்பு CMake 3.15 குறுக்கு-தளம் திறந்த மூல ஸ்கிரிப்ட் ஜெனரேட்டர் வெளியிடப்பட்டது இது ஆட்டோடூல்களுக்கு மாற்றாக செயல்படுகிறது மற்றும் KDE, LLVM / Clang, MySQL, MariaDB, ReactOS மற்றும் Blender போன்ற திட்டங்களில் பயன்படுத்தப்படுகிறது.
CMake என்பது ஒரு மல்டிபிளாட்ஃபார்ம் குறியீடு உருவாக்கம் அல்லது ஆட்டோமேஷன் கருவி. பெயர் "குறுக்கு மேடை உருவாக்கம்" என்பதன் சுருக்கமாகும் (குறுக்கு மேடையை உருவாக்குங்கள், பெயரில் "உருவாக்கு" என்ற பயன்பாட்டிற்கு அப்பால், CMake என்பது ஒரு தனி தொகுப்பு மற்றும் பொதுவான தயாரிப்புமுறை முறையை விட உயர்ந்த நிலை யுனிக்ஸ், ஆட்டோடூல்களுக்கு ஒத்ததாக இருப்பது.
CMake பற்றி
சி.எம்.கே. எளிய ஸ்கிரிப்டிங் மொழியை வழங்குவதில் குறிப்பிடத்தக்கது, தொகுதிகள், குறைந்த எண்ணிக்கையிலான சார்புநிலைகள் (எம் 4, பெர்ல் அல்லது பைத்தானுடன் பிணைப்பு இல்லை), கேச்சிங் ஆதரவு, குறுக்குத் தொகுப்பிற்கான கருவிகளின் கிடைக்கும் தன்மை, பரந்த அளவிலான கம்பைலர் அமைப்புகள் மற்றும் கம்பைலர்களுக்கான சட்டசபை கோப்புகளை உருவாக்குவதற்கான ஆதரவு.
சோதனை சூழ்நிலைகள் மற்றும் தொகுப்பு உருவாக்கத்தை வரையறுப்பதற்கான ctest மற்றும் cpack பயன்பாடுகள், உருவாக்க அளவுருக்களை ஊடாடும் வகையில் கட்டமைக்க cmake-gui பயன்பாட்டுடன்.
எளிய மற்றும் சுயாதீன உள்ளமைவு கோப்புகளைப் பயன்படுத்தி மென்பொருளின் தொகுப்பு செயல்முறையை கட்டுப்படுத்த CMake பயன்படுத்தப்படுகிறது மேடையில். Cmake விரும்பிய வளர்ச்சி சூழலில் பயன்படுத்தக்கூடிய சொந்த மேக்ஃபைல்கள் மற்றும் பணியிடங்களை உருவாக்குகிறது.
இது யுனிக்ஸ் இன் குனு உருவாக்க அமைப்புடன் ஒப்பிடத்தக்கது, இந்த செயல்முறை உள்ளமைவு கோப்புகளால் கட்டுப்படுத்தப்படுகிறது, CMake இன் விஷயத்தில் CMakeLists.txt.
குனு உருவாக்க முறை போலல்லாமல், இது யூனிக்ஸ் இயங்குதளங்களுக்கு தடைசெய்யப்பட்டுள்ளது, பல்வேறு இயக்க முறைமைகளுக்கான கோப்புகளை உருவாக்குவதை CMake ஆதரிக்கிறது, இது பராமரிப்பை எளிதாக்குகிறது மற்றும் ஒவ்வொரு தளத்திற்கும் பல கோப்புகளை வைத்திருக்க வேண்டிய தேவையை நீக்குகிறது.
ஒவ்வொரு கோப்பகத்திலும் (துணை அடைவுகள் உட்பட) ஒன்று அல்லது அதற்கு மேற்பட்ட CMakeLists.txt கோப்புகளை உருவாக்குவதன் மூலம் உருவாக்க செயல்முறை கட்டுப்படுத்தப்படுகிறது.
CMake குறியீடு C ++ இல் எழுதப்பட்டுள்ளது மற்றும் இது BSD உரிமத்தின் கீழ் விநியோகிக்கப்படுகிறது.
CMake இன் முக்கிய புதிய அம்சங்கள் 3.15
இந்த புதிய பதிப்பு ஸ்விஃப்ட் மொழிக்கான ஆரம்ப ஜெனரேட்டர் ஆதரவின் வருகையால் சிறப்பிக்கப்படுகிறது ஆப்பிள் உருவாக்கிய நிஞ்ஜா கருவித்தொகுதி சட்டசபை ஸ்கிரிப்ட் ஜெனரேட்டரில் சேர்க்கப்பட்டுள்ளது.
இது தவிர, கிளாங் கம்பைலர் விருப்பத்திற்கான ஆதரவும் வருகிறது விண்டோஸுக்கு ஏபிஐ எம்.எஸ்.வி.சி உடன் கட்டப்பட்டுள்ளது, ஆனால் குனு-பாணி கட்டளை வரி விருப்பங்களைப் பயன்படுத்துகிறது.
டெவலப்பர்கள் மாறிகள் என்று வலியுறுத்துகின்றனர் CMAKE_MSVC_RUNTIME_LIBRARY
y MSVC_RUNTIME_LIBRARY
கம்பைலர்கள் பயன்படுத்தும் இயக்கநேர நூலகங்களைத் தேர்ந்தெடுக்க சேர்க்கப்படுகின்றன ABI MSVC
(எம்.எஸ். விஷுவல் ஸ்டுடியோ).
போன்ற தொகுப்பாளர்களுக்கு MSVC
, உள்ளே CMAKE__FLAGS
இயல்பாக, "/ W3" போன்ற எச்சரிக்கைக் கட்டுப்பாட்டுக் கொடிகளின் பட்டியல் நிறுத்தப்பட்டது.
இந்த புதிய பதிப்பின் வெளியீட்டின் அறிவிப்பில் சிறப்பிக்கப்பட்டுள்ள பிற மேம்பாடுகளில் பின்வருவனவற்றைக் காண்கிறோம்:
- உருவாக்கும் வெளிப்பாட்டைச் சேர்த்தது '
COMPILE_LANG_AND_ID
: Variable மாறிகள் பயன்படுத்தும் இலக்கு கோப்புகளுக்கான கம்பைலர் விருப்பங்களை வரையறுக்கCMAKE__COMPILER_ID
yLANGUAGE
ஒவ்வொரு குறியீடு கோப்புக்கும் - ஜெனரேட்டர் வெளிப்பாடுகள்
C_COMPILER_ID, CXX_COMPILER_ID, CUDA_COMPILER_ID,
Fortran_COMPILER_ID, COMPILE_LANGUAGE, COMPILE_LANG_AND_ID
yPLATFORM_ID
ஒரு பட்டியல், கமாவால் பிரிக்கப்பட்ட உருப்படிகளுடன் மதிப்பைப் பொருத்துவதற்கான ஆதரவைச் சேர்க்கவும் - மாறி சேர்க்கப்பட்டது
CMAKE_FIND_PACKAGE_PREFER_CONFIG
, இதில் find_package () க்கான அழைப்பு முதலில் தொகுப்பு உள்ளமைவு கோப்பைத் தேடும், தேடல் தொகுதி கிடைத்தாலும் கூட - இடைமுக நூலகங்களுக்கு, பண்புகளை அமைப்பதற்கான ஆதரவு சேர்க்கப்பட்டுள்ளது
PUBLIC_HEADER y PRIVATE_HEADER
, அதன் தலைப்புகளை வாதங்களை கடந்து நிறுவல் கட்டளை (TARGETS) மூலம் கட்டமைக்க முடியும்PUBLIC_HEADER
yPRIVATE_HEADER
- மாறி சேர்க்கப்பட்டது
CMAKE_VS_JUST_MY_CODE_DEBUGGING
மற்றும் இலக்கு சொத்துVS_JUST_MY_CODE_DEBUGGING
MSVC cl 19.05 மற்றும் புதிய பதிப்புகளைப் பயன்படுத்தி தொகுக்கும்போது விஷுவல் ஸ்டுடியோ பிழைத்திருத்தியில் "ஜஸ்ட் மை கோட்" பயன்முறையை இயக்க. - FindBoost தொகுதி மறுவேலை செய்யப்பட்டது, இது இப்போது மற்ற தேடல் தொகுதிகளின் முன்னிலையில் உள்ளமைவு மற்றும் தொகுதி முறைகளில் முழுமையாக வேலை செய்யப்படுகிறது.
- செய்தி () கட்டளையில் அறிவிப்பு, வெர்போஸ், பிழைத்திருத்தம் மற்றும் TRACE வகைகளுக்கான ஆதரவு சேர்க்கப்பட்டுள்ளது
- "Export (PACKAGE)" கட்டளை இப்போது மாறி வழியாக வெளிப்படையாக இயக்கும் வரை எதுவும் செய்யாது
CMAKE_EXPORT_PACKAGE_REGISTRY
.
நீங்கள் இதைப் பற்றி மேலும் தெரிந்து கொள்ள விரும்பினால் கலந்தாலோசிக்கலாம் பின்வரும் இணைப்பு.