以下是使用CMake打包C++项目(这里以创建一个简单的库并生成安装包为例)的基本步骤:
1. 项目结构
假设你有一个简单的C++项目结构如下:
my_project/
include/
my_lib.h
src/
my_lib.cpp
CMakeLists.txt
2. 编写 CMakeLists.txt
文件
- 基础设置
- 定义项目名称和最低版本要求:
cmake_minimum_required(VERSION 3.10) project(my_project)
- 添加源文件和头文件
- 设置源文件和头文件的路径:
include_directories(include) set(SOURCE_FILES src/my_lib.cpp)
- 创建库(如果是库项目)
- 例如创建一个静态库:
add_library(my_lib STATIC ${SOURCE_FILES})
- 或者创建一个共享库:
add_library(my_lib SHARED ${SOURCE_FILES})
- 安装目标
- 指定库和头文件的安装路径:
install(TARGETS my_lib LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) install(FILES include/my_lib.h DESTINATION include)
- 创建安装包(可选)
- 使用CPack创建安装包。首先在
CMakeLists.txt
中添加CPack相关的设置:
set(CPACK_GENERATOR "DEB;RPM;ZIP") set(CPACK_PACKAGE_NAME "my_project") set(CPACK_PACKAGE_VERSION "1.0.0") set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "My C++ project") set(CPACK_PACKAGE_VENDOR "Your Name or Company") include(CPack)
- 使用CPack创建安装包。首先在
3. 构建项目
-
创建一个构建目录(例如
build
)并进入该目录:mkdir build cd build
-
运行CMake命令:
- 如果是简单的项目:
cmake..
- 如果需要指定生成器(例如用于特定的IDE):
cmake -G "Visual Studio 16 2019"..
-
构建项目:
- 在Unix - like系统上:
make
- 在Windows上,如果使用Visual Studio生成器,可以在Visual Studio中打开生成的解决方案并构建。
-
创建安装包(如果配置了CPack):
- 在构建目录下运行:
cpack
这将根据你配置的CPack生成器创建相应的安装包(如.deb
、.rpm
或.zip
等),其中包含了你的库文件和头文件。
请注意,这只是一个基本的示例,对于更复杂的项目,可能需要更多的CMake配置,例如处理依赖关系、添加测试等。