如何使用cmake打包C++项目

以下是使用CMake打包C++项目(这里以创建一个简单的库并生成安装包为例)的基本步骤:

1. 项目结构

假设你有一个简单的C++项目结构如下:

my_project/
    include/
        my_lib.h
    src/
        my_lib.cpp
    CMakeLists.txt

2. 编写 CMakeLists.txt 文件

  1. 基础设置
    • 定义项目名称和最低版本要求:
    cmake_minimum_required(VERSION 3.10)
    project(my_project)
    
  2. 添加源文件和头文件
    • 设置源文件和头文件的路径:
    include_directories(include)
    set(SOURCE_FILES src/my_lib.cpp)
    
  3. 创建库(如果是库项目)
    • 例如创建一个静态库:
    add_library(my_lib STATIC ${SOURCE_FILES})
    
    • 或者创建一个共享库:
    add_library(my_lib SHARED ${SOURCE_FILES})
    
  4. 安装目标
    • 指定库和头文件的安装路径:
    install(TARGETS my_lib
            LIBRARY DESTINATION lib
            ARCHIVE DESTINATION lib)
    install(FILES include/my_lib.h DESTINATION include)
    
  5. 创建安装包(可选)
    • 使用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)
    

3. 构建项目

  1. 创建一个构建目录(例如build)并进入该目录:

    mkdir build
    cd build
    
  2. 运行CMake命令:

    • 如果是简单的项目:
    cmake..
    
    • 如果需要指定生成器(例如用于特定的IDE):
    cmake -G "Visual Studio 16 2019"..
    
  3. 构建项目:

    • 在Unix - like系统上:
    make
    
    • 在Windows上,如果使用Visual Studio生成器,可以在Visual Studio中打开生成的解决方案并构建。
  4. 创建安装包(如果配置了CPack):

    • 在构建目录下运行:
    cpack
    

这将根据你配置的CPack生成器创建相应的安装包(如.deb.rpm.zip等),其中包含了你的库文件和头文件。

请注意,这只是一个基本的示例,对于更复杂的项目,可能需要更多的CMake配置,例如处理依赖关系、添加测试等。

猜你喜欢

转载自blog.csdn.net/glaxy1/article/details/142215857