根据CMake文档
https://cmake.org/cmake/help/v3.3/command/set.html
一个人可以做到
set(ENV{FOO} foo)
message("variable is $ENV{FOO}")
但这会给出结果
variable is foo
在配置时
echo $FOO
但是在linux命令
set(file_sh ${CMAKE_CURRENT_BINARY_DIR}/path.sh)
set(path "${CMAKE_INSTALL_PREFIX}:$ENV{PATH}")
file(WRITE ${file_sh} "#!/usr/bin/env bash\n")
file(APPEND ${file_sh} "export PATH=\"${path}\"")
execute_process(COMMAND chmod a+x ${file_sh} RESULT_VARIABLE res)
未设置变量
修改
这是问题的部分解决方案,即设置$ PATH,以便用户首先列出CMAKE_INSTALL_PREFIX
#!/usr/bin/env bash
export PATH="/install/prefix/path:/other/path"
这会创建此文件
source path.sh
以后可以使用
在bash终端上执行{{1}}
答案 0 :(得分:0)
您引用的文档的最后一段给出了答案:
Set the current process environment <variable> to the given value.
它会影响从shell启动CMake时创建的当前进程环境。它不是shell本身的环境。
答案 1 :(得分:0)
在命令前加上springdoc:
swagger-ui:
path: /docs
。
要进行测试,请使用cmake -E env XXX=YYY
。
此命令自CMake 3.1起似乎可用。有关更多信息,请参见https://cmake.org/cmake/help/latest/manual/cmake.1.html#run-a-command-line-tool。