cmake官方示例
文章平均质量分 62
cmake官方示例翻译
diskman888
这个作者很懒,什么都没留下…
展开
-
1 一个简单的起点
第一步:一个简单的起点添加版本号和配置的头文件Specify the C++ StandardBuild and Test最基本的项目是从源代码文件构建的可执行文件。对于简单的项目,只有三行必修的。这将是我们教程的起点。创建CMakeLists.txt文件位于Step1目录中,如下所示:CMakeLists.txt:cmake_minimum_required(VERSION 3.10) # set the project nameproject(Tutorial) # add the翻译 2021-06-27 01:34:59 · 61 阅读 · 0 评论 -
2 增加一个库
2 增加一个库现在我们将向项目中添加一个库。这个库将包含我们自己的实现,用于计算数字的平方根。然后可执行文件可以使用这个库,而不是编译器提供的标准平方根函数。在本教程中,我们将把库放入一个名为MathFunctions的子目录中。此目录已包含头文件MathFunctions.h和源文件mysqrt.cxx。源文件有一个名为mysqrt的函数,它提供了与编译器的sqrt函数类似的功能。将以下单行CMakeLists.txt文件添加到MathFunctions目录:add_library(MathFun翻译 2021-06-27 02:03:35 · 330 阅读 · 0 评论 -
3 添加库的使用要求
添加库的使用要求 使用要求允许对库或可执行文件的链接和include行进行更好的控制,同时还允许对CMake中目标的可传递属性进行更多的控制。利用使用要求的主要命令包括:target_compile_definitions()target_compile_options()target_include_directories()target_link_libraries() 让我们重构代码,从添加库再到使用现代CMake方法来满足使用需求。我们首先声明,任何链接到MathFunction翻译 2021-06-27 09:18:42 · 89 阅读 · 0 评论 -
4、安装和测试
安装和测试安装规则测试支持现在我们可以开始为我们的项目添加安装规则和测试支持了。安装规则安装规则相当简单:对于MathFunctions,我们希望安装库和头文件;对于应用程序,我们希望安装可执行文件和配置的头文件。因此,在MathFunctions/CMakeLists.txt的末尾,我们添加了:install(TARGETS MathFunctions DESTINATION lib)install(FILES MathFunctions.h DESTINATION include)在顶级翻译 2021-06-27 09:36:05 · 84 阅读 · 0 评论 -
5、添加系统自省
添加系统自省让我们考虑向项目中添加一些代码,这些代码取决于目标平台可能不具备的特性。对于本例,我们将添加一些代码,这些代码取决于目标平台是否具有log和exp函数。当然,几乎每个平台都有这些功能,但是对于本教程,假设它们并不常见。如果平台有log和exp,那么我们将使用它们来计算mysqrt函数中的平方根。我们首先使用MathFunctions/CMakeLists.txt中的CheckSymbolExists模块测试这些函数的可用性。在某些平台上,我们需要链接到m库。如果最初没有找到log和exp,则翻译 2021-06-27 09:43:15 · 108 阅读 · 0 评论 -
6、添加自定义命令和生成的文件
添加自定义命令和生成的文件假设,在本教程中,我们决定不使用platform log和exp函数,而是生成一个在mysqrt函数中使用的预计算值表。在本节中,我们将创建表作为构建过程的一部分,然后将该表编译到我们的应用程序中。首先,让我们删除对MathFunctions/CMakeLists.txt中的log和exp函数的检查。然后从mysqrt.cxx中删除对HAVE_LOG和HAVE_EXP的检查。同时,我们可以删除#include。在MathFunctions子目录中,提供了一个名为MakeTab翻译 2021-06-27 09:50:33 · 107 阅读 · 0 评论