欢迎光临散文网 会员登陆 & 注册

《4》cmake管理工程的例子

2022-08-06 13:19 作者:GXTon_阿通  | 我要投稿

前面我们以hello world工程为例,用cmake进行管理.

但是还差一点.

回顾一下上次的工程结构:

其中红色部分是cmake执行的时候自动帮助我们生成的.

我们希望存放库文件和可执行文件的文件夹名字是自己控制的.

比如:

想要把生成的库文件存放到: out_lib文件夹中

想要把生成的可执行文件放到: out_bin文件夹中

就如下图中的蓝色部分:

那么,顶层的CMakeLists.txt是不用修改的.

只需要修改子文件夹中两个CMakeLists.txt就行.

修改的内容实际上是在生成库或可执行文件之前,加入一个修改路径的命令即可.


对于lib_hello文件夹下的CMakeLists.txt加入橙色部分(注意 $前有空格,set传入的是两个变量):

对于src_main文件夹下的CMakeLists.txt加入橙色部分(注意 $前有空格,set传入的是两个变量):

运行:

调到out_put文件夹下;

运行 cmake ../

运行 make

然后到out_bin目录下,运行可执行文件hello


之后cmake生成的文件都会在out_put文件夹下.

如果想要重新编译,可以把out_put文件夹删空,再次运行cmake即可.

其实,这一节主要是讲解了set命令,

它用于修改内部变量的值.(相当于修改电脑环境变量的值)

EXECUTABLE_OUTPUT_PATH

LIBRARY_OUTPUT_PATH

这些都是cmake内部原来就规定好的值,

后面的第二个变量 ${}就是用于取出{}里面变量的值.


《4》cmake管理工程的例子的评论 (共 条)

分享到微博请遵守国家法律