CMake中文手册样稿.docx


文档分类:汽车/机械/制造 | 页数:约127页 举报非法文档有奖
1/127
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/127
文档列表 文档介绍
CMake手册
本文起源:
目录:CMD#
CMake 使用方法导览
  Preface : 本文是CMake官方文档CMake Tutorial () 翻译。经过一个样例工程从简单到复杂完善过程,文档介绍了CMake关键模块(cmake, ctest, cpack)功效和使用环境;从中能够一窥cmake大致形貌。正文以下:
     本文下述内容是一个手把手使用指南;它涵盖了CMake需要处理公共构建系统部分问题。这些专题中很多专题已经在Mastering CMake一书中以单独章节被介绍过,不过经过一个样例工程看一看它们怎样工作也是很有帮助。本指南能够在CMake源码树Tests/Tutorial路径下找到。每一步全部有它自己子路径,其中包含该步骤一个完整指南。
作为基础起始点(步骤1)
  最基础工程是一个从源代码文件中构建可实施文件例子。对于简单工程,只要一个两行CMakeLists文件就足够了。这将会作为我们指南起点。这份CMakeLists文件看起来像是这么:
?
1
2
3
cmake_minimum_required (VERSION )
project (Tutorial)
add_executable(Tutorial )
  注意到这个例子在CMakeLists文件中使用了小写。CMake支持大写、小写、混合大小写命令。,而且它第一版很简单,以下所表示:
?
// A simple program that computes the square root of a number
// 计算一个数平方根简单程序
#include <>
#include <>
#include <>
int main (int argc, char *argv[])
{
  if (argc < 2)
    {
    fprintf(stdout,"Usage: %s number\n",argv[0]);
    return 1;
    }
  double inputValue = atof(argv[1]);
  double outputValue = sqrt(inputValue);
  fprintf(stdout,"The square root of %g is %g\n",
          inputValue, outputValue);
  return 0;
}
      我们添加第一个特征用来为工程和可实施文件指定一个版本号。即使你能够在源代码中唯一指定它,不过你在CMakeLists文件中指定它能够提供愈加好灵活性。以下所表示,我么能够经过添加一个版本号来修改CMakeLists文件:
?
cmake_minimum_required (VERSION )
project (Tutorial)
# 版本号
set (Tutorial_VERSION_MAJOR 1)
set (Tutorial_VERSION_MINOR 0)
# 配置一个头文件,经过它向源代码中传输部分CMake设置。
configure_file (
  "${PROJECT_SOURCE_DIR}/"
  "${PROJECT_BINARY_DIR}/"
  )
# 将二进制文件树添加到包含文件搜索路径中,
include_directories("${PROJECT_BINARY_DIR}")
# 添加可实施文件
add_executable(Tutorial )
      因为配置过文件将会被写到二进制文件目录下,我们必需把该目录添加到包含文件搜索路径清单中。然后,:
?
1
2
3
// 和tutorial相关配置好选项和设置;
#define Tutorial_VERSION_MAJOR ***@Tutorial_VERSION_MAJOR@
#define Tutorial_VERSION_MINOR ***@Tutorial_VERSION_MINOR@
      当CMake配置这份头文件时,***@Tutorial_VERSION_MAJOR@和***@Tutorial_V

CMake中文手册样稿 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数127
  • 收藏数0 收藏
  • 顶次数0
  • 上传人读书之乐
  • 文件大小137 KB
  • 时间2020-11-29
最近更新