很高兴能够在Makefile和shell脚本之间共享相同的文件,因为它们都可以处理键值对的以下语法:
$> cat config
var1=value
var2=value
var3=value
var4=value
var5=value
Run Code Online (Sandbox Code Playgroud)
所以,只需要source config一个shell脚本就可以include config了Makefile.但是,使用CMake语法就变成了SET(var1 value).有一些简单的方法,我可以使用上面的语法用变量文件提供CMake吗?我的意思很简单,我不喜欢sed在它上面运行.
Fra*_*ser 17
@ Guillaume的答案非常适合从CMakeLists.txt中生成配置文件.
但是,如果您要将这样的配置文件的内容导入到 CMake环境中,则需要添加以下内容:
file(STRINGS <path to config file> ConfigContents)
foreach(NameAndValue ${ConfigContents})
# Strip leading spaces
string(REGEX REPLACE "^[ ]+" "" NameAndValue ${NameAndValue})
# Find variable name
string(REGEX MATCH "^[^=]+" Name ${NameAndValue})
# Find the value
string(REPLACE "${Name}=" "" Value ${NameAndValue})
# Set the variable
set(${Name} "${Value}")
endforeach()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2192 次 |
| 最近记录: |