2012-03-17 33 views
6

我無法在自定義目標外殼上獲取環境。我在自定義目標外殼上無法獲取環境

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} 

時嘗試 「做試驗」,shell不能得到$ {} TEST_VAR。

謝謝。

回答

6

你必須使用一個技巧,因爲在的CMakeLists.txt設置環境變量只以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) 
+0

非常感謝你。 – 2012-03-21 14:32:39