В нашем проекте некоторые модули включены только в определенные конфигурации.В настоящее время мы достигаем этого, используя такой подход:
if (CMAKE_BUILD_TYPE STREQUAL "my_config")
add_subdirectory(only_in_my_config)
endif()
Однако проблема этого подхода заключается в том, что он не очень хорошо работает с мультиконфигурационными генераторами (кажется, что в настоящее время это только Visual Studio иXcode).
Чтобы должным образом поддерживать мультиконфигурационные генераторы, AFAIK, мы должны использовать $<CONFIG:my_config>
выражение генератора .Однако их нельзя использовать с add_subdirectory
.
Как обойти это?
Я думаю, мы должны всегда добавлять все подкаталоги.Но тогда как предотвратить построение их целей в конфигурациях, отличных от my_config
?