前言我们日常生活的每一个方面都有计算机软件的存在:它可以为我们触发的闹钟,并每时每刻的为我们提供通信、银行、天气、公交、日历、会议、旅行、相册、电视、音乐流、社交媒体、晚餐和电影预定等服务信息。 软件内部具有一定的层次结构:应用程序是...
在本书的最后一章中,我们将结合前几章中讨论过的许多不同的构建块,并将它们应用到实际项目中。我们的目标是一步一步地演示如何将一个重要的项目使用CMake进行构建。提供关于移植项目或将CMake添加到遗留代码的建议(无论是来自Autoto...
本章的主要内容有: 将测试部署到CDash面板 CDash面板显示测试覆盖率 使用AddressSanifier向CDash报告内存缺陷 使用ThreadSaniiser向CDash报告数据争用 CDash是一个web服务,用于汇...
本章主要内容有: 使用Visual Studio 2017构建CMake项目 交叉编译hello world示例 使用OpenMP并行化交叉编译Windows二进制文件 CMake本身不构建可执行程序和库。不过,CMake配置一个...
本章的主要内容有: 使用Doxygen构建文档 使用Sphinx构建文档 结合Doxygen和Sphinx 文档在所有的软件项目都是有必要的:对于用户来说,了解如何获得并构建代码,并且如何有效地使用源代码或库;对于开发人员来说,文...
本章的主要内容有: 生成源代码和二进制包 使用CMake/pybind11构建的C++/Python项目,通过PyPI发布 使用CMake/CFFI构建C/Fortran/Pytho...
本章主要内容: 安装项目 生成输出头文件 输出目标 安装超级构建 前几章中,我们展示了如何使用CMake配置、构建和测试项目。安装项目是很重要的一部分,本章将演示如何实现这一点。 我们将指导完成各个步骤,直到完成安装一个简单的C+...
本章的主要内容如下: 使用C/C++库构建Fortran项目 使用Fortran库构建C/C++项目 使用Cython构建C++和Python项目 使用Boost.Python构建C++和Python项目 使用p...
本章的主要内容如下: 使用超级级构建模式 使用超级构建管理依赖项:Ⅰ.Boost库 使用超级构建管理依赖项:Ⅱ.FFTW库 使用超级构建管理依赖项:Ⅲ.Google Test框架 使用超级构建支持项目 每个项目都需要处理依赖关系,...
本章的主要内容如下: 使用函数和宏重用代码 将CMake源代码分成模块 编写函数来测试和设置编译器标志 用指定参数定义函数或宏 重新定义函数和宏 使用废弃函数、宏和变量 add_subdirectory的限定范围 使用target_...