cmake public
时间: 2023-10-19 21:08:49 浏览: 68
CMake是一个跨平台的开源构建工具,用于生成各种编译环境的构建脚本。它可以帮助开发者在不同的操作系统和编译器上生成项目所需的构建文件,如Makefiles、Visual Studio项目文件等。通过使用CMake,开发者可以更方便地管理复杂的项目结构和依赖关系。
要将一个目录中的源代码公开为一个库(或可执行程序),可以使用CMake来定义和配置项目。首先,在项目根目录下创建一个`CMakeLists.txt`文件,该文件包含有关项目的配置信息,例如源文件、头文件、编译选项等。
以下是一个简单的CMakeLists.txt示例,用于构建一个名为"mylib"的静态库:
```cmake
cmake_minimum_required(VERSION 3.10)
project(mylib)
# 添加源文件
add_library(mylib STATIC
src/foo.cpp
src/bar.cpp
)
# 添加头文件路径
target_include_directories(mylib PUBLIC include)
# 设置编译选项
target_compile_options(mylib PRIVATE -Wall -Wextra)
```
在上述示例中,`cmake_minimum_required(VERSION 3.10)`指定了所需的最低CMake版本。`project(mylib)`定义了项目名称为"mylib"。
`add_library(mylib STATIC ...)`将源文件`src/foo.cpp`和`src/bar.cpp`添加到名为"mylib"的静态库中。
`target_include_directories(mylib PUBLIC include)`将名为"include"的目录添加为公开头文件路径,这意味着其他项目可以使用`#include <mylib/foo.h>`来包含`include/foo.h`头文件。
`target_compile_options(mylib PRIVATE -Wall -Wextra)`设置编译选项,此处为启用额外的警告选项。
然后,可以使用CMake来生成构建文件,例如Makefile:
```shell
cmake .
make
```
这将使用CMakeLists.txt中的配置信息生成Makefile,并使用make命令进行编译。
希望这个例子能帮到你。如果你有其他问题,我会很乐意帮助你!
阅读全文