د CMake 3.16 جوړ سیسټم خوشې کول

له خوا سپارل شوي د کراس پلیټ فارم خلاص جوړ سکریپټ جنراتور خوشې کول CM3.16 XNUMX، کوم چې د Autotools د بدیل په توګه کار کوي او په پروژو کې کارول کیږي لکه KDE، LLVM/Clang، MySQL، MariaDB، ReactOS او Blender. د CMake کوډ په C++ کې لیکل شوی او د BSD جواز لاندې ویشل شوی.

CMake د ساده سکریپټینګ ژبې چمتو کولو لپاره د پام وړ دی ، د ماډلونو له لارې د فعالیت غزولو وسیله ، د انحصار لږترلږه شمیر (د M4 ، پرل یا پایتون لپاره هیڅ پابند ندی) ، د کیشینګ ملاتړ ، د کراس تالیف لپاره د وسیلو شتون ، د تولید تولید لپاره ملاتړ فایلونه د جوړونې سیسټمونو او تالیف کونکو پراخه لړۍ لپاره ، د ازموینې سکریپټونو تعریف کولو او د کڅوړو جوړولو لپاره د ctest او cpack اسانتیاو شتون ، د متقابل جوړونې پیرامیټونو تنظیم کولو لپاره cmake-gui یوټیلیټ.

اصلي پرمختګونه:

  • د هدف C ("OBJC") او هدفي ژبو لپاره ملاتړ اضافه شوی
    C++ ("OBJCXX")، کوم چې د پروژې() او enable_language() کمانډونو له لارې فعال کیدی شي، وروسته له دې چې د ".m" ".mm" فایلونو کې کوډ به د هدف C او هدف 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_PATHENCMAKE_PATH"، "او" MAKE_FIND_USE_PACKAGE_REGIST" د بنسټ لټون لارې کنټرول لپاره کارول کیږي RY"؛

  • د "فایل()" کمانډ ته د "فایل(GET_RUNTIME_DEPENDENCIES)" حالت اضافه شوی، کوم چې تاسو ته اجازه درکوي په تکراري توګه د هغه کتابتونونو لیست بیرته ترلاسه کړئ کله چې په متحرک ډول د اجرا وړ فایل یا کتابتون سره اړیکه ونیسئ. حالت د GetPrerequisites() کمانډ بدل کړ، کوم چې اوس له مینځه وړل شوی؛
  • د "ctest(1)" کمانډ د هرې ازموینې لپاره اړین سرچینو پراساس د ازموینو لړۍ کولو وړتیا پلي کوي؛
  • متغیر "CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY" له مینځه وړل شوی او باید د "CMAKE_FIND_USE_PACKAGE_REGISTRY" سره بدل شي؛
  • د AIX پلیټ فارم ملاتړ ښه شوی. کله چې د "ENABLE_EXPORTS" ملکیت کاروئ، د اجرا وړ فایل سربیره، د لینکر لپاره د وارداتو فایل اوس تولید شوی، د ".imp" توسیع سره خوندي شوی. په پلگ انونو کې چې د "موډیل" اختیار سره د "add_library()" په زنګ وهلو سره رامینځته شوي ، دا فایل د "target_link_libraries()" کمانډ په کارولو سره د لینک کولو پرمهال کارول کیدی شي. په AIX کې د چلولو وخت لینک کول په ډیفالټ ډول غیر فعال شوي ځکه چې CMake اوس د بار په وخت کې د لینک کولو لپاره ټول اړین سمبول معلومات چمتو کوي. د متحرک کتابتونونو یا د بار وړ وړ ماډلونو د چلولو لینک کولو کارولو لپاره، تاسو باید په واضح ډول د لینکر پیل بیرغونو لیستونو کې "-Wl، -G" اختیارونه مشخص کړئ، د "CMAKE_SHARED_LINKER_FLAGS" او "CMAKE_MODULE_LINKER_FLAGS" متغیرونو له لارې تعریف شوي.

سرچینه: opennet.ru

Add a comment