加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 使用* .cpp规则创建Makefile

发布时间:2020-12-16 10:02:55 所属栏目:百科 来源:网络整理
导读:我刚刚开始使用cmake,我已经阅读了一些教程,并获得了基本的工作. 但是,目前我的CMakesList.txt生成一个Makefile,其中每个.cpp都明确命名.这意味着,每当我向项目中添加一个新的.cpp时,我需要重新运行cmake,然后才能创建.虽然这不是一个大问题,但它仍然有点烦
我刚刚开始使用cmake,我已经阅读了一些教程,并获得了基本的工作.

但是,目前我的CMakesList.txt生成一个Makefile,其中每个.cpp都明确命名.这意味着,每当我向项目中添加一个新的.cpp时,我需要重新运行cmake,然后才能创建.虽然这不是一个大问题,但它仍然有点烦人.

由于Makefile可以做类似SOURCES = * .cpp的东西,我想可能有办法告诉cmake用这样的规则生成Makefile!?

我知道我能做到

cmake_minimum_required(VERSION 2.8)
file(GLOB SRC
    "*.h"
    "*.cpp"
)
add_executable(main ${SRC})

但是我还是要重新运行cmake.

解决方法

据我所知,这样做的方法就像你说的那样,缺点是每次添加文件时都必须运行cmake.

我通常要做的就是制作一个调用cmake的自定义目标.它是这样的

ADD_CUSTOM_TARGET(update
    COMMAND ${CMAKE_COMMAND} ${CMAKE_SOURCE_DIR}
    COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target all
    COMMENT "Cmake and build"
)

有了这个,您可以调用make update,它将首先调用cmake捕获所有文件,然后启动构建过程.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读