CMake 3.16 بلڊ سسٽم جو رليز

پاران پيش ڪيل هڪ ڪراس پليٽ فارم اوپن بلڊ اسڪرپٽ جنريٽر جو ڇڏڻ سي ايم ڪي 3.16، جيڪو Autotools جي متبادل طور ڪم ڪري ٿو ۽ پروجيڪٽس ۾ استعمال ٿئي ٿو جهڙوڪ KDE، LLVM/Clang، MySQL، MariaDB، ReactOS ۽ Blender. CMake ڪوڊ C++ ۾ لکيل آهي ۽ BSD لائسنس تحت ورهايو ويو آهي.

CMake هڪ سادي اسڪرپٽنگ ٻولي مهيا ڪرڻ لاءِ قابل ذڪر آهي، ماڊلز ذريعي ڪارڪردگي وڌائڻ جو هڪ وسيلو، انحصار جو گهٽ ۾ گهٽ تعداد (ايم 4، پرل يا پٿون جو ڪو به پابند ناهي)، ڪيشنگ سپورٽ، ڪراس ڪمپيليشن لاءِ اوزارن جي موجودگي، تعمير ٺاهڻ لاءِ سپورٽ فائلون وڏين حد تائين بلڊ سسٽم ۽ ڪمپلرز لاءِ، موجودگي ctest ۽ cpack افاديت جي وضاحت ڪرڻ لاءِ ٽيسٽ اسڪرپٽس ۽ بلڊنگ پيڪيجز، cmake-gui utility for interactively setting build parameters.

مکيه سڌارا:

  • Objective C ("OBJC") ۽ مقصدي ٻولين لاءِ سپورٽ شامل ڪئي وئي
    C++ ("OBJCXX")، جنهن کي پروجيڪٽ() ۽ enable_language() ڪمانڊز ذريعي فعال ڪري سگھجي ٿو، جنهن کان پوءِ ".m" ".mm" فائلن ۾ موجود ڪوڊ کي ترتيب ڏيندو Objective C ۽ Objective C++ ڪوڊ، بجاءِ جيئن C++، جيئن اڳ ۾ هو؛

  • سولاريس پليٽ فارم تي ڪلنگ ڪمپلر لاءِ سپورٽ شامل ڪئي وئي؛
  • شامل ڪيو ويو نئون ڪمانڊ لائن آپشن: “cmake -E true|false” واپسي جا ڪوڊ پرنٽ ڪرڻ لاءِ 0 ۽ 1؛ "cmake --trace-redirect=" ان جي بدران هڪ فائل ڏانهن ٽريس معلومات کي ريڊريٽ ڪرڻ لاءِ
    "stderr"؛ "cmake --loglevel" حڪم جو نالو تبديل ڪيو ويو آهي "-log-level" ان کي ٻين حڪمن جي نالن سان قطار ۾ آڻڻ لاء؛

  • شامل ڪيو ويو “target_precompile_headers()” ڪمانڊ اڳي ٺاھڻ دوران استعمال ٿيل ھيڊر فائلن جي لسٽ کي لسٽ ڪرڻ لاءِ (تعمير وقت گھٽائي ٿو)؛
  • شامل ڪيو ويو "UNITY_BUILD" ملڪيت، جيڪو بيچ موڊ کي چالو ڪري ٿو پروسيسنگ سورس فائلن لاءِ جنريٽر ۾ تعمير کي تيز ڪرڻ لاءِ؛
  • شامل ڪيل ڪمانڊ “Find_file()”, “find_library()”, “find_path()”,
    "find_package()" ۽ "find_program()" فائلن جي ڳولا لاءِ، لائبريريون، رستا، پيڪيجز ۽ ايگزيڪيوٽيبلز کي متغيرن جي مطابق جيڪي فائلن جي مختلف قسمن جي ڳولا جا رستا بيان ڪن ٿا.
    متغير "CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH"، "CMAKE_FIND_USE_CMAKE_PATH"، "CMAKE_FIND_USE_CMAKE_SYSTEM_PATH"، "CMAKE_FIND_USE_PACKAGE_ROOT_PATH_PATH_PATHEN_PATH_PATH_PATH_PATH_PATH_PATH_PATH MAKE_FIND_USE_PACKAGE_REGIST" بنيادي ڳولها رستا ڪنٽرول ڪرڻ لاءِ استعمال ڪيا ويندا آهن RY"؛

  • "فائل(GET_RUNTIME_DEPENDENCIES)" موڊ کي "file()" ڪمانڊ ۾ شامل ڪيو ويو، جيڪو توھان کي اجازت ڏئي ٿو استعمال ٿيل لائبريرين جي لسٽ کي ٻيهر حاصل ڪرڻ جي جڏھن متحرڪ طور تي ھڪڙي قابل عمل فائل يا لائبريري کي ڳنڍيندي. موڊ GetPrerequisites() ڪمانڊ کي تبديل ڪيو، جيڪو ھاڻي ختم ڪيو ويو آھي؛
  • "ctest(1)" حڪم هر ٽيسٽ لاءِ گهربل وسيلن جي بنياد تي ٽيسٽ سيريل ڪرڻ جي صلاحيت کي لاڳو ڪري ٿو.
  • متغير "CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY" کي ختم ڪيو ويو آهي ۽ "CMAKE_FIND_USE_PACKAGE_REGISTRY" سان تبديل ڪيو وڃي.
  • بهتر AIX پليٽ فارم سپورٽ. جڏهن "ENABLE_EXPORTS" ملڪيت استعمال ڪندي، قابل عمل فائل کان علاوه، لنڪر لاءِ هڪ درآمد واري فائل هاڻي ٺاهي وئي آهي، ".imp" ايڪسٽينشن سان محفوظ ڪئي وئي آهي. پلگ ان ۾ "add_library()" کي ڪال ڪندي "MODULE" اختيار سان، ھي فائل استعمال ڪري سگھجي ٿي جڏھن ڳنڍڻ وقت "target_link_libraries()" ڪمانڊ استعمال ڪندي. AIX تي رن ٽائم لنڪنگ ڊفالٽ طور بند ٿيل آھي ڇو ته CMake ھاڻي لوڊ وقت تي ڳنڍڻ لاءِ سڀ ضروري علامت معلومات مهيا ڪري ٿي. متحرڪ لائبريرين جي رن ٽائم لنڪنگ يا لوڊ ڪرڻ جي قابل ماڊلز کي استعمال ڪرڻ لاءِ، توھان کي واضح طور تي اختيارن کي بيان ڪرڻ گھرجي "-Wl، -G" لنڪر جي شروعاتي جھنڊن جي لسٽن ۾، متغيرن جي ذريعي وضاحت ڪئي وئي "CMAKE_SHARED_LINKER_FLAGS" ۽ "CMAKE_MODULE_LINKER_FLAGS"

جو ذريعو: opennet.ru

تبصرو شامل ڪريو