CMake 3.18 የግንባታ ስርዓት መለቀቅ

የቀረበው በ የመስቀል መድረክ ክፍት የግንባታ ስክሪፕት ጀነሬተር መልቀቅ ሲሜኬ 3.18, እንደ Autotools አማራጭ ሆኖ የሚያገለግል እና እንደ KDE፣ LLVM/Clang፣ MySQL፣ MariaDB፣ ReactOS እና Blender ባሉ ፕሮጀክቶች ውስጥ ጥቅም ላይ ይውላል። የCMake ኮድ በC++ ተጽፎ በ BSD ፍቃድ ተሰራጭቷል።

CMake ቀላል የስክሪፕት ቋንቋ፣ በሞጁሎች በኩል ተግባራዊነትን ለማራዘም የሚያስችል ዘዴ፣ አነስተኛ ቁጥር ያላቸው ጥገኞች (ከM4፣ Perl ወይም Python ጋር ምንም አይነት አስገዳጅነት የለም)፣ የመሸጎጫ ድጋፍ፣ የማጠቃለያ መሳሪያዎች መኖራቸውን፣ ግንባታን ለማመንጨት ድጋፍ በመስጠት ታዋቂ ነው። ለተለያዩ የግንባታ ስርዓቶች እና አቀናባሪዎች ፋይሎች፣ የሙከራ ስክሪፕቶችን እና ጥቅሎችን ለመገንባት የctest እና cpack መገልገያዎች መኖር፣ cmake-gui utility በግንባታ መለኪያዎችን በይነተገናኝ ማዋቀር።

ዋና ማሻሻያዎች:

  • የCUDA ቋንቋ ክላንግን በመጠቀም ከዊንዶውስ ውጭ ባሉ መድረኮች ላይ ሊገነባ ይችላል። CUDA የተለየ ስብስብ እስካሁን በማንኛውም መድረክ ላይ አይደገፍም።
  • የ"--መገለጫ-ውፅዓት" እና "--መገለጫ-ቅርጸት" አማራጮችን በመጠቀም የCMake ስክሪፕቶችን ለመገለጽ ተጨማሪ ድጋፍ።
  • የ add_library () እና add_executable () ትዕዛዞች አሁን ዓለም አቀፍ ያልሆኑ ከውጭ የሚመጡ ኢላማዎችን የሚያመለክቱ ተለዋጭ ኢላማዎችን መፍጠርን ይደግፋሉ።
  • የ cmake_language() ትእዛዝ በስክሪፕት ወይም አብሮ በተሰራ ትዕዛዞች ላይ ለሜታ ኦፕሬሽኖች ታክሏል።
  • የተጨመረ ፋይል(CONFIGURE) ንኡስ ትእዛዝ፣ ከፋይል_ፋይል () ጋር በተግባራዊነት ተመሳሳይ ነው፣ ነገር ግን ይዘቱን ከፋይል ማጣቀሻ ይልቅ እንደ ሕብረቁምፊ ያስተላልፋል።
  • ምንም ካልተገኘ በስህተት ሂደቱን እንዲያቆም የሚያስፈልገው አማራጭ ወደ Find_program()፣ Find_Library() Find_path() እና Find_file() ትእዛዝ ታክሏል።
  • የCUDA አርክቴክቸርን ለማመልከት ተለዋዋጭ "CMAKE_CUDA_ARCHITECTURES" ታክሏል (ተለዋዋጭ "CMAKE_CUDA_COMPILER_ID" ወደ "NVIDIA ከተቀናበረ በራስ-ሰር ተቀናብሯል")።
  • በጄነሬተሮች ውስጥ ለተካተቱት የምንጭ ፋይሎች (BATCH፣ GROUP) የመቧደን ስልተ-ቀመርን ለመምረጥ የ«UNITY_BUILD_MODE» ንብረቱ ታክሏል።
  • የአገናኝ ባንዲራዎችን ትክክለኛነት ለማረጋገጥ የCheckLinkerFlag ሞጁል ታክሏል።
  • የ$ ጄኔሬተር መግለጫዎች ታክለዋል። ,$ ,$ እና $ .
  • የ CTEST_RESOURCE_SPEC_FILE ተለዋዋጭ የግብአት ዝርዝር ፋይሉን ለመለየት ወደ ctest መገልገያ ተጨምሯል።

ምንጭ: opennet.ru

አስተያየት ያክሉ