Izdanje sustava za izgradnju CMake 3.16.

Predstavljen izdanje multiplatformskog otvorenog generatora za skripte za izgradnju CMake 3.16, koji služi kao alternativa Autotools i koristi se u projektima poput KDE, LLVM/Clang, MySQL, MariaDB, ReactOS i Blender. Kod CMake napisan je u C++ i distribuira se pod BSD licencom.

CMake se ističe jednostavnim jezikom skripti, mogućnostima proširenja funkcionalnosti putem modula, minimalnim brojem ovisnosti (nema povezanosti s M4, Perlom ili Pythonom), podrškom za keširanje, alatima za kružno kompiliranje, podrškom za generiranje datoteka za izgradnju za širok spektar sustava izgradnje i kompajlera, te alatima ctest i cpack za definiranje skripti za testiranje i pakiranje, a također i alatom cmake-gui za interaktivno postavljanje opcija izgradnje.

Glavne poboljšanja:

  • Dodana podrška za jezike Objective C («OBJC») i Objective C++ («OBJCXX»), koji se mogu aktivirati putem naredbi project() i enable_language(), nakon čega će se kod u datotekama «.m» i «.mm» kompilirati kao kod na Objective C i Objective C++, a ne kao kod na C++, kao što je to bilo ranije;
    Dodana podrška za Clang prevoditelj na Solaris platformi;
  • Dodani su novi parametri naredbenog retka: «cmake -E true|false» za ispis kodova povratka 0 i 1; «cmake —trace-redirect=» za preusmjeravanje informacija o praćenju u datoteku, umjesto
  • «stderr»; naredba «cmake —loglevel» preimenovana je u «—log-level» radi usklađivanja s nazivima ostalih naredbi;
    Dodana je naredba «target_precompile_headers()» za nabrajanje popisa zaglavlja koji se koriste pri predkompajlaciji (smanjuje vrijeme gradnje);
  • Dodano svojstvo «UNITY_BUILD», koje aktivira paketni način obrade izvornog koda u generatorima radi ubrzanja gradnje;
  • Dodane su naredbe «find_file()», «find_library()», «find_path()»,
  • «find_package()» i «find_program()» za pretraživanje datoteka, biblioteka, putanja, paketa i izvršnih datoteka u skladu s varijablama koje definiraju putanje pretraživanja različitih kategorija datoteka.
    Za upravljanje osnovnim putanjama za pretraživanje koriste se varijable «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» i «CMAKE_FIND_USE_PACKAGE_REGISTRY»;
    U naredbu «file()» dodan je način «file(GET_RUNTIME_DEPENDENCIES)», koji omogućuje rekurzivno izvlačenje popisa biblioteka uključenih u dinamičko povezivanje izvršne datoteke ili biblioteke. Ovaj način zamijenio je naredbu GetPrerequisites(), koja je sada proglašena zastarjelom;
  • U naredbi «ctest(1)» implementirana je mogućnost serijalizacije testova, temeljenih na resursima potrebnim za svaki test;
  • Proglašena je zastarjelom varijabla «CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY», umjesto koje treba koristiti «CMAKE_FIND_USE_PACKAGE_REGISTRY»;
  • Promjenjiva «CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY» proglašena je zastarjelom, a umjesto nje treba koristiti «CMAKE_FIND_USE_PACKAGE_REGISTRY»;
  • Poboljšana podrška za AIX platformu. Kada se koristi svojstvo "ENABLE_EXPORTS", pored izvršne datoteke, sada se formira i importna datoteka za linker, koja se čuva s ekstenzijom ".imp". U pluginovima kreiranim pomoću poziva "add_library()" s opcijom "MODULE", ova datoteka se može koristiti prilikom linkanja s komandom "target_link_libraries()". Runtime linkanje na AIX-u je po defaultu onemogućeno, jer CMake sada pruža sve potrebne informacije o simbolima za povezivanje tokom učitavanja. Za primjenu runtime linkanja dinamičkih biblioteka ili učitavanih modula potrebno je eksplicitno navesti opcije "-Wl,-G" u listama pokretačkih zastavica linkera, definiranih preko varijabli "CMAKE_SHARED_LINKER_FLAGS" i "CMAKE_MODULE_LINKER_FLAGS".

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster