cmake  v3.0.2 中文版
cmake
版本:v3.0.2
类别:动作游戏
大小:10.7MB
时间:2024-01-16

软件介绍

  • cmake
    • cmake

      cmake是一个非常重要的编程工具,cmake是旨在构建、测试打包,主要是用于控制软件使用平台独立配置文方便用户对测试编译器C++特性,让开发设备能够实时输出各种各样的makefile以及project文件。

      cmake

      cmake运行说明:

      cmake 运行

      (1)运行cmake with GUI

      如果系统中有curses库的话,cmake将生成一个可执行文件ccmake,它是一个基于文本程序的终端,有点类似windows GUI。

      在源码目录中运行ccmake .,生成的二进制文件存放在源码目录下

      当然也可以在其他目录下运行ccmake,只是要指定你想编译的源码的路径

      ccmake的使用

      当我们在源码目录下运行ccmake . 时,终端将显示如下:

      当我们键入c时,ccmake将编译

      当我们键入方向键时,可以选择cache entry

      当我们键入enter时,可以编辑cache entry

      当我们键入g时,将生成Makefile,然后退出

      当我们键入h时,将弹出帮助文档

      当我们键入q时,将退出ccmake

      当我们键入t时,可以打开或关闭advanced cache entry

      (2)运行cmake from the command line

      如果源码没有太多的选项(在CMakeCache.txt文件中),可以只用cmake .来产生Makefile。

      如果源码选项太多,比如VTK,可以把参数-i传递给cmake,如:cmake -i .,

      cmake将让你为每一个cache file文件中的选项指定一个值,也能让你增加新的选项到文件CMakeCache.txt中,或者使用ccmake,或者使用CMakeSetup。

      当然,也可以传递设置选项的参数给cmake,如:

      cmake -DVARIABLE:TYPE=VALUE .

      set(VAR a;b;c)或set(VAR a b c)将把VAR设置为字符串列表

      要使用VAR,可以用${VAR},如:

      command(${VAR}),它相当于command(a b c)

      如果想把一个字符串列表作为单个参数传递给命令,可以用双引号,如:

      command(“${VAR}”),相当于command(“a b c”)

      (3)流程控制

      。判断

      if(var)

      some_command(...)

      endif(var)

      当var的值不为empty,0,N,NO,OFF,FALSE,NOTFOUND

      ——NOTFOUND,some_command(...)将被执行

      。循环

      set(VAR a b c)

      foreach(f ${VAR})

      message(${f})

      endforeach(f)

      用变量f依次代替a,b,c执行message()

      。宏和函数定义

      定义一个宏hello

      macro(hello MESSAGE)

      message(${MESSAGE})

      endmacro(hello)

      调用宏hello

      hello(“hello world”)

      定义一个函数hello

      function(hello MESSAGE)

      message(${MESSAGE})

      endfunction(hello)

      (4)正则表达式

      很多CMake命令如if,会使用正则表达式作为参数,下面是正则表达式会用到的特殊字符:

      ^:匹配一行或一个字符串的开头

      $:匹配一行或一个字符串的结尾

      .:匹配单个字符

      []:匹配方括号中任意字符或字符串

      [^]:匹配不是方括号中的字符或字符串

      [-]:匹配在dash任意一边的字符

      *:匹配0或多个先前的字符序列

      +:匹配1或多个先前的字符序列

      ?:匹配0或1个先前的字符序列

      ():保存一个匹配的表达式,以便以后使用

      手游排行榜

      • 最新排行
      • 最热排行
      • 评分最高