Создайте столько add_custom_command
, сколько различно ВЫХОД , которое необходимо произвести.
# A command which can be applied for Debug configuration(s)
add_custom_command(
OUTPUT file_to_generate_in_debug
COMMAND something.exe
...
)
# A command which can be applied for Release configuration(s)
add_custom_command(
OUTPUT file_to_generate_in_release
COMMAND something.exe
...
)
Только тот экземпляр будет активен в указанной c конфигурации, которая ВЫХОД используется как ЗАВИСИТ в (другие) add_custom_command
/ add_custom_target
. В отличие от OUTPUT , DEPENDS предложение поддерживает выражения генератора.
# This will chose a command suitable for configuration
add_custom_target(MY_GEN_LIB
DEPENDS $<IF:$<CONFIG:Debug>, file_to_generate_in_debug, file_to_generate_in_release>
)
Если какой-то другой цели нужен ваш файл, зависящий от конфигурации, вы можете настроить целевой уровень зависимости:
# Depends from the target which produces required file
add_dependencies(other_target MY_GEN_LIB)
Это будет работать, даже если другой целью является IMPORTED .