xmake 提供了 $(varname)
的语法,来支持在配置字符串中直接传递内置变量,例如:
add_cxflags("-I$(projectdir)")
它会在实际编译时,将内置的 projectdir
变量转换为实际的项目根目录:-I/home/shiyanlou/hello
。
配置传递项目根目录
在进入本实验前,我们先删除下之前的 hello 项目目录(如果存在的话),然后创建一个新的 hello 工程。
cd ~/Code
rm -rf hello
xmake create hello
然后进入创建的 hello 项目目录,直接执行如下命令快速打印输出内置变量进行测试。
cd hello
xmake l print '$(projectdir)'
上面的命令,相当于直接调用了 xmake 内置接口 print 去打印输出当前项目对应的 $(projectdir)
内置变量的值,也就是项目的根目录路径。
这个变量会随着不同的项目自动适配对应的项目路径,因此我们可以在描述域配置中直接嵌入这个变量来使用。
接下来,我们将 xmake.lua 修改成如下内容。
target("hello")