CMake 3.15 တည်ဆောက်မှုစနစ်ကို ဖြန့်ချိသည်။

နေရာယူခဲ့သည်။ cross-platform တွင် open build script generator ကို ထုတ်ပေးသည်။ CMake ၃.၁၇Autotools ၏ အခြားရွေးချယ်စရာအဖြစ် လုပ်ဆောင်ပြီး KDE၊ LLVM/Clang၊ MySQL၊ MariaDB၊ ReactOS နှင့် Blender ကဲ့သို့သော ပရောဂျက်များတွင် အသုံးပြုပါသည်။ CMake ကုဒ်ကို C++ ဖြင့် ရေးသားထားပြီး BSD လိုင်စင်အောက်တွင် ဖြန့်ဝေထားသည်။

CMake သည် ရိုးရှင်းသော scripting language၊ modules များမှတဆင့်လုပ်ဆောင်နိုင်စွမ်းကိုတိုးချဲ့ခြင်းနည်းလမ်းများ၊ အနည်းငယ်မျှသောမှီခိုမှုအရေအတွက် (M4၊ Perl သို့မဟုတ် Python နှင့်ဆက်စပ်မှုမရှိသော)၊ caching ပံ့ပိုးမှု၊ cross-compilation အတွက် tools များပါဝင်မှု၊ တည်ဆောက်မှုဖန်တီးရန်ပံ့ပိုးမှုတို့အတွက် မှတ်သားဖွယ်ကောင်းပါသည်။ တည်ဆောက်မှုစနစ်များနှင့် စုစည်းမှုများစွာအတွက် ဖိုင်များ၊ စမ်းသပ် script များနှင့် တည်ဆောက်မှုပက်ကေ့ချ်များကို သတ်မှတ်ခြင်းအတွက် တည်ရှိမှု ctest နှင့် cpack utilities၊ တည်ဆောက်မှုဘောင်များကို အပြန်အလှန်တုံ့ပြန်ရန်အတွက် cmake-gui utility။

အဓိက တိုးတက်မှုများ:

  • ကနဦးဘာသာစကားပံ့ပိုးမှုကို Ninja-based build script generator တွင် ထည့်သွင်းထားပါသည်။ ဆွစ်ဖ်, Apple ကတီထွင်;
  • MSVC ABI ဖြင့်တည်ဆောက်ထားသည့် Windows အတွက် Clang compiler ၏ မူကွဲတစ်ခုအတွက် ပံ့ပိုးမှုထပ်ထည့်ထားသော်လည်း GNU ပုံစံ command line ရွေးချယ်မှုများကို အသုံးပြုသည်။
  • MSVC ABI (MS Visual Studio) ကိုအခြေခံ၍ MSVC ABI (MS Visual Studio) ကိုအခြေခံ၍ စုစည်းသူများအသုံးပြုသည့် runtime စာကြည့်တိုက်များကို ရွေးချယ်ရန် CMAKE_MSVC_RUNTIME_LIBRARY နှင့် MSVC_RUNTIME_LIBRARY ကိန်းရှင်များကို ပေါင်းထည့်ထားသည်။
  • MSVC ကဲ့သို့သော ကွန်ပြူတာများအတွက်၊ CMAKE__FLAGS သည် ပုံမှန်အားဖြင့် "/W3" ကဲ့သို့သော သတိပေးထိန်းချုပ်မှုအလံများကို စာရင်းမသွင်းတော့ဘဲ၊
  • ကုဒ်ဖိုင်တစ်ခုစီအတွက် CMAKE__COMPILER_ID နှင့် LANGUAGE variables များကို အသုံးပြု၍ ပစ်မှတ်ဖိုင်များအတွက် စုစည်းမှုရွေးချယ်စရာများကို သတ်မှတ်ရန် generator expression "COMPILE_LANG_AND_ID:" ကို ထည့်သွင်းခဲ့သည်။
  • မီးစက်အသုံးအနှုန်းများတွင် C_COMPILER_ID၊ CXX_COMPILER_ID၊
    CUDA_COMPILER_ID၊ Fortran_COMPILER_ID၊ COMPILE_LANGUAGE၊
    COMPILE_LANG_AND_ID နှင့် PLATFORM_ID တို့သည် ဒြပ်စင်များကို ကော်မာဖြင့် ပိုင်းခြားထားသော စာရင်းတစ်ခုသို့ တန်ဖိုးတစ်ခုတည်းနှင့် ကိုက်ညီမှုအတွက် ပံ့ပိုးမှု ထပ်လောင်းထည့်သွင်းထားသည်။

  • ကိန်းရှင် CMAKE_FIND_PACKAGE_PREFER_CONFIG ကိုထည့်သွင်းထားသောကြောင့် find_package() ကိုခေါ်ဆိုခြင်းသည် ရှာဖွေသူရရှိနိုင်သော်လည်း၊ အထုပ်၏ဖွဲ့စည်းပုံဖိုင်ကို ဦးစွာရှာဖွေမည်ဖြစ်သည်။
  • အင်စတောလုပ်ခြင်း (TARGETS) အမိန့်ကို အသုံးပြု၍ PUBLIC_HEADER နှင့် PRIVATE_HEADER အကြောင်းပြချက်များကို ကျော်ဖြတ်ခြင်းဖြင့် ခေါင်းစီးများကို သတ်မှတ်နိုင်သည့် PUBLIC_HEADER နှင့် PRIVATE_HEADER ဂုဏ်သတ္တိများ သတ်မှတ်ခြင်းအတွက် ပံ့ပိုးမှုထည့်သွင်းထားပါသည်။
  • MSVC cl 19.05 နှင့် အသစ်ထွက်ဗားရှင်းများကို အသုံးပြု၍ ဗားရှင်းအသစ်များကို အသုံးပြု၍ "Just My Code" မုဒ်တွင် "Just My Code" မုဒ်ကိုဖွင့်ရန် CMAKE_VS_JUST_MY_CODE_DEBUGGING ကိန်းရှင်နှင့် ပစ်မှတ်ပိုင်ဆိုင်မှု VS_JUST_MY_CODE_DEBUGGING ကိုထည့်သွင်းထားသည်။
  • FindBoost မော်ဂျူးကို ပြန်လည်ဒီဇိုင်းရေးဆွဲထားပြီး၊ ယခုအခါ အခြားရှာဖွေမှု မော်ဂျူးများရှေ့တွင် Config နှင့် Module မုဒ်များတွင် လုံးလုံးလျားလျား အလုပ်လုပ်ပါသည်။
  • ယခု message() command သည် NOTICE၊ VERBOSE အမျိုးအစားများကို ပံ့ပိုးပေးပါသည်။
    DEBUG နှင့် TRACE;

  • CMAKE_EXPORT_PACKAGE_REGISTRY ကိန်းရှင်မှတစ်ဆင့် ပြတ်သားစွာဖွင့်ထားခြင်းမရှိပါက "ပို့ကုန်(PACKAGE)" ညွှန်ကြားချက်သည် ယခုတွင် ဘာမှလုပ်ဆောင်မည်မဟုတ်ပါ။

source: opennet.ru

မှတ်ချက် Add