CMake 使用总结

使用CMake来构建工程主要有以下几个主要的过程:

1.包含工程需要的头文件的所有目录:

这里有一个技巧就是通常可以通过以下代码,递归包含当前CMakeLists.txt文件所在目录下的所有包含有.h文件的目录:

  

 

2.包含工程需要的所有源文件(一般是.cpp .c 文件):

 

  (1)包含当前CMakeLists.txt文件所在目录下的所有源文件,可以通过以下代码实现:

      递归组合当前项目目录下的所有.cpp文件 

        

 

  (2)包含项目之外的目录的源文件:

       手动给出,如果较多的话,可以使用find_path函数(搜索路径通常在1中包含)寻找,然后再拼合, 最后在add_library等中一起生成

 

3.链接所需要的库文件:

   1.当然也可以通过以上相同的方法递归包含当前目录下的所需要的库文件;

   2.手动给出库的路径,进行拼合;

 

 

总结:

    对于当前工程目录,都可以采用递归的搜索方法来包含相应的目录,拼合需要的源文件,和链接库;而对于工程外的目录,

可以先包含他们所在的所有目录(通过CMAKE_INCLUDE_PATH),然后再使用find_path来进行搜索,把搜索结果拼合,最后一起进行生成。

 

注意:

   首先在整个工程中,如果包含比较多的代码子目录,不一定需要为所有目录都编写一个CMakeLists.txt文件;即使是源代码不在工程目录下,也可以不需要为该外部的源代码目录编写CMakeLists.txt;只要指定在CMakeLists.txt中指定你需要的源文件(.cpp)的路径,就可以了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值