Используйте переменную cmake (кеш), которая также позволит пользователям правильно настроить ваш проект.
set(TEST_BENCH OFF CACHE BOOL "Enables testing of your project")
if(TEST_BENCH)
add_compile_definition(TEST_BENCH)
enable_testing()
endif()
Затем пользователь (и вы) можете настроить ваш проект в соответствии со своими потребностями с помощью ccmake
или cmake-gui
или cmake -DTEST_BENCH=ON
. Я считаю, что target_compile_definitions
обычно предпочтительнее, чем глобальный add_compile_definitions
.
Тем не менее, я бы не советовал, вы можете сопоставить переменную COMPILE_DEFINITIONS
, измененную на add_compile_definition
, с TEST_BENCH
и это способ проверить, установлен ли макрос или нет.