Cocos2d-x:CMake 指南

推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生

CMake 指南

CMake 是一个开源的跨平台构建工具,Cocos2d-x 是一个开源的跨平台游戏引擎,两者十分契合。

Cocos2d-x 决定自 3.17 版本开始,支持 CMake 的全平台构建。 支持的平台包括 Android (NDK)、iOS、macOS、Linux、Windows(VC++ compiler),同时支持通过 CMake 将引擎部分进行预编译,并在新的构建过程中重用预编译的引擎库。

基本概念

在使用 CMake 构建工程之前,最好能对软件构建中一些基本的概念有初步的了解,比如什么是编译,链接,打包。 了解这些对后续使用 CMake 有很大的帮助。

此处只解释一下:外部构建(Out-of-source Build),在从源码生成最终的二进制可执行文件的过程中,会生成大量的中间文件,中间文件和源码在同一个目录内时会使源码目录混乱不堪,使用外部构建,即将所有生成的中间文件都放在一个非源码目录中,这样无论构建多少次,源码目录始终干净如新。

常用构建选项

CMake 通用

-G,通过 CMake 生成特定 IDE 的项目配置文件。 这个操作依赖 IDE,即无法在一个没安装 Xcode 的 macOS 上通过 CMake 生成对应的工程文件。

  • -GXcode 生成 Xcode 工程文件
  • -GVisual Studio 15 2017 生成 Visual Studio 2017 工程文件

CMAKE_BUILD_TYPE, 指定构建模式,比如 Debug 还是 Release,默认值 Debug。

  • -DCMAKE_BUILD_TYPE=Release 指定以 Release 模式生成工程。

-H -B, 用来指定一个源码目录,指定的目录必须含有一个 CMakeLists.txt 文件, 用来指定 CMake 生成的中间文件的存放目录。-H-B

  • -H..\cocos2d-x -Bmsvc_build 指定要构建工程的工程路径是上一级目录的 cocos2d-x 子目录,指定 CMake 生成的文件存放在 msvc_build 目录。

--建执行构建过程,同时指定曾使用 CMake 命令生成的构建文件所在目录。

  • cmake --build ./msvc_build 在执行这个构建过程时,CMake 会自动选择对应的构建工具。

各平台构建示例

Linux目录

cd cocos2d-x
mkdir linux-build && cd linux-build
cmake ..
make -j 4

在执行 命令之前,可以执行 查看所有的构建目标,使用 构建一个特定的目标。make -j 4make helpmake <target>

苹果操作系统

cd cocos2d-x
mkdir mac-build && cd mac-build
cmake .. -GXcode
open Cocos2d-x.xcodeproj

在 macOS 上使用 将会默认生成 macOS 的工程。 iOS 工程和 macOS 工程并不能同时生成到一个 XCode 工程中。cmake .. -GXcode

苹果

cd cocos2d-x
mkdir ios-build && cd ios-build
cmake .. -GXcode -DCMAKE_TOOLCHAIN_FILE=../cmake/ios.toolchain.cmake
open Cocos2d-x.xcodeproj

默认构建的是为运行在 iOS 设备的工程,如果想构建运行在模拟器的工程,请加参数 或 。-DIOS_PLATFORM=SIMULATOR-DIOS_PLATFORM=SIMULATOR64

人造人

默认工程配置在 Android 上使用旧有的 ndk-build 构建 C++ 部分,开启 CMake 构建,请先更改 Gradle 配置中的 属性为 cmake,再同步 Gradle 配置,同步完成后,可以看到外部构建脚本从 Android.mk 变为了 CMakeLists.txt。PROP_NDK_MODE

# android native code build type
# none, native code will never be compiled.
# cmake, native code will be compiled by CMakeLists.txt
# ndk-build, native code will be compiled by Android.mk
PROP_BUILD_TYPE=ndk-build

如果需要在 Android Studio 中使用预编译库,需特别设置预编译库存放的目录,请参考关于预编译库的介绍,以及 中的注释。build.gradle

窗户

cd cocos2d-x
mkdir win32-build && cd win32-build
cmake .. -G"Visual Studio 15 2017"

以上命令使用 CMake 生成 Cocos2d-x 测试项目的 Visual Studio 2017 工程。 生成后,在文件浏览器中找到 cocos2d-x/win32-build 目录,双击打开 Cocos2d-x.sln。 设置 cpp-tests 为启动项目,即可正常编译运行。

另一种方式,由于 Visual Studio 2017 已经直接支持 CMake 工程,可以直接使用。 详细请参考 CMake 支持。

CMake 帮助

  • CMake 官网: cmake.org
  • CMake 文档: cmake.org/documentation
  • CMake FAQ: Wiki/CMake_FAQ

3D建模学习工作室 翻译整理,转载请注明出处!

上一篇:Cocos2d-x:搭建开发环境 - Windows 平台 (mvrlink.com)

下一篇:Cocos2d-x:cocos 命令 (mvrlink.com)

NSDT场景编辑器 | NSDT 数字孪生 | GLTF在线编辑器 | 3D模型在线转换 | UnrealSynth虚幻合成数据生成器 | 3D模型自动纹理化工具
2023 power by nsdt©鄂ICP备2023000829号