Как обнаружить отладочную сборку в моих исходных файлах c с помощью cmake? - PullRequest
1 голос
/ 02 февраля 2012

У меня есть этот набор в моем файле CMakeLists.txt.

SET (CMAKE_BUILD_TYPE "Debug")

Однако в моих исходных файлах C это не работает

#if defined(DEBUG)
// not getting here
#else
// getting here instead
#endif

Какой символ, если таковой имеется, определяется установкой CMAKE_BUILD_TYPE в Debug?

1 Ответ

2 голосов
/ 02 февраля 2012

Нашел ответ. Это определенно ловушка для новичков в использовании cmake.

Кажется, что изменение типа сборки в CMakeLists.txt не изменит тип сборки, если вы уже собрали его с другим типом сборки. Причина в том, что это кеш.

Видя, как я строю из источника. у меня есть отдельный каталог Build внутри моего исходного дерева. Я обычно запускаю просто "cmake .."

Так что очистка дерева сборки и запуск "cmake .." снова исправили это. Теперь для моих исходных файлов определяется DEBUG, и я могу проверить это с помощью make VERBOSE = 1

Эта ссылка предоставляет дополнительную информацию и другие параметры:

Понимание того, почему нельзя установить CMAKE_BUILD_TYPE

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...