多读书多实践,勤思考善领悟

CMake 完整使用教程 之十二 打包项目

CMake 完整使用教程 之十二 打包项目

本章的主要内容有: 生成源代码和二进制包 使用CMake/pybind11构建的C++/Python项目,通过PyPI发布 使用CMake/CFFI构建C/Fortran/Python项目,通过PyPI发布 以Conda包的形式发布...

CMake 完整使用教程 之十一 编写安装程序

CMake 完整使用教程 之十一 编写安装程序

本章主要内容: 安装项目 生成输出头文件 输出目标 安装超级构建 前几章中,我们展示了如何使用CMake配置、构建和测试项目。安装项目是很重要的一部分,本章将演示如何实现这一点。 我们将指导完成各个步骤,直到完成安装一个简单的C+...

CMake 完整使用教程 之十 语言混合项目

CMake 完整使用教程 之十 语言混合项目

本章的主要内容如下: 使用C/C++库构建Fortran项目 使用Fortran库构建C/C++项目 使用Cython构建C++和Python项目 使用Boost.Python构建C++和Python项目 使用pybind11构建C...

CMake 完整使用教程 之九 超级构建模式

CMake 完整使用教程 之九 超级构建模式

本章的主要内容如下: 使用超级级构建模式 使用超级构建管理依赖项:Ⅰ.Boost库 使用超级构建管理依赖项:Ⅱ.FFTW库 使用超级构建管理依赖项:Ⅲ.Google Test框架 使用超级构建支持项目 每个项目都需要处理依赖关系,...

CMake 完整使用教程 之八 构建项目

CMake 完整使用教程 之八 构建项目

本章的主要内容如下: 使用函数和宏重用代码 将CMake源代码分成模块 编写函数来测试和设置编译器标志 用指定参数定义函数或宏 重新定义函数和宏 使用废弃函数、宏和变量 add_subdirectory的限定范围 使用target_...

CMake 完整使用教程 之七 生成源码

CMake 完整使用教程 之七 生成源码

本章的主要内容如下: 配置时生成源码 使用Python在配置时生成源码 构建时使用Python生成源码 记录项目版本信息以便报告 从文件中记录项目版本 配置时记录Git Hash值 构建时记录Git Hash值 大多数项目,使用版...

CMake 完整使用教程 之六 配置时和构建时的操作

CMake 完整使用教程 之六 配置时和构建时的操作

本章的主要内容有: 使用平台无关的文件操作 配置时运行自定义命令 构建时运行自定义命令:Ⅰ. 使用add_custom_command 构建时运行自定义命令:Ⅱ. 使用add_custom_target 构建时为特定目标运行自定义命...

CMake 完整使用教程 之五 创建和运行测试

CMake 完整使用教程 之五 创建和运行测试

本章的主要内容有: 创建一个简单的单元测试 使用Catch2库进行单元测试 使用Google Test库进行单元测试 使用Boost Test进行单元测试 使用动态分析来检测内存缺陷 预期测试失败 使用超时测试运行时间过长的测试 并...

CMake 完整使用教程 之四 检测外部库和程序

CMake 完整使用教程 之四 检测外部库和程序

本章中主要内容有: 检测Python解释器 检测Python库 检测Python模块和包 检测BLAS和LAPACK数学库 检测OpenMP并行环境 检测MPI并行环境 检测Eigen库 检测Boost库 检测外部库:Ⅰ. 使用pk...

CMake 完整使用教程 之三 检测环境

CMake 完整使用教程 之三 检测环境

本章的主要内容有: 检测操作系统 处理与平台相关的源码 处理与编译器相关的源码 检测处理器体系结构 检测处理器指令集 为Eigen库使能向量化 尽管CMake跨平台,但有时源代码并不是完全可移植(例如:当使用依赖于供应商的扩展时...