Wydanie systemu budowania CMake 3.18

Przedstawiony wydanie wieloplatformowego otwartego generatora skryptów kompilacji CMake 3.18, który pełni rolę alternatywy dla Autotools i jest używany w takich projektach jak KDE, LLVM/Clang, MySQL, MariaDB, ReactOS i Blender. Kod CMake jest napisany w języku C++ i jest udostępniany na licencji BSD.

CMake wyróżnia się tym, że oferuje prosty język skryptowy, możliwości rozszerzenia funkcjonalności poprzez moduły, minimalną liczbę zależności (brak powiązań z M4, Perlem czy Pythonem), wsparcie dla pamięci podręcznej, dostępność narzędzi do kompilacji krzyżowej, generację plików kompilacji dla szerokiej gamy systemów kompilacji i kompilatorów, oraz narzędzi ctest i cpack do definiowania skryptów testowych i pakietów, a także narzędzię cmake-gui do interaktywnej konfiguracji parametrów kompilacji.

Podstawowe ulepszenia:

  • Dla języka CUDA wprowadzono możliwość kompilacji przy użyciu Clang na platformach innych niż Windows. Rozdzielna kompilacja CUDA wciąż nie jest wspierana na żadnej platformie.
  • Dodano wsparcie dla profilowania skryptów CMake, używając opcji „—profiling-output” i „—profiling-format”.
  • Do poleceń add_library() i add_executable() dodano wsparcie dla tworzenia celów aliasów (Alias Targets) odnoszących się do nietransparently zaimportowanych celów.
  • Dodano polecenie cmake_language() do operacji meta na skryptowych lub wbudowanych poleceniach.
  • Dodano podpolecenie file(CONFIGURE), analogiczne do funkcjonalności polecenia configure_file(), ale z przekazywaniem treści w formie ciągu, a nie linku do pliku.
  • Do poleceń find_program(), find_library(), find_path() i find_file() dodano opcję REQUIRED, która nakazuje przerwanie przetwarzania z błędem, jeśli nic nie zostało znalezione.
  • Dodano zmienną „CMAKE_CUDA_ARCHITECTURES” do określenia architektury CUDA (ustawiana automatycznie, jeśli zmienna „CMAKE_CUDA_COMPILER_ID” ma wartość „NVIDIA”).
  • Dodano właściwość „UNITY_BUILD_MODE” do wyboru algorytmu grupowania dołączanych plików źródłowych w generatorach (BATCH, GROUP).
  • Dodano moduł CheckLinkerFlag do sprawdzania poprawności flag łączenia.
  • Dodano wyrażenia generatora $, $, $ i $.
  • Do narzędzia ctest dodano zmienną CTEST_RESOURCE_SPEC_FILE do określenia pliku z specyfikacją zasobów.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster