CMake 3.28 został już wydany i oto jego nowe funkcje

CMake

Logo CMake

Ogłoszono wydanie nowej wersji CMake 3.28, która zawiera ulepszenia obsługi, a także możliwość kompilacji języka HIP dla procesorów graficznych NVIDIA, poprawki błędów i nie tylko.

Dla tych, którzy nie wiedzą CMake, powinni to wiedzieć to wieloplatformowe narzędzie do generowania lub automatyzacji kodu który działa jako alternatywa dla Autotools i jest używany w projektach takich jak KDE, LLVM / Clang, MySQL, MariaDB, ReactOS i Blender.

CMake wyróżnia się prostym językiem skryptowym, oznacza rozszerzenie funkcjonalności na moduły, minimalną liczbę zależności (brak powiązania z M4, Perlem lub Pythonem), obsługę buforowania, obecność narzędzi do kompilacji krzyżowej, obsługa generowania plików kompilacji dla szerokiej gamy systemów kompilacji i kompilatorów, obecność narzędzi ctest i cpack do definiowania skryptów testowych i kompilacyjnych, narzędzie cmake-gui do interaktywnej konfiguracji parametrów kompilacji.

Co nowego w CMake 3.28

W tej nowej wersji CMake 3.28, obsługa modułów zdefiniowanych w specyfikacji C++20 do budowania generatorów skryptów dla Visual Studio i Ninja w połączeniu z zestawem narzędzi MSVC 14.34 (dostarczanym z VS 17.4) i nowszymi, LLVM/Clang 16.0 i nowszymi oraz GCC 14 (po 2023) i nowszymi.

Kolejną atrakcją nowej wersji CMake 3.28 jest obsługa kompilacji kodu GPU NVIDIA w języku HIP przy użyciu kompilatora NVCC, ponieważ dodano zmienną CMAKE_HIP_PLATFORM w celu wybrania platformy GPU dla HIP („amd” lub „nvidia”).

Oprócz tego Katalogi „xcframework” są teraz obsługiwane na platformach Apple. dzięki temu polecenie find_library wyszukuje teraz foldery .xcframework, a target_link_libraries obsługuje teraz łącza do folderu .xcframework.

W CMake 3.28 Polecenia find_library(), find_path() i find_file() w systemie Windows wyłączają wyszukiwanie katalogów instrukcje instalacji uzyskane ze zmiennej środowiskowej PATH (aby ujednolicić zachowanie w systemie Windows z innymi platformami). To zachowanie zostało dodane w CMake 3.3 w celu obsługi środowisk programistycznych MSYS i MinGW() w systemie Windows, ale może sprawdzać obecność niepożądanych przedrostków w PATH z niepowiązanych powodów. CMake 3.6 przywrócił to zachowanie na platformach innych niż Windows, a teraz zostało to przywrócone również na platformach Windows.

Jeśli chodzi o ulepszenia modułów, warto zauważyć, że OutsideProject zawiera teraz opcję BUILD_JOB_SERVER_AWARE dla komendy OutsideProject_Add(). Ta opcja umożliwia integrację serwera zadań GNU Make, gdy BUILD_COMMAND jest jawnie używany z niektórymi generatorami Makefile.

Z innych zmian które wyróżniają się na tle nowej wersji:

  • Usunięto polecenie „exec_program()”, które było przestarzałe w wersji 3.0. Aby wykonać procesy, użyj polecenia „execute_process()”.
  • Pliki wygenerowane przy użyciu trybu „FILE_SET” są teraz domyślnie traktowane jako prywatne, co pozwala na wydajniejszy wykres kompilacji w generatorach Ninja.
  • Zmienna środowiskowa CMAKE_PREFIX_PATH może teraz zawierać listę wyszukiwanych przedrostków rozdzielonych średnikami.
  • Podczas korzystania z narzędzi MinGW w środowisku Windows MSYSTEM, przedrostki $MSYSTEM_PREFIX/local i $MSYSTEM_PREFIX są teraz dodawane do CMAKE_SYSTEM_PREFIX_PATH.
  • Prekompilowane pliki binarne systemu Linux x86_64 dostępne na cmake.org wymagają teraz GLIBC 2.17 lub nowszego.
  • Kompilatory oparte na Cray Clang obsługują teraz identyfikator kompilatora CrayClang.
  • Kompilator OrangeC obsługuje teraz identyfikator kompilatora OrangeC.

Wreszcie, jeśli chcesz dowiedzieć się więcej na ten temat, możesz zapoznać się ze szczegółami w następujący link.

Pobierz nową wersję CMake

Osoby zainteresowane możliwością zainstalowania nowej wersji Cmake w swoim systemie powinny wiedzieć, że nową wersję można pobrać z sekcji pobierania na stronie projektu. Link jest taki.

W przypadku Linuksa w większości dystrybucji wystarczy wykonać polecenia aktualizacji, aby uzyskać nową wersję. Chociaż jeśli wolisz kompilować z kodu źródłowego, po prostu pobierz pakiet odpowiadający Twojej architekturze, rozpakuj i wykonaj polecenia kompilacji (już w folderze):

./bootstrap
make -j$(nproc)
sudo make install


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.