CMake 3.17.0 zawiera nowy generator skryptów Ninja, ulepszenia i nie tylko

Uruchomienie nowa wersja wieloplatformowego generatora skryptów typu open source CMake 3.17, w którym programiści pracowali aby dodać nowy generator skryptów o nazwie „Ninja Multi-Config”, ulepszenia generatora skryptów programu Visual Studio, ogólne optymalizacje 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.

To narzędzie służy do sterowania procesem kompilacji oprogramowania przy użyciu prostych i niezależnych od platformy plików konfiguracyjnych. Generuje natywne pliki makefile i obszary robocze, których można używać w żądanym środowisku programistycznym.

Jest porównywalny z systemem budowania GNU Unix, ponieważ proces jest kontrolowany przez pliki konfiguracyjne, w przypadku CMake o nazwie CMakeLists.txt.

Co nowego w CMake 3.17.0

Jak wspomniano na początku, jedną z głównych nowości wyróżniających się w nowej wersji CMake 3.17.0 jest dodanie nowego generatora skryptów kompilacji oparty na narzędziach Ninja, który ma nazwę «Multikonfiguracja ninja«, Który różni się od poprzedniego generatora, ponieważ ten nowy generator zapewnia możliwość jednoczesnego przetwarzania wielu konfiguracji kompilacji.

W międzyczasie, w generatorze skryptów kompilacji W przypadku programu Visual Studio można teraz definiować pliki źródłowe dołączone do każdego ustawienia.

Możliwość ustawienia metaparametrów dla CUDA („Cuda_std_03”, „cuda_std_14” itp.) został dodany do narzędzi do konfigurowania funkcji kompilatora (funkcje kompilacji).

Oprócz tego reklama o tym wspomina zmienne zostały dodane «CMAKE_CUDA_RUNTIME_LIBRARY"Y"CUDA_RUNTIME_LIBRARY»Wybór typu bibliotek wykonawczych podczas korzystania z CUDA, a także modułu« FindCUDAToolkit »w celu określenia narzędzi CUDA dostępnych w systemie bez uwzględniania języka CUDA.

W CMake 3.17.0 polecenie «–Debug-find»Dodano wyświetlanie dodatkowych czytelnych informacji diagnostycznych podczas wyszukiwania. W podobnych celach zmienna CMAKE_FIND_DEBUG_MODE.

Dodany wsparcie dla wyszukiwania narzędzi CURL w module «FindCURL» używając plików konfiguracyjnych „CURLConfig.cmake” wygenerowanych przez cmake. Aby wyłączyć to zachowanie, podano zmienną CURL_NO_CURL_CMAKE.

Moduł FindPython dodaje możliwość wyszukiwania komponentów Pythona w środowiskach wirtualnych kontrolowanych przez «Conda".

Dodany opcja «–No-tests = [błąd | ignorować]»Do narzędzia ctest do określić zachowanie w przypadku braku dowodów i „–repeat”, aby określić warunki ponownego uruchomienia testów (do czasu, gdy minie limit czasu).

Z innych zmian wymienionych w ogłoszeniu:

  • Zbuduj właściwości docelowe INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES e INTERFACE_LINK_DEPENDS były przekazywane między wewnętrznymi zależnościami bibliotek składanych statycznie.
  • Korzystając z zestawu narzędzi MinGW, wyszukaj pliki DLL za pomocą polecenia znajdź_bibliotekę jest ona domyślnie wyłączona (zamiast tego podejmowana jest próba zaimportowania bibliotek „.dll.a”).
  • Logika wyboru narzędzia ninja w generatorze Ninja nie zależy teraz od nazwy pliku wykonywalnego - używane jest pierwsze narzędzie budowanie ninja, ninja o samu znaleziono, który znajduje się w ścieżkach zdefiniowanych za pomocą zmiennej środowiskowej PATH.
  • Komenda "-Erm»Został dodany do narzędzia cmake, którego można używać do usuwania plików i katalogów zamiast oddzielnych poleceń«-E usuń"Y"-E usuń_katalog".

W końcu jeśli chcesz dowiedzieć się więcej na ten temat, możesz sprawdzić zapowiedź tej nowej wersji w następujący link.


Bądź pierwszym który skomentuje

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.