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

Ներդրված է խաչplatformային բաց ծրագրերի сборки գեներատոր CMake 3.16, որը ծառայում է որպես փոխարինող Autotools և օգտագործվում է նման նախագծերում, ինչպես KDE, LLVM/Clang, MySQL, MariaDB, ReactOS և Blender: CMake-ի կոդը գրրված է C++ լեզվով և տարածվում է BSD լիցենզիայի տակ:

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

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

  • Ավելացավ Objective C («OBJC») և Objective C++ («OBJCXX») լեզուների աջակցություն, որոնք կարելի է ակտիվացնել project() և enable_language() հրամանների միջոցով, որից հետո «.m», «.mm» ֆայլերում գտնվող կոդը կահավաքվի որպես Objective C և Objective C++ կոդ, այլ ոչ թե որպես C++ կոդ, ինչպես նախկինում;
    Ավելացավ Clang կոմպիլատորի աջակցություն Solaris-ի վրա;
  • Ավելացված են նոր հրամանատարական սահմանները՝ «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()» հրամանները՝ ֆայլեր, գրադարաններ, ուղիներ, փաթեթներ և executable ֆայլեր փնտրելու համար՝ ըստ տարբերակի, որը սահմանում է տարբեր կատեգորիաների ֆայլերի փնտրելու ուղիները:
    Բուն մատակարարված ուղիներն կառավարվում են «CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH», «CMAKE_FIND_USE_CMAKE_PATH», «CMAKE_FIND_USE_CMAKE_SYSTEM_PATH», «CMAKE_FIND_USE_PACKAGE_ROOT_PATH», «CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH» և «CMAKE_FIND_USE_PACKAGE_REGISTRY» փոփոխականների միջոցով;
    «file()» հրամանին ավելացված է «file(GET_RUNTIME_DEPENDENCIES)» ռեժիմ, որը թույլ է տալիս ռեկուրսիվորեն տրամադրել այն գրադարանների ցանկը, որոնք ծնունդ են տալիս executable ֆայլին կամ գրադարանը динамикորեն կապվելու դեպքում: Ռեժիմը փոխարինեց GetPrerequisites() հրամանին, որը այժմ հայտարարված է որպես հին;
  • «ctest(1)» հրամանում իրագործվել է թեստերի սերիալացում՝ հիմնվելով՝ յուրաքանչյուր թեստի պահանջված ռեսուրսների վրա;
  • «CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY» փոփոխականը հայտարարվել է որպես հին, որի փոխարեն պետք է օգտագործել «CMAKE_FIND_USE_PACKAGE_REGISTRY»;
  • «CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY» փոփոխականը հայտարարվել է որպես հին, որի փոխարեն պետք է օգտագործել «CMAKE_FIND_USE_PACKAGE_REGISTRY»;
  • AIX plataformanın dəstəyi artırılmışdır. "ENABLE_EXPORTS" xüsusiyyətini istifadə edərkən, icraedici dosyayla yanaşı, indi " .imp" uzantısı ilə saxlanan link kütləvi fayl yaradılır. "add_library()" çağırışı ilə yaradılan plaginlərdə, "MODULE" opsiyası ilə bu fayl "target_link_libraries()" əmri ilə kütləvi birləşdirmək üçün istifadə edilə bilər. AIX-də runtime birləşdirmə standart olaraq deaktivdir, çünki CMake, yükləmə zamanı bağlanma üçün bütün lazımi simvolları təqdim edir. Dinamik kitabxanaların və ya yüklənən modulların runtime birləşməsi üçün "-Wl,-G" opsiyalarını "CMAKE_SHARED_LINKER_FLAGS" və "CMAKE_MODULE_LINKER_FLAGS" vasitəsilə müəyyən edilən birləşdirənin işarə siyahısına əlavə etmək lazımdır.

Ընտանիք: opennet.ru

Գնել հուսալի հյուրընկալում DDoS պաշտպանությամբ, VPS VDS սերվերներով 🔥 Գնել հուսալի հյուրընկալում DDoS պաշտպանությամբ, VPS VDS սերվերներով | ProHoster