Używanie CMake z GNU Make: Jak mogę zobaczyć dokładne polecenia?
Używam CMake z GNU Make i chciałbym dokładnie zobaczyć wszystkie polecenia (na przykład jak kompilator jest wykonywany, wszystkie flagi itp.).
GNU make mA --debug
, ale wydaje się, że nie jest to pomocne, czy są jakieś inne opcje? Czy CMake dostarcza dodatkowe flagi w wygenerowanym pliku Makefile do celów debugowania?
5 answers
Po uruchomieniu make dodaj VERBOSE=1
, aby zobaczyć pełne wyjście polecenia. Na przykład:
cmake .
make VERBOSE=1
Lub możesz dodać -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
do polecenia cmake, aby uzyskać stałe, szczegółowe wyjście z wygenerowanych plików Makefile.
cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON .
make
Aby zredukować nieco mniej interesujące wyniki, możesz użyć następujących opcji. Opcja CMAKE_RULE_MESSAGES=OFF
usuwa linie takie jak [33%] Budynek C obiektu..., podczas gdy --no-print-directory
mówi make, aby nie drukował bieżącego katalogu filtrując linie takie jak make[1]: Entering directory
i make[1]: Leaving directory
.
cmake -DCMAKE_RULE_MESSAGES:BOOL=OFF -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON .
make --no-print-directory
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-01 09:01:27
Wygodne jest ustawienie opcji w pliku CMakeLists.txt
jako:
set(CMAKE_VERBOSE_MAKEFILE ON)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-05 12:55:00
Jeśli używasz interfejsu graficznego CMake, zamień go na Widok zaawansowany, a następnie opcja nazywa się CMAKE_VERBOSE_MAKEFILE.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-20 07:43:12
Lub po prostu Eksportuj zmienną środowiskową VERBOSE na powłoce w następujący sposób:
export VERBOSE=1
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-26 06:35:50
Próbowałem czegoś podobnego, aby upewnić się, że flaga -ggdb
jest obecna.
Wywołanie make w czystym katalogu i grep flagi szukasz. Szukam debug
zamiast ggdb
po prostu bym napisał.
make VERBOSE=1 | grep debug
Znacznik -ggdb
był na tyle niejasny, że pojawiały się tylko polecenia kompilacji.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-06 07:24:59