2012-03-17 13 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

आपको बहुत बहुत धन्यवाद। –

संबंधित मुद्दे