Скомпилируйте тот же файл с разными флагами, используя CMAKE
Я хочу скомпилировать тот же исходный файл .cpp в два разных целевых исполняемых файла, и я использую cmake. У одного будет код инструментария, а другой - нет. Таким образом, я могу сравнить накладные расходы приборов.
У меня есть код инструментария, разделенный #ifdefs, поэтому я хочу определить значение, используя флаг -D. Я вижу, что это возможно с помощью
add_definitions(-DINSTRUMENT)
Но похоже, что это применимо ко всем исполняемым файлам, созданным в этом каталоге. Мне интересно, если есть хороший способ установить определение только для конкретной исполняемой цели.
Ответы
Ответ 1
Вы можете установить свойство COMPILE_DEFINITIONS одного из целевых объектов для определения целевого объекта:
set_target_properties (instrumented_target PROPERTIES COMPILE_DEFINITIONS "INSTRUMENT")
Update:
Начиная с CMake 2.8.11 вы также можете использовать target_compile_definitions
для этой же цели.