Articles

cmake (1)¶

opcje¶

-S <path-to-source>

ścieżka do katalogu głównego projektu CMake do zbudowania.

-B <path-to-build>

ścieżka do katalogu, którego CMake będzie używał jako katalogu głównego kompilacji.

Jeśli katalog jeszcze nie istnieje CMake go stworzy.

-C <initial-cache>

wstępnie załaduj skrypt, aby zapełnić pamięć podręczną.

gdy CMake jest uruchamiany po raz pierwszy w pustym drzewie kompilacji, tworzy plikCMakeCache.txt I zapełnia go konfigurowalnymi ustawieniami dla projektu. Opcja ta może być użyta do określenia pliku, z którego można załadować wpisy pamięci podręcznej przed pierwszym przejściem przez pliki listy projektów. Załadowane wpisy mają pierwszeństwo przed domyślnymi wartościami projektu. Podany plik powinien być skryptem CMake zawierającym poleceniaset(), które używają opcjiCACHE, a nie Pliku w formacie acache.

odniesienia doCMAKE_SOURCE_DIR ICMAKE_BINARY_DIRw skrypcie ewaluują do źródła najwyższego poziomu i budują drzewo.

-D <var>:<type>=<value>, -D <var>=<value>

Utwórz lub zaktualizuj wpis CMakeCACHE.

gdy CMake jest uruchamiany po raz pierwszy w pustym drzewie kompilacji, tworzy plikCMakeCache.txt I zapełnia go konfigurowalnymi ustawieniami dla projektu. Ta opcja może być użyta do określenia ustawienia, którawatuje priorytet nad domyślną wartością projektu. Opcja może być ustawiona dla dowolnej liczby wpisów CACHE.

Jeśli podano część:<type>, musi to być jeden z typów wyszczególnionych w dokumentacji poleceniaset() dla jej podpisuCACHE.Jeśli część:<type> zostanie pominięta, wpis zostanie utworzony bez typu, jeśli nie istnieje już z typem. Jeśli polecenie w projekcie ustawi typ na PATH lub FILEPATH, to <value> zostanie przekonwertowana na ścieżkę bezwzględną.

opcja ta może być również podana jako pojedynczy argument:-D<var>:<type>=<value> lub-D<var>=<value>.

-U <globbing_expr>

Usuń pasujące wpisy z CMakeCACHE.

Ta opcja może być użyta do usunięcia jednej lub więcej zmiennych z plikuCMakeCache.txt, przy czym wyrażenia globalizujące używają* I?. Opcja ta może być powtórzona dla tylu wpisów CACHE, ile zostało wpisanych.

używaj ostrożnie, możesz sprawić, że TwójCMakeCache.txt nie będzie działał.

-G <generator-name>

Określ generator systemu budowania.

CMake może obsługiwać wiele natywnych systemów budowania na określonych platformach. Generator jest odpowiedzialny za generowanie konkretnego systemu. Możliwe nazwy generatorów są podane w instrukcjicmake-generators(7).

Jeśli nie podano, CMake sprawdzaCMAKE_GENERATOR environmentvariable i w przeciwnym razie wraca do wbudowanego domyślnego wyboru.

-T <toolset-spec>

Specyfikacja zestawu narzędzi dla generatora, jeśli jest obsługiwana.

niektóre Generatory CMake obsługują specyfikację zestawu narzędzi, aby powiedzieć natywnemu systemowi kompilacji, jak wybrać kompilator. Szczegóły można znaleźć w zmiennejCMAKE_GENERATOR_TOOLSET.

-A <platform-name>

Określ nazwę platformy, jeśli jest obsługiwana przez generator.

niektóre Generatory CMake obsługują nazwę platformy, którą należy nadać systemowi kompilacji, aby wybrać kompilator lub SDK. Szczegóły można znaleźć w zmiennejCMAKE_GENERATOR_PLATFORM.

-Wno-dev

wyłącza Ostrzeżenia przeznaczone dla autora plikówCMakeLists.txt. Domyślnie spowoduje to również wyłączenie ostrzeżeń o odbiorze.

-Wdev

Włącz Ostrzeżenia dewelopera.

Włącz Ostrzeżenia przeznaczone dla autora plików CMakeLists.txt. Domyślnie włącza to również ostrzeżenia o deprecjacji.

-Werror=dev

popełniaj błędy ostrzeżeń programistów.

twórz Ostrzeżenia przeznaczone dla autora plikuCMakeLists.txt. Domyślnie włącza to również przestarzałe ostrzeżenia jako błędy.

-Wno-error=dev

niech Ostrzeżenia dewelopera nie będą błędami.

zrób ostrzeżenia, które są przeznaczone dla autora plików CMakeLists.txt. Domyślnie spowoduje to również wyłączenie przestarzałych ostrzeżeń jako błędów.

-Wdeprecated

Włącz nieaktualne Ostrzeżenia dotyczące funkcjonalności.

Włącz ostrzeżenia o użyciu przestarzałych funkcji, które są przeznaczone dla autora plików CMakeLists.txt.

-Wno-deprecated

wyłącza przestarzałe ostrzeżenia o funkcjonalności.

wyłącza ostrzeżenia o użyciu przestarzałych funkcji, które są przeznaczone dla autora plikówCMakeLists.txt.

-Werror=deprecated

powoduje błędy przestarzałych ostrzeżeń makr i funkcji.

Ostrzeżenia o użyciu przestarzałych makr i funkcji, które są dla autora CMakeLists.txt plików, błędy.

-Wno-error=deprecated

twórz przestarzałe makra i ostrzeżenia funkcji, a nie błędy.

ostrzega o użyciu przestarzałych makr i funkcji, które są przeznaczone dla autora plików CMakeLists.txt, a nie o błędach.

-L

lista niestandardowych zmiennych buforowanych.

listaCACHE zmienne uruchomi CMake i wyświetli wszystkie zmienne z CMakeCACHE, które nie są oznaczone jakoINTERNAL lubADVANCED.Spowoduje to wyświetlenie aktualnych ustawień CMake, które następnie mogą być zmieniane za pomocą opcji -D. Zmiana niektórych zmiennych może skutkować tworzeniem kolejnych zmiennych. Jeżeli podano A, wtedy będzie odtwarzać również zaawansowane zmienne. Jeśli podano H, będzie również wyświetlać pomoc dla każdej zmiennej.

-N

tylko tryb wyświetlania.

ładuje tylko pamięć podręczną. Nie uruchamiaj configure i generatesteps.

--graphviz=

Generuj wykres zależności, zobaczCMakeGraphVizOptions, aby uzyskać więcej informacji.

Wygeneruj plik wejściowy graphviz, który będzie zawierał wszystkie biblioteki i możliwe zależności w projekcie. Więcej informacji można znaleźć w dokumentacjiCMakeGraphVizOptions.

--system-information

zrzuć informacje o tym systemie.

wypisuje szeroki zakres informacji o aktualnym systemie. Jeśli zostanie uruchomiony z góry drzewa binarnego dla projektu CMake, zrzuci dodatkowe informacje, takie jak pamięć podręczna, pliki dziennika itp.

--log-level=<ERROR|WARNING|NOTICE|STATUS|VERBOSE|DEBUG|TRACE>

Ustaw poziom dziennika.

polecenie message() wyświetli tylko wiadomości o określonym poziomie lub wyższym. Domyślny poziom dziennika to STATUS.

aby zachować poziom logów pomiędzy uruchomieniami CMake, UstawCMAKE_MESSAGE_LOG_LEVEL jako zmienną cache.Jeśli podano zarówno opcję wiersza poleceń, jak i zmienną, pierwszeństwo ma opcja wiersza poleceń.

ze względu na kompatybilność wsteczną, --loglevel jest również akceptowany jako synonim dla tej opcji.

--log-context

Włącz poleceniemessage() wyprowadzające kontekst dołączony do każdej wiadomości.

Ta opcja włącza wyświetlanie kontekstu dla bieżącego uruchomienia CMake only.To aby wyświetlanie kontekstu było trwałe dla wszystkich kolejnych uruchomień CMake, zamiast tego UstawCMAKE_MESSAGE_CONTEXT_SHOW jako zmienną cache.Gdy podana jest ta opcja wiersza poleceń,CMAKE_MESSAGE_CONTEXT_SHOWjest ignorowana.

--debug-trycompile

nie usuwaj drzewa budowaniatry_compile().Przydatne tylko na jednym try_compile() jednocześnie.

nie usuwaj plików i katalogów utworzonych dla wywołań try_compile(). Jest to przydatne przy debugowaniu nieudanych try_compiles. Może się jednak zdarzyć, że zmiana wyników try-compiles jako starych śmieci z previous TRY-compile może spowodować, że inny test albo przejdzie, albo napisze się nieprawidłowo. Ta opcja jest najlepsza dla jednej próby-kompilacji atime i tylko podczas debugowania.

--debug-output

umieść cmake w trybie debugowania.

wypisuje dodatkowe informacje podczas uruchamiania cmake, takie jak ślady stosu przy wywołaniach message(SEND_ERROR).

--debug-find

umieść polecenia CMake find w trybie debugowania.

drukuje dodatkowe informacje o wywołaniu find podczas uruchamiania cmake do standarderror. Wyjście jest przeznaczone do spożycia przez ludzi, a nie do parsowania.Zobacz także zmiennąCMAKE_FIND_DEBUG_MODE do debugowania bardziej lokalnej części projektu.

--trace

Ustaw cmake w trybie śledzenia.

wypisuje ślad wszystkich wykonanych połączeń i skąd.

--trace-expand

Ustaw cmake w trybie śledzenia.

jak --trace, ale ze zmiennymi rozszerzonymi.

--trace-format=<format>

umieść cmake w trybie śledzenia i ustaw format wyjściowy śledzenia.

<format> może być jedną z następujących wartości.

human

drukuje każdą linię śledzenia w formacie czytelnym dla człowieka. To jest domyślny format.

json-v1

wypisuje każdą linię jako osobny dokument JSON. Każdy dokument jest oddzielony znakiem nowej linii (\n). Gwarantowane jest, że znaki nieliniowe będą obecne wewnątrz dokumentu JSON.

format śledzenia JSON:

{ "file": "/full/path/to/the/CMake/file.txt", "line": 0, "cmd": "add_executable", "args": , "time": 1579512535.9687231, "frame": 2}

członkami są:

file

pełna ścieżka do pliku źródłowego CMake, w którym została wywołana funkcja.

line

linia wfile wywołania funkcji.

defer

opcjonalny element, który jest obecny, gdy wywołanie funkcji zostało odroczonecmake_language(DEFER). Jeśli występuje, jego wartością jest astring zawierający wywołanie odroczone <id>.

cmd

nazwa funkcji, która została wywołana.

args

lista ciągów wszystkich parametrów funkcji.

time

znacznik czasu (sekundy od epoki) wywołania funkcji.

frame

stos głębokości ramki funkcji, która została wywołana.

dodatkowo, pierwszy dokument JSON wyprowadzony zawieraversion klucz dla bieżącej wersji głównej i podrzędnej formatu śledzenia

JSON:

{ "version": { "major": 1, "minor": 1 }}

członkami są:

version

wskazuje wersję formatu JSON. Wersja zawiera główne i mniejsze komponenty zgodne z konwencjami wersji semantycznej.

--trace-source=<file>

umieść cmake w trybie śledzenia, ale wyświetli tylko wiersze określonego pliku.

wiele opcji jest dozwolonych.

--trace-redirect=<file>

umieść cmake w trybie śledzenia i przekieruj wyjście śledzenia do pliku zamiast stderr.

--warn-uninitialized

ostrzega o niezainicjalizowanych wartościach.

wypisuje ostrzeżenie, gdy używana jest niezainicjalizowana zmienna.

--warn-unused-vars

nic nie robi. W wersji CMake 3.2 i poniżej to włączało ostrzeżenia o zmiennych. W wersjach CMake od 3.3 do 3.18 opcja była broken.In CMake 3.19 i nowsze opcja została usunięta.

--no-warn-unused-cli

nie ostrzegaj o opcjach linii poleceń.

nie znajduj zmiennych zadeklarowanych w wierszu poleceń, ale nieużywanych.

--check-system-vars

Znajdź problemy z użyciem zmiennych w plikach systemowych.

Zwykle nieużywane i niezainicjalizowane zmienne są wyszukiwane tylko wCMAKE_SOURCE_DIR ICMAKE_BINARY_DIR.Ta flaga mówi CMake, aby ostrzegał również o innych plikach.

--profiling-output=<path>

używane w połączeniu z--profiling-format do wyjścia do podanej ścieżki.

--profiling-format=<file>

Włącz wyjście danych profilowania skryptu CMake w podanym formacie.

może to pomóc w analizie wydajności wykonanych skryptów CMake. W celu przetworzenia danych wyjściowych na format czytelny dla człowieka należy użyć aplikacji trzeciej strony.

obecnie obsługiwane wartości to:google-trace wyjścia w formacie Google Trace, które mogą być analizowane przez zakładkę:tracing w Google Chrome lub za pomocą wtyczki do narzędzia takiego jak TraceCompass.

--preset <preset>--preset=<preset>

odczytujepreset z<path-to-source>/CMakePresets.json I<path-to-source>/CMakeUserPresets.json. Predefiniowane ustawienie określa generatora i katalog kompilacji, a opcjonalnie listę zmiennych i innych argumentów, które należy przekazać do CMake. Bieżący katalog roboczy musi zawierać pliki predefiniowane. PlikiCMake GUI mogą również rozpoznawać PlikiCMakePresets.json ICMakeUserPresets.json. Szczegółowe informacje na temat tych plików można znaleźć w cmake-presets(7).

ustawienia wstępne są odczytywane przed wszystkimi innymi opcjami wiersza poleceń. Opcje określone przez ustawienie wstępne (zmienne, generator, itd.) mogą być nadpisywane przez zwykłe podanie ich w wierszu poleceń. Na przykład, jeśli ustawienie ustawia zmienną o nazwie MYVAR na 1, ale użytkownik ustawia ją na 2 z argumentem-D, wartość 2 jest preferowany.

--list-presets, --list-presets=<>

wyświetla listę dostępnych ustawień wstępnych. Jeśli nie podano żadnej opcji, zostanie wyświetlona tylko Konfiguracja ustawień wstępnych. Bieżący katalog roboczy musi zawierać wstępnie ustawione pliki CMake.