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

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

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

مکيه سڌارا:

  • ننجا ٽول ڪٽ جي بنياد تي هڪ نئون اسمبلي اسڪرپٽ جنريٽر شامل ڪيو ويو آهي - “Ninja Multi-Config”، جيڪو هڪ ئي وقت ۾ ڪيترن ئي اسيمبلي جي ترتيبن کي پروسيس ڪرڻ جي صلاحيت ۾ پراڻي جنريٽر کان مختلف آهي.
  • بصري اسٽوڊيو لاء اسيمبلي اسڪرپٽ جنريٽر ۾ ظاهر ٿيو هر ترتيب سان لاڳاپيل ماخذ فائلن کي بيان ڪرڻ جي صلاحيت (في-config ذريعن).
  • CUDA (“cuda_std_03”، “cuda_std_14”، وغيره) لاءِ ميٽا پيرا ميٽرز سيٽ ڪرڻ جي صلاحيت کي ٽولز ۾ شامل ڪيو ويو آھي ڪمپائلر پيرا ميٽرز (ڪمپائل فيچرز) کي ترتيب ڏيڻ لاءِ.
  • شامل ڪيا ويا "CMAKE_CUDA_RUNTIME_LIBRARY" ۽ "CUDA_RUNTIME_LIBRARY" رن ٽائم لائبريرين جو قسم چونڊڻ لاءِ جڏهن CUDA استعمال ڪيو وڃي.
  • شامل ڪيو ويو "FindCUDAToolkit" ماڊل کي طئي ڪرڻ لاءِ ته سسٽم تي موجود CUDA ٽول ڪٽ جو CUDA ٻولي کي فعال ڪرڻ کان سواءِ.
  • شامل ڪيو ويو "--debug-find" حڪم cmake ڪرڻ لاءِ اضافي پڙهڻ جي قابل تشخيص کي ٻاھر ڪڍڻ لاءِ جڏهن سرچ آپريشن ڪيو وڃي. ساڳئي مقصدن لاء، CMAKE_FIND_DEBUG_MODE متغير شامل ڪيو ويو آھي.
  • "FindCURL" ماڊل ۾ cmake-generated configuration files "CURLConfig.cmake" کي استعمال ڪندي CURL اوزار جي ڳولا لاءِ مدد شامل ڪئي وئي. ھن رويي کي غير فعال ڪرڻ لاء، CURL_NO_CURL_CMAKE متغير مهيا ڪيو ويو آھي.
  • FindPython module شامل ڪيو آهي Python اجزاء ڳولڻ جي صلاحيت مجازي ماحول ۾ "ڪنڊا" استعمال ڪندي منظم.
  • ctest يوٽيليٽي شامل ڪيو آهي “--no-tests=[error|ignore]” اختيارن کي شامل ڪيو ويو آهي رويي جي وضاحت ڪرڻ لاءِ ٽيسٽ نه ٿيڻ جي صورت ۾ ۽ “--دوبارا” ٽيسٽ کي ٻيهر هلائڻ لاءِ شرطون مقرر ڪرڻ لاءِ (جڏهن ته-پاس، وقت ختم ٿيڻ کان پوء).
  • اسيمبليءَ جي ٽارگيٽ جا خاصيتون INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES ۽ INTERFACE_LINK_DEPENDS ھاڻي منتقل ٿيل آھن اندروني انحصار جي وچ ۾ مستحڪم طور تي گڏ ٿيل لائبريرين جي.
  • جڏهن MinGW ٽول ڪٽ استعمال ڪيو وڃي، DLL فائلن جي ڳولا find_library ڪمانڊ سان ڊفالٽ طور تي بند ٿيل آهي (ان جي بدران، ڊفالٽ ڪوشش آهي ".dll.a" لائبريري کي درآمد ڪرڻ).
  • ننجا جنريٽر ۾ ننجا يوٽيلٽي کي چونڊڻ لاءِ منطق هاڻي ايگزيڪيوٽوبل فائل جي نالي تي منحصر نه آهي - PATH ماحوليات جي متغير ذريعي بيان ڪيل رستن ۾ مليل پهرين ننجا تعمير، ننجا يا سامو يوٽيلٽي استعمال ڪئي وئي آهي.
  • شامل ڪيو ويو "-E rm" حڪم cmake لاءِ جيڪو استعمال ڪري سگھجي ٿو فائلن ۽ ڊائريڪٽرن کي هٽائڻ جي بجاءِ الڳ "-E remove" ۽ "-E remove_directory" حڪمن جي.

جو ذريعو: opennet.ru

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