我无法在自定义目标shell获取环境。
CMakeList.txt
set( ENV{TEST_VAR} "Hello" )
add_custom_target( test
COMMAND ./test.sh
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} )
test.sh
echo test:${TEST_VAR}
当尝试“make test”时,shell无法获得$ {TEST_VAR}。
谢谢。
答案 0 :(得分:6)
您必须使用技巧,因为CMakeLists.txt中的环境变量SET仅对cmake本身生效,因此您无法使用此方法设置自定义命令可能需要的环境变量:
test.cmake
set( ENV{TEST_VAR} "Hello" )
execute_process(
COMMAND ./test.sh
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} )
的CMakeLists.txt
add_custom_target( test
COMMAND ${CMAKE_COMMAND} -P test.cmake )