I am trying to build Cesium 2.8.0 with UE 5.4
I was able to build cesium-native (GitHub - CesiumGS/cesium-native), but I have problems with building the whole cesium-unreal.
I followed the instructions from here: cesium-unreal/Documentation/developer-setup-linux.md at main · CesiumGS/cesium-unreal · GitHub
The problem I couldn’t resolve: the cmake command for building
cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE="unreal-linux-toolchain.cmake" -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Debug
cmake --build build --target install
runs successfully, but I get a lot of messages like “error: no member named ‘make_task’ in namespace ‘async’” when trying to build it with UAT
./RunUAT.sh BuildPlugin -Plugin="$CESIUM_FOR_UNREAL_DIR/CesiumForUnreal.uplugin" -Package="$CESIUM_FOR_UNREAL_DIR/../packages/CesiumForUnreal" -CreateSubFolder -TargetPlatforms=Linux
And all of them refer to library async++. This library exists in cesium-unreal/Source/ThirdParty/include and /lib/.
Also I see that there is a line in cesium-unreal/extern/cesium-native/CMakeLists.txt:
find_package(Async++ CONFIG REQUIRED)
so if this package had not been found, there would be an error.
Inside cesium-unreal/extern/cesium-native/CesiumAsync/CMakeLists.txt there are lines:
target_link_libraries(CesiumAsync
PUBLIC
CesiumUtility
Microsoft.GSL::GSL
spdlog::spdlog spdlog::spdlog_header_only
Async++
PRIVATE
unofficial::sqlite3::sqlite3
)
So, this library exists and being included to the target CesiumAsync.
I did a little search through CMakeCache.txt inside cesium-unreal/extern/build/ and found that there is a variable “Async++_DIR:PATH=/home/user/.ezvcpkg/2024.07.12/installed/x64-linux-release/share/async++”
Inside /home/user/.ezvcpkg/2024.07.12/installed/x64-linux-release/ there are include/, lib/ and share/ (with cmake configs) folders.
Why command
./RunUAT.sh BuildPlugin -Plugin="$CESIUM_FOR_UNREAL_DIR/CesiumForUnreal.uplugin" -Package="$CESIUM_FOR_UNREAL_DIR/../packages/CesiumForUnreal" -CreateSubFolder -TargetPlatforms=Linux
leads to these errors?
p.s. variable CESIUM_FOR_UNREAL_DIR is set to root of cesium-unreal