《4》cmake管理工程的例子
前面我们以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内部原来就规定好的值,
后面的第二个变量 ${}就是用于取出{}里面变量的值.