Я использую CMake 3.10.2 и поместил его в один из моих целевых файлов CMakeLists.txt ....
target_compile_definitions(mytarget PUBLIC USE_MY=${USE_MY})
Затем я могу использовать параметры в командной строке, такие как -DUSE_MY = 0, чтобы я мог поместить такие вещи в мои файлы c ++:
#ifdef USE_MY
// code left out
#endif
Однако я также хотел бы иметь возможность исключать файлы в CMakeLists.txt из компиляции.
set(my_sources
filea.cpp
fileb.cpp
filec.cpp (how would I leave out filec.cpp?)
)
А в моем верхнем уровне CMakeLists.txt оставьте всю библиотеку.
add_subdirectory(my_stuff/liba)
add_subdirectory(my_stuff/libb) (how to leave out this lib?)
add_subdirectory(my_stuff/libc
Так что я хотел бы также исключить некоторые файлы и цели из компиляции. Спасибо за любую помощь в этом.