CMake教程7:安装与编译

简介: CMake教程7:安装与编译

CMake下载

从官网下载安装后,需要将CMake安装到命令行,CMake直接有提示的,非常方便:

网络异常,图片无法展示
|
任选其中一种方式都可以
网络异常,图片无法展示
|
成功之后,验证一下:
网络异常,图片无法展示
|

cmake --help
Options
  -S <path-to-source>          = Explicitly specify a source directory. # 源文件目录
  -B <path-to-build>           = Explicitly specify a build directory.  # 构建输出目录
  -D <var>[:<type>]=<value>    = Create or update a cmake cache entry.  # 传递参数
  -G <generator-name>          = Specify a build system generator.      # 生成工程文件
复制代码

CMake编译链接项目

  • 在CMakeLists的同级目录执行cmake,就会生成build文件
cmake -S ./ -B ./build  
复制代码
  • 在上一步的build目录中执行make,即可编译链接生成程序。
make
复制代码

命令行给CMake传参

假如我们有如下的MakefileLists.txt,里面有如下的控制逻辑

if(CPP_TEST)
    # todo 
endif()
复制代码

我们希望通过命令行能够控制这部分逻辑,那么我们可以这样做

cmake -D CPP_TEST=false
复制代码

注意: 这里一定要是-D再加上变量名,cmake的help里面有说明

生成工程文件

cmake -G "Xcode" -B ./proj.mac
复制代码

CMake内部构建

在CMakeLists.txt的同级目录执行cmake

cmake ./
复制代码

CMake外部构建

在外部目录执行camke,构建结果会生成在外部目录,一般我们都使用的是这种方式

mkdir build
cd build
cmake ../
make
复制代码

手动编译cocos2d-x

排除test项目

cmake -S ./ -B ./build-result -D BUILD_CPP_TESTS=false -D BUILD_CPP_EMPTY_TEST=false -D BUILD_JS_TESTS=false -D BUILD_LUA_TESTS=false -D BUILD_JS_LIBS=false
复制代码

生成XCode工程

cmake -S ./ -G "Xcode"  -B ../qt-editor/cocos.mac  -D BUILD_CPP_TESTS=false -D BUILD_CPP_EMPTY_TEST=false -D BUILD_JS_TESTS=false -D BUILD_LUA_TESTS=false -D BUILD_JS_LIBS=false
复制代码


目录
相关文章
|
3月前
|
Dart IDE Unix
CMake 教程3
CMake 教程
35 1
|
3月前
|
缓存 Unix 程序员
CMake 教程1
CMake 教程
64 1
|
3月前
CMake 教程2
CMake 教程
24 0
|
5月前
|
C++ 存储 索引
面向 C++ 的现代 CMake 教程(一)(5)
面向 C++ 的现代 CMake 教程(一)
95 0
|
5月前
|
C++ 缓存 存储
面向 C++ 的现代 CMake 教程(一)(3)
面向 C++ 的现代 CMake 教程(一)
124 0
|
5月前
|
缓存 存储 C++
面向 C++ 的现代 CMake 教程(一)(4)
面向 C++ 的现代 CMake 教程(一)
72 0
|
5月前
|
C++ 存储 JSON
面向 C++ 的现代 CMake 教程(五)(4)
面向 C++ 的现代 CMake 教程(五)
62 0
|
5月前
|
C++ 缓存 Unix
面向 C++ 的现代 CMake 教程(四)(4)
面向 C++ 的现代 CMake 教程(四)
49 0
|
5月前
|
C++ 开发者 缓存
面向 C++ 的现代 CMake 教程(四)(1)
面向 C++ 的现代 CMake 教程(四)
61 0
|
5月前
|
C++ 测试技术 开发工具
面向 C++ 的现代 CMake 教程(五)(1)
面向 C++ 的现代 CMake 教程(五)
54 0