# Introduction

* 作者：Radovan Bast & Roberto Di Remigio
* 译者：陈晓伟
* 首次出版于2018年9月
* ISBN 978-1-78847-071-1

## 本书概述

使用CMake软件对项目模块，进行构建、测试和打包。

## 本书作者

**Radovan Bast**就职于特罗姆森的挪威北极大学(UiT, **U**niversity of Norway **i**n **T**roms)的高性能计算小组工作，对项目的代码精简进行指导。他拥有化学博士学位，并作为开发人员参与了许多量子化学项目。喜欢新的编程语言和技术，并向学生和研究人员传授编程经验。在2008年与CMake结缘，并移植了大量源码，并且将一些源码迁移到CMake社区。

**Roberto Di Remigio**是挪威大学(特罗姆森)和美国弗吉尼亚理工学院的化学博士后研究员，目前在研究随机方法和求解模型。是[PCMSolver](https://github.com/PCMSolver/pcmsolver)和[Psi4](https://github.com/psi4)开源量子化学项目的开发人员。为量子化学的发展做出了贡献，其参与的项目有：Dirac、MRCPP、Dalton、LSDalton、Xcun和ReSpect。经常使用C++和Fortran编码。

*我们要感谢本书评审Eric Noulard和Eric Noulard的宝贵意见和建议。特别是Eric的反馈和建议，明显提高了本书的质量。我们还感谢LoriA.Burns对第8章到第11章的评论和建议。特别感谢特罗姆森公共图书馆为写作和思考提供了一个良好环境。我们非常感谢Travis CI、GmbH、Appveyor Systems公司和Circle Internet Services公司提供的测试设备和支持——正是由于他们的支持，我们才有信心在主流操作系统中完成本书的示例。*

## 本书评审

**Eric Noulard**博士，具有法国恩塞伊特大学的工程学学位，法国乌夫斯克大学的计算机科学博士学位。20多年来，使用多种语言编写源码。从2006年开始使用CMake，这些年来也一直是CMake的积极贡献者。其职业生涯中，曾为私人公司和政府机构工作。现在就职于Antiot，开发和营销高端信息检索技术和解决方案。

**Eric Noulard**来自以色列，是一名软件开发人员和作家。从2000年起就为置身于各种开源和开放文化项目。除此之外，还发起过游戏解决方案，比如Pysol FC系列纸牌游戏，采用了*财富*模式，解决了290多个[欧拉问题](https://projecteuler.net/index.php?section=view)。在平时，会写了一些故事、随笔和格言之类的文章。

## 本书相关

* github翻译地址：<https://github.com/xiaoweiChen/CMake-Cookbook>
* gitbook 在线阅读：<https://app.gitbook.com/@chenxiaowei/s/cmake-cookbook/>
* 本书源码下载地址：<https://github.com/dev-cafe/cmake-cookbook>
* 本书源码下载地址：<https://github.com/PacktPublishing/CMake-Cookbook>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://chenxiaowei.gitbook.io/cmake-cookbook/master.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
