cmake 基本使用过程

本文详细介绍了CMake在项目管理中的应用,包括项目目录结构、如何使用CMake配置和生成Makefile,以及CMakeLists.txt的基本编写。重点讲解了aux_source_directory与set的区别,以及目标文件包含路径的设置技巧。
摘要由CSDN通过智能技术生成

1、完整项目的目录

        一个完整的项目,应当至少分为这几个部分。其中,bin目录下是可运行文件,build目录下是临时构建的文件,include目录下是用到的头文件,src目录下是头文件的实现文件。当然还可以加上test测试文件,third第三方库文件等

 2、cmake的使用

        cmake使用简单方便,可以跨平台,构建项目编译环境。尤其比直接写Makefile简单(在构建大型工程编译 时,需要写大量的文件依赖关系),可以通过简单的CMake生成负责的Makefile文件。我们经常使用是外部构建,

        使用外部构建,我们可以创建一个可以位于文件系统上任何位置的构建文件夹。 所有临时构建和目标文件都位于此目录中,以保持源代码树的整洁。(可以指定目标文件的位置)。一上面的例子为例:

cd /build/             转到build目录下

cmake ..              cmake  因为工程的CMakeLists.txt 在上个级别,因此有  ..

make                   上一步会生成makefile文件,make执行。

3、CMakeLists.txt 的编写

cmake_minimum_required(VERSION 3.10)
#指定camke的最小版本,  可以指定版本的最低到最高

project(sum1)
#设置 工程名

set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
#指定 生成的可执行文件的 存放目录

set(SOURCES
    src/sum.cpp)
    main.cpp)
#创建一个变量,名字叫SOURCES。它包含了指定的cpp文件

add_executable(sum11 ${SOURCES})
#用所有的源文件生成一个可执行文件,因为这里定义了SOURCE变量,所以就不需要罗列cpp文件了

target_include_directories(sum11
    PRIVATE
       ${PROJECT_SOURCE_DIR}/include)
#设置这个可执行文件sum11需要包含的库的路径,注意是可执行文件 sum11 需要包含的库的路径。

 编写完这个 CMakeList.txt 文件后,就可以按照 步骤2 所说的去操作。

上文所描述的是简单的一个步骤,随着工程的复杂,需要编写的变多。对其中一些常见的量进行一个总结与区分。

1、aux_source_directory(<dir> <variable>) 与 set(<variable> target.cpp)

在目录中查找所有源文件。收集指定目录中所有源文件的名称,并将列表存储在提供的变量中。

set(SOURCES src/sum.cpp) 收集指定目录下的指定源文件,并将存储。 

2、include_directories(${PROJECT_SOURCE_DIR}/include) 与 

target_include_directories(sum11  PRIVATE  ${PROJECT_SOURCE_DIR}/include)

作用:给源文件添加头文件搜索路径:将指定目录添加到编译器的头文件搜索路径之下,指定的目录被解释成当前源码路径的相对路径。

第一个:当前CMakeList.txt中的所有目标以及所有在其调用点之后添加的子目录中的所有目标将具有头文件搜索路径。

第二个:指定目标包含的头文件路径。

中间属性的用法:<INTERFACE|PUBLIC|PRIVATE>使用依据

  • PRIVATE - 目录被添加到目标(库)的包含路径中。
  • INTERFACE - 目录没有被添加到目标(库)的包含路径中,而是链接了这个库的其他目标(库或者可执行程序)包含路径中
  • PUBLIC - 目录既被添加到目标(库)的包含路径中,同时添加到了链接了这个库的其他目标(库或者可执行程序)的包含路径中

也就是说,根据库是否包含这个路径,以及调用了这个库的其他目标是否包含这个路径,可以分为三种scope。

CMake 是一个跨平台的开源构建工具,用于自动化构建、测试和安装软件项目。它使用一个简单的配置文件 CMakeLists.txt 来描述构建过程。 在 Windows 上使用 CMake 进行构建,可以按照以下步骤进行操作: 1. 首先,确保已经安装了 CMake。你可以从 [CMake 官方网站](https://cmake.org/download/) 下载最新版本的 CMake,并按照安装向导进行安装。 2. 创建一个用于构建的目录,例如 `build` 目录,并进入该目录。 3. 在 `build` 目录中,打开命令提示符或者 PowerShell,并执行以下命令: ``` cmake <path_to_source> ``` 其中 `<path_to_source>` 是你代码项目的根目录路径。执行以上命令将会在 `build` 目录下生成构建文件。 4. 执行生成的构建文件,例如 Visual Studio 的解决方案文件 `.sln` 或者 Makefile。具体的命令将根据你的构建文件类型而有所不同。 - 如果是 Visual Studio 解决方案文件,可以使用以下命令打开 Visual Studio 并进行构建: ``` start <project_name>.sln ``` 其中 `<project_name>` 是你的项目名称。 - 如果是 Makefile,可以使用以下命令进行构建: ``` make ``` 5. 构建完成后,你可以在相应目录下找到生成的可执行文件或库文件,进行测试或使用。 这些是使用 CMake 在 Windows 上进行构建的基本步骤。具体情况可能因项目而异,你可能需要根据你的项目结构和需求进行适当的调整。如果有需要,你可以参考 CMake 的官方文档或在线教程,进一步了解更多关于 CMake 的用法和配置选项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值