对于n年没碰过C++,unreal也不怎么熟悉的人来说,编译操作一脸懵逼,但还是想弄清楚编译过程中在做啥,所以耐着性子慢慢查了下;
编译的步骤官方仓库readme有,但不够详细
本文参照 用源码编译Cesium for Unreal - 知乎 一文做;
文中少了一步:将源码编译到当前安装的ue版本,否则打开的时候会报错
"D:\software\unreal\UE_4.27\Engine\Build\BatchFiles\RunUAT.bat" BuildPlugin -Plugin="D:\project\cesium-unreal\CesiumForUnreal.uplugin" -Package="D:\project\UE4\CesiumForUnreal" -CreateSubFolder -TargetPlatforms=Win64
原文参见:
首先是camke命令的安装;百科解释cmake该工具是一用语句来描述跨平台安装(编译)的工具;
详细不说,看编译用的几个命令行,cd太简单直接略过;
cmake -B build -S . 根据文档解释,-B,即构建结构的输出目录;-S,相对项目根目录的位置关系;
cmake --build build --config Release --target install
--build,即要构建的项目二进制目录 为build;
--config Release文档中未说明,但应该和通常所见的Release版本一个意思
--target 生成target
而不是默认目标。可以指定多个目标,以空格分隔
查看根目录下的cmakeList.txt cmake命令执行的依据(类似于配置文件)
1 cmake_minimum_required(VERSION 3.15) 顾名思义
2 project(cesium-unreal-extern VERSION 0.1.0 LANGUAGES CXX C) 项目名称
3 根据CMAKE_SYSTEM_NAME构建为安装,或者ios,或者windows64/32
4 set(PRIVATE_CESIUM_SQLITE ON) set将cesium使用的sqlite3*更名为cesium_sqlite3*
set命令为用变量代替值,例子中定义SRC_LST代替后面的字符串
5 然后就是各种set 安装命令..
6 add_subdirectory(cesium-native) 添加native子文件夹;
7 install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/cesium-native/extern/stb/stb_image_resize.h TYPE INCLUDE) 将cesium native header添加
8 set_target_properties(cesium-native-tests PROPERTIES EXCLUDE_FROM_ALL 1 EXCLUDE_FROM_DEFAULT_BUILD 1) 设置目标的一些属性来改变它们构建的方式。
native下的每一个文件夹均有cmakelist,具体问题再具体查看把