CMake 3.15 build համակարգի թողարկում

տեղի ունեցավ խաչաձև հարթակի բաց կառուցման սցենարների գեներատորի թողարկում CMake 3.15, որը հանդես է գալիս որպես Autotools-ի այլընտրանք և օգտագործվում է այնպիսի նախագծերում, ինչպիսիք են KDE, LLVM/Clang, MySQL, MariaDB, ReactOS և Blender: CMake կոդը գրված է C++-ով և տարածվում է BSD լիցենզիայի ներքո:

CMake-ը հատկանշական է սկրիպտավորման պարզ լեզու տրամադրելու, մոդուլների միջոցով ֆունկցիոնալությունը ընդլայնելու միջոցի, նվազագույն թվով կախվածությունների (առանց M4-ի, Perl-ի կամ Python-ի հետ կապվելու), քեշավորման աջակցությամբ, խաչաձեւ կոմպիլյացիայի գործիքների առկայությամբ, կառուցման ստեղծման աջակցությամբ: ֆայլեր կառուցման համակարգերի և կոմպիլյատորների լայն շրջանակի համար, առկայություն ctest և cpack կոմունալ ծառայություններ՝ թեստային սկրիպտների և կառուցման փաթեթների սահմանման համար, cmake-gui կոմունալ՝ ինտերակտիվ build պարամետրերը սահմանելու համար:

Հիմնական բարելավումներ:

  • Նախնական լեզվական աջակցությունը ավելացվել է Ninja-ի վրա հիմնված build script գեներատորին արագ, մշակված Apple-ի կողմից;
  • Ավելացված է աջակցություն Windows-ի համար Clang կոմպիլյատորի տարբերակին, որը կառուցվում է MSVC ABI-ով, բայց օգտագործում է GNU ոճի հրամանի տողի ընտրանքներ;
  • Ավելացվել են CMAKE_MSVC_RUNTIME_LIBRARY և MSVC_RUNTIME_LIBRARY փոփոխականներ՝ MSVC ABI-ի (MS Visual Studio) վրա հիմնված կոմպիլյատորների կողմից օգտագործվող աշխատաժամանակի գրադարանները ընտրելու համար;
  • Կոմպիլյատորների համար, ինչպիսին է MSVC-ն, CMAKE__FLAGS-ը լռելյայն դադարեցնում է նախազգուշացնող հսկողության դրոշների ցուցակագրումը, ինչպիսիք են «/W3»;
  • Ավելացրել է «COMPILE_LANG_AND_ID:» գեներատոր արտահայտություն՝ նպատակային ֆայլերի համար կոմպիլյատորների ընտրանքներ սահմանելու համար՝ օգտագործելով CMAKE__COMPILER_ID և LANGUAGE փոփոխականները յուրաքանչյուր կոդային ֆայլի համար;
  • 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()-ը կանչողն առաջինը որոնի փաթեթի կազմաձևման ֆայլը, նույնիսկ եթե որոնիչ կա;
  • Ինտերֆեյսի գրադարանների համար աջակցություն է ավելացվել PUBLIC_HEADER և PRIVATE_HEADER հատկությունները սահմանելու համար, որոնց միջոցով վերնագրերը կարող են սահմանվել install(TARGETS) հրամանի միջոցով՝ փոխանցելով PUBLIC_HEADER և PRIVATE_HEADER արգումենտները;
  • Ավելացվեց CMAKE_VS_JUST_MY_CODE_DEBUGGING փոփոխական և նպատակային հատկություն VS_JUST_MY_CODE_DEBUGGING՝ «Just My Code» ռեժիմը Visual Studio կարգաբերիչում միացնելու համար MSVC cl 19.05 և ավելի նոր տարբերակների միջոցով կոմպիլյացիայի ժամանակ;
  • FindBoost մոդուլը վերանախագծվել է, որն այժմ ավելի ամբողջական է աշխատում Config և Module ռեժիմներում՝ այլ որոնման մոդուլների առկայության դեպքում;
  • Message() հրամանն այժմ աջակցում է NOTICE, VERBOSE,
    DEBUG և TRACE;

  • «Export(PACKAGE)» հրամանն այժմ ոչինչ չի անում, եթե հստակորեն միացված չէ CMAKE_EXPORT_PACKAGE_REGISTRY փոփոխականի միջոցով:

Source: opennet.ru

Добавить комментарий