2012-03-17 11 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} 

シェルが$ {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

はどうもありがとうございました。 –

関連する問題