我正在使用 CMake 自定義目標來添加 PATH 并執行命令。當前的 CMakeLists.txt 是這樣的(部分):
add_custom_target(${target}
COMMAND PATH=${SOME_PATH}/bin:$ENV{PATH} ${SOME_PROGRAM})
問題是當$ENV{PATH}包含空格時,生成的 Makefile 就像:
"PATH=/some path/bin:/bin" some_program
但實際上它應該是這樣的,否則 bash 將不起作用:
PATH="/some path/bin:/bin" some program
我應該如何撰寫 CMakeLists.txt 來實作這一點?
uj5u.com熱心網友回復:
該COMMAND選項不理解 shell 的var=value command .... 你可以這樣寫:
add_custom_target(${target}
COMMAND env PATH=${SOME_PATH}/bin:$ENV{PATH} ${SOME_PROGRAM})
# ^^^
或者
add_custom_target(${target}
COMMAND export PATH=${SOME_PATH}/bin:$ENV{PATH} \; ${SOME_PROGRAM})
# ^^^^^^ ^^
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/466766.html
上一篇:在集群上并行執行多個輸入的腳本
