Vydanie zostavovacieho systému CMake 3.15

uskutočnilo sa vydanie multiplatformového open build generátora skriptov CMake 3.15, ktorý funguje ako alternatíva k Autotools a používa sa v projektoch ako KDE, LLVM/Clang, MySQL, MariaDB, ReactOS a Blender. Kód CMake je napísaný v C++ a distribuovaný pod licenciou BSD.

CMake je pozoruhodný tým, že poskytuje jednoduchý skriptovací jazyk, prostriedok na rozšírenie funkčnosti prostredníctvom modulov, minimálny počet závislostí (bez väzby na M4, Perl alebo Python), podporu ukladania do vyrovnávacej pamäte, prítomnosť nástrojov na krížovú kompiláciu, podporu pre generovanie zostavy súbory pre širokú škálu zostavovacích systémov a kompilátorov, obslužné programy pre prítomnosť ctest a cpack na definovanie testovacích skriptov a zostavovanie balíčkov, utilita cmake-gui na interaktívne nastavenie parametrov zostavovania.

Hlavné vylepšenia:

  • Do generátora zostavovacích skriptov na báze Ninja bola pridaná podpora počiatočného jazyka Rýchly, vyvinutý spoločnosťou Apple;
  • Pridaná podpora pre variant kompilátora Clang pre Windows, ktorý sa vytvára pomocou MSVC ABI, ale používa možnosti príkazového riadka v štýle GNU;
  • Pridané premenné CMAKE_MSVC_RUNTIME_LIBRARY a MSVC_RUNTIME_LIBRARY na výber runtime knižníc používaných kompilátormi založenými na MSVC ABI (MS Visual Studio);
  • Pre kompilátory, ako je MSVC, CMAKE__FLAGS v predvolenom nastavení prestane zobrazovať varovné kontrolné príznaky, ako napríklad "/W3";
  • Pridaný výraz generátora "COMPILE_LANG_AND_ID:" na definovanie možností kompilátora pre cieľové súbory pomocou premenných CMAKE__COMPILER_ID a LANGUAGE pre každý súbor kódu;
  • Vo výrazoch generátora C_COMPILER_ID, CXX_COMPILER_ID,
    CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE,
    COMPILE_LANG_AND_ID a PLATFORM_ID pridali podporu pre priraďovanie jednej hodnoty k zoznamu, ktorého prvky sú oddelené čiarkou;

  • Pridaná premenná CMAKE_FIND_PACKAGE_PREFER_CONFIG, takže volanie find_package() najskôr vyhľadá konfiguračný súbor balíka, aj keď je dostupný vyhľadávač;
  • Pre knižnice rozhraní bola pridaná podpora pre nastavenie vlastností PUBLIC_HEADER a PRIVATE_HEADER, pomocou ktorých je možné nastaviť hlavičky pomocou príkazu install(TARGETS) zadaním argumentov PUBLIC_HEADER a PRIVATE_HEADER;
  • Pridaná premenná CMAKE_VS_JUST_MY_CODE_DEBUGGING a cieľová vlastnosť VS_JUST_MY_CODE_DEBUGGING na aktiváciu režimu "Len môj kód" v ladiacom nástroji Visual Studio pri kompilácii pomocou MSVC cl 19.05 a novších verzií;
  • Prepracovaný bol modul FindBoost, ktorý teraz funguje holistickejšie v režimoch Config a Module v prítomnosti iných vyhľadávacích modulov;
  • Príkaz message() teraz podporuje typy NOTICE, VERBOSE,
    DEBUG a TRACE;

  • Príkaz „export(PACKAGE)“ teraz nerobí nič, pokiaľ nie je explicitne povolený prostredníctvom premennej CMAKE_EXPORT_PACKAGE_REGISTRY.

Zdroj: opennet.ru

Pridať komentár