CMake
blablablablabba
这个作者很懒,什么都没留下…
展开
-
CMake学习(七)——添加Dashboard 的支持
这一节,我们将添加向Dashboard提交测试数据的支持。之前的项目中我们已经了一些测试,现在我们只需要运行这些测试并且将结果提交给Dashboard 即可。为了添加Dashboard 的支持,我们需要在顶层CMakeLists.txt文件中添加CTest 模块:# enable dashboard scriptinginclude (CTest)并且我们创建一个CTestConfi...原创 2019-04-11 10:05:14 · 793 阅读 · 0 评论 -
CMake学习(六)——构建一个安装程序
假设我们要将工程分享给其他人使用,我们希望能在各种各样的平台上提供二进制和源代码的发行版。这和我们之前在安装与测试那一节执行的安装步骤有一些不同,那里我们是从源代码构建二进制文件。在本例中,我们将 构建一个支持二进制安装和包特性管理的安装包,如cygwin、debian、RPMs 等。因此我们可以使用CPack 生成指定平台的安装程序。具体来说,我们需要在顶层CMakeLists.txt底部添加如...原创 2019-04-11 09:45:33 · 774 阅读 · 0 评论 -
CMake学习(五)——添加生成文件和生成器
这一节我们将展示如何将生成的源文件文件添加到在应用程序的构建过程中。在本例中,我们将生成一个预计算平方根的表作为构建过程的一部分,接着将这个表编译到我们的应用中。为此,首先我们需要一个生成表的程序,在MathFunctions 子目录下,添加一个MakeTable.cxx文件,代码如下:// A simple program that builds a sqrt table #inclu...原创 2019-04-10 19:32:11 · 2563 阅读 · 0 评论 -
CMake学习(四)——自检
这一篇博客我们将在之前的项目中添加一些代码实现简单的自检功能。代码的描述是这样的,依据目标平台是否有log和exp函数(当然,几乎所有的平台都有这两个函数,当时我们假定我们的项目不一定有),如果有的话,在mysqrt函数中应这两个函数计算平方根。首先,我们需要检测在项目中这两个函数是否可用,通过在顶层CMakeLists.txt文件中调用CheckFunctionExists模块来实现,在CM...原创 2019-04-10 16:23:31 · 1336 阅读 · 1 评论 -
CMake学习(三)——安装规则和测试支持
在这一篇博客中,我们将在项目中添加安装规则和测试支持。1、安装规则安装规则非常简单,对于MathFunctions 库来说,我们要设置安装库和头文件只需要在MathFunctions’的CMakeLists.txt文件中加入两行代码:install (TARGETS MathFunctions DESTINATION bin)install (FILES MathFunctions...原创 2019-04-10 11:46:53 · 1306 阅读 · 0 评论 -
CMake学习(二)——添加库
这一篇博客我们将在上一篇的项目中添加一个库,库中有计算平方根的函数,这样在执行的时候就可以使调用这个库而不是编译器提供的标准平方根函数。1、子目录建立我们将放到子目录MathFunctions中,并且添加CMakeLists.txt文件,代码如下:add_library(MathFunctions mysqrt.cxx)add_library()是添加库的命令,在之前已经讲过。...原创 2019-04-09 17:05:04 · 2103 阅读 · 0 评论 -
CMake学习(一)——版本号、头文件配置
接上一篇博客,打架已经对CMake有了一个初步的认识,从这篇博客开始,将会逐步对CMake的学习进行更新。推荐的参考网站时CMake的官网,上面有非常详细的讲解,这里我们简化了一下方便大家快速上手。CMake英文指导手册一、单源码工程最基本的工程是由源码编译生成的可执行文件,其CMakeLists.txt文件也只需要简单的几行代码就ok了,CMakeLists.txt文件代码如下:...原创 2019-04-08 17:33:16 · 3152 阅读 · 0 评论 -
CMake初步学习
CMake是一款开源的源代码组织管理软件,如果是一直在Windows环境下编程的同学可能对这方面没有什么深刻的认识,因为这部分的工作都由IDE来帮我们完成了,如我们点击运行按钮则IDE会自动地帮我们将源码进行预处理、编译、汇编、链接等操作,项目的架构通过IDE的UI界面也变得十分简单,所需要的库只需要进行响应的操作便可以加入到我们的工程中进行使用。但是在很多项目中,尤其是嵌入式的相关项目,我们...原创 2019-04-06 17:09:44 · 791 阅读 · 0 评论