1
在一個cmake腳本 我有一套測試取決於一組插件(其輸出因Windows Debug/Release/RelWithDebInfo等配置而異)。設置CTest(cmake)環境變量配置特定
而且我想,用正確的道路環境變量,像
if(WIN32)
set_tests_properties(${my_test} PROPERTIES ENVIRONMENT "MYVAR=\\dir_for_plugins\\debug")
endif()
這顯然只適用於調試版本。
我試圖要麼
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
但沒有一個似乎對所有的配置工作,因爲ENV在cmake的時間解決。有沒有辦法對這些表達式進行懶評估,直到給定配置的適當套件測試正在運行?