2016-12-06 2 views
0

В моей базе данных на основе кода C++, основанной на мультяках, содержится определенный макрос отладки препроцессора - пусть его имя будет DEBUG_ATTRIBUTE - отвечает за определенные типы отладочного вывода. Несмотря на его имя, макрос не должен включаться для стандартной сборки отладки. По какой-то причине, все CMakeLists.txt и т. Д. Должны быть в одиночку.Как установить свойство в зависимости от типа сборки с командной линией cmake?

Что было бы лучшим способом установить определение из командной строки cmake, в зависимости от типа «Debug» типа сборки (cmake создает решение Visual Studio 2010)? Могу ли я использовать выражения генератора для этого (я подозреваю, они не работают из-за их определяющих черт)?

+0

Для меня это звучит, как вы должны добавить [toolchains] (htt ps: //cmake.org/cmake/help/latest/manual/cmake-toolchains.7.html) для всех поддерживаемых компиляторов. Возможные варианты [здесь] (http://stackoverflow.com/questions/28732209/change-default-value-of-cmake-cxx-flags-debug-and-friends-in-cmake) могут быть вызваны из команды линия. – Florian

ответ

0

Существует решение, помимо долгого пути, путем написания другого файла сценария и ввода его через что-то вроде CMAKE_TOOLCHAIN_FILE или CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE.

Я проверил следующее с Visual Studio 2015 генератор CMake в:

cmake -DCMAKE_CXX_FLAGS_DEBUG_INIT:STRING="-DDEBUG_ATTRIBUTE=SomeValue" .. 

Ссылки

 Смежные вопросы

  • Нет связанных вопросов^_^