我无法在自定义目标 shell 中获得环境。
CMakeList.txt
set( ENV{TEST_VAR} "Hello" )
add_custom_target( test
COMMAND ./test.sh
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} )
测试文件
echo test:${TEST_VAR}
尝试“进行测试”时,shell 无法获取 ${TEST_VAR}。
谢谢你。
最佳答案
您必须使用一个技巧,因为 CMakeLists.txt 中的环境变量 SET 仅对 cmake 本身生效,因此您不能使用此方法设置自定义命令可能需要的环境变量:
测试.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 )
关于cmake - 我无法在自定义目标 shell 中获取环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9747657/