In einem cmake Skript Ich habe eine Reihe von Tests, die von einem Set-Plugins abhängen (deren Ausgabe für die Konfiguration in Windows Debug/Release/RelWithDebInfo etc variiert).CTest (cmake) Umgebungsvariablen konfigurationsspezifisch festlegen
Und ich will und env Variable mit dem richtigen Weg, wie
if(WIN32)
set_tests_properties(${my_test} PROPERTIES ENVIRONMENT "MYVAR=\\dir_for_plugins\\debug")
endif()
die offensichtlich funktioniert nur für Debug-Builds.
Ich habe versucht, entweder
if(WIN32)
foreach(cfg_ ${CMAKE_CONFIGURATION_TYPES})
set_tests_properties(${test_name} PROPERTIES
ENVIRONMENT_${cfg__} "MYVAR=\\dir_for_plugins\\${cfg__}")
endforeach()
endif
if(WIN32)
set_tests_properties(${my_test} PROPERTIES ENVIRONMENT "MYVAR=\\dir_for_plugins\\env{MY_CONFIG_TYPE}")
endif
if(WIN32)
set_tests_properties(${my_test} PROPERTIES ENVIRONMENT "MYVAR=\\dir_for_plugins\\%MY_CONFIG_TYPE%")
endif
Aber keiner scheint für alle Konfigurationen zu arbeiten, weil die env an cmake-Zeit aufgelöst wird. Gibt es eine Möglichkeit, diese Ausdrücke langsam auszuwerten, bis der richtige Suite-Test für eine bestimmte Konfiguration ausgeführt wird?