美文网首页
Cmake语法

Cmake语法

作者: ZY如幻 | 来源:发表于2020-09-14 19:05 被阅读0次

须菩提,若有人言:如来若来若去,若坐若卧,是人不解我所说义。何以故?如来者,无所从来,亦无所去,故名如来。”

                                                                                                                                                 ----佛说

什么是Cmake?

在Android Studio2.2及以上,构建原生库的默认工具是Cmake。

1 Cmake是一个跨平台的构建工具,可以用简单的语句来描述所有平台的安装(编译过程)。能够输出各种各样的makefile或者project文件,Cmake并不直接构建最终的软件,而是产生其他工具的脚本(如makefile),然后再依据这个工具的构建方式使用。

2 Cmake是一个比make更高级的编译配置工具,它可以根据不同的平台,不同的编译器,生成相应的makefile或者vcproj项目,从而达到跨平台的目的。Android Studio利用Cmake生成ninja.ninja是一个小型的关注速度的构建系统。我们不需要关心ninja的脚本。知道怎么配置Cmake就可以了。

3 Cmake其实是一个跨平台的支持产出各种不同的构建脚本的一个工具

Cmake源文件

1 Cmake的源码文件可以包含命令,注释,空格和换行

2 以Cmake编写的源文件以CmakeList.txt命名或以.cmake为扩展名。

3 可以通过add_subdirectory()命令把子目录的Cmake源文件添加进来

4 Cmake源文件中所有有效语句都是命令,可以是内置命令或者自定义的函数/宏命令

Cmake注释

单行注释:#注释内容         例如  #    add_subdirectory()

多行注释:可以使用括号来实现多行注释:#[[多行注释]]  例如  #    [[add_subdirectory()]]

Cmake变量的定义与使用

Cmake中所有的变量都是string类型。可以使用set()和unset()命令来声明或移除一个变量

变量的引用:${变量名字}

Cmake列表定义与使用(lists)

列表也是一个字符串,可以把列表看作一个特殊的变量,这个变量有多个值,类似可变长参数。

语法格式

set(列表名字 值1 值2....值N)或者set(列表名:"值1 值2....值N")

列表名的引用 :${列表名}

Cmake流程控制---操作符

优先级:带括号的表达式优先于一元操作符,一元操作符优先于二元操作符,二元操作符优先于逻辑操作符。

Cmake流程控制---布尔常量值

Cmake流程控制---条件命令

示例代码

Cmake流程控制---循环命令

Cmake自定义函数命令

Cmake自定义宏命令


Cmake变量的作用域

1 全局层:cache变量,在整个项目范围可见,一般在set定义变量时,指定CACHE参数就能定义为cache变量

2 目录层:在当前目录CMakeLists.txt中定义,以及在该文件包含的其他cmake源文件中定义变量。

3 函数层:在命令函数中定义变量,属于函数作用域内的变量

相关文章

  • cmake基础教程

    目录;cmake语法CMAKE_MINIMUM_REQUIREDSETMESSAGEINCLUDE_DIRECTO...

  • 十三、cmake语法

    cmake语法

  • cmake 常见命令

    cmake cmake_minimum_required命令语法:cmake_minimum_required(V...

  • 十四、编译ffmpeg

    关于cmake语法,请参考这篇文章十三、cmake语法 build_android.sh-->configure-...

  • CMake构建脚本语法介绍

    一.基本语法 1.cmake_minimum_required(VERSION 3.4.1) 指定最小cmake版...

  • CMake学习

    CMake学习 参考自《Cmake Practice --Cjacker》 基本语法规则 变量的引用 变量使用${...

  • Cmake语法

    须菩提,若有人言:如来若来若去,若坐若卧,是人不解我所说义。何以故?如来者,无所从来,亦无所去,故名如来。” ...

  • Cmake语法

    Cmake概念 在Android Studio 2.2及以上,构建原生库的默认工具是CMake。 CMake是一个...

  • Cmake语法

    1. Directory 当CMake处理一个项目时,入口点是一个名为CMakeLists.txt的源文件,这个一...

  • CMakeList文件详解

    本篇为《网易云课堂》学习笔记 基础语法 常用命令 cmake_miniumum_required cmake(VE...

网友评论

      本文标题:Cmake语法

      本文链接:https://www.haomeiwen.com/subject/demzektx.html