cmake用cotire设置gcc的预编译头

一、预编译头

    当工程大了,单机编译速度会很慢。预编译头会提高很大的速度。相关原理这里不赘述,网上很多。(或者老夫有空的时候再补充)

二、cmake设置gcc的预编译头

    一开始google到一个国内同行写的cmake宏,用了下,貌似不是很好用。另外作者也表示还是有bug。

    后来找到cotire。目前使用良好。

    

三、cotire(compile time reducer)

    项目地址https://github.com/sakra/cotire。具体使用方式github里对应项目主页已经写的很清楚了(主页man看不明白的可以去看他的src里那个例子),这里只做下快捷备忘。

    步骤:

1. clone这个git。

2. 将cotire里的CMake/cotire.cmake拷到咱们自己工程的顶层CMakeLists.txt同级目录下。

3. 往这个顶层CMakeLists.txt里设置一个变量并include:

    set (CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMake")

    include(cotire)

4. 在具体的CMakeLists.txt的add_executable后边再cotire下,如:

    ​add_executable(MyExecutable ${MyExecutableSources})
    ​target_link_libraries(MyExecutable ${MyExecutableLibraries})
    ​cotire(MyExecutable)

5. 上边是自动寻找预编译头,也可以自己设置,例如我们从vc跨平台过来的项目,显示设置stdafx.h,只用在cotire前边设置下即可:

    ​set_target_properties(MyExecutable PROPERTIES COTIRE_CXX_PREFIX_HEADER_INIT "stdafx.h")
    ​​cotire(MyExecutable)

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值