Я использую CMake версии 3.16.
Я пробовал следующее:
set_property(TARGET ${PLUGIN_NAME} PROPERTY VS_GLOBAL_FR_VERSION
$<$<CONFIG:Debug2017>:"2017">
$<$<CONFIG:Release2017>:"2017">
$<$<CONFIG:Debug2018>:"2018">
$<$<CONFIG:Release2018>:"2018">
$<$<CONFIG:Debug2019>:"2019">
$<$<CONFIG:Release2019>:"2019">
)
И это вроде сработало ...
Предполагается, что эта переменная (FR_VERSION)
для использования в скрипте, который запускается после сборки. Вот как это выглядит:
add_custom_command(TARGET ${PLUGIN_NAME} POST_BUILD
COMMAND echo $(FR_VERSION)
COMMENT "This command will copy files to dist"
VERBATIM
)
Однако в Visual Studio мы получили следующее:
echo $<$<CONFIG:Debug2017>:"2017">;$<$<CONFIG:Release2017>:"2017">;$<$<CONFIG:Debug2018>:"2018">;$<$<CONFIG:Release2018>:"2018">;$<$<CONFIG:Debug2019>:"2019">;$<$<CONFIG:Release2019>:"2019">
, которое не выполняется с сообщением об ошибке:
"The syntax of the command is incorrect."
Если я не попытаюсь установить другое значение для разных конфигураций сборки, например:
set_target_properties(${MAYA_PLUGIN_NAME} PROPERTIES VS_GLOBAL_FR_MAYA_VERSION "2018")
, то сценарий после сборки будет сгенерирован, как и ожидалось. (Но это неприемлемо для меня, потому что мне нужны разные значения параметров для разных конфигураций сборки).
Буду признателен за любые советы на данный момент.