Подтвердить что ты не робот

Скомпилируйте тот же файл с разными флагами, используя CMAKE

Я хочу скомпилировать тот же исходный файл .cpp в два разных целевых исполняемых файла, и я использую cmake. У одного будет код инструментария, а другой - нет. Таким образом, я могу сравнить накладные расходы приборов.

У меня есть код инструментария, разделенный #ifdefs, поэтому я хочу определить значение, используя флаг -D. Я вижу, что это возможно с помощью

add_definitions(-DINSTRUMENT)

Но похоже, что это применимо ко всем исполняемым файлам, созданным в этом каталоге. Мне интересно, если есть хороший способ установить определение только для конкретной исполняемой цели.

4b9b3361

Ответ 1

Вы можете установить свойство COMPILE_DEFINITIONS одного из целевых объектов для определения целевого объекта:

set_target_properties (instrumented_target PROPERTIES COMPILE_DEFINITIONS "INSTRUMENT")

Update:

Начиная с CMake 2.8.11 вы также можете использовать target_compile_definitions для этой же цели.