diff --git a/.github/workflows/build_linux.yml b/.github/workflows/build_linux.yml index d428d68d8..a256322b9 100644 --- a/.github/workflows/build_linux.yml +++ b/.github/workflows/build_linux.yml @@ -13,18 +13,23 @@ jobs: matrix: configuration: [debug, release] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: submodules: 'true' - name: Install dependencies run: | - sudo apt install libxrandr-dev - sudo apt install libxinerama-dev - sudo apt install libxcursor-dev - sudo apt install libxi-dev - sudo apt install libglvnd-dev - sudo apt install libvulkan-dev + sudo apt-get update + sudo apt-get install -y \ + libxrandr-dev \ + libxrender-dev \ + libxinerama-dev \ + libxcursor-dev \ + libxi-dev \ + libglvnd-dev \ + libvulkan-dev \ + clang \ + libc++-dev - name: Build - run: ./build_linux.sh ${{matrix.configuration}} \ No newline at end of file + run: ./build_linux.sh ${{matrix.configuration}} diff --git a/.github/workflows/build_macos.yml b/.github/workflows/build_macos.yml index 042c70a6c..7d20ed8df 100644 --- a/.github/workflows/build_macos.yml +++ b/.github/workflows/build_macos.yml @@ -13,7 +13,7 @@ jobs: matrix: configuration: [debug, release] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: submodules: 'true' diff --git a/.github/workflows/build_windows.yml b/.github/workflows/build_windows.yml index 47eee1060..87f15e98c 100644 --- a/.github/workflows/build_windows.yml +++ b/.github/workflows/build_windows.yml @@ -14,9 +14,9 @@ jobs: matrix: configuration: [debug, release] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: submodules: 'true' - name: Build - run: ./build_windows.bat ${{matrix.configuration}} \ No newline at end of file + run: ./build_windows.bat ${{matrix.configuration}} diff --git a/build_macos.sh b/build_macos.sh index 457748fb5..8055d7b39 100755 --- a/build_macos.sh +++ b/build_macos.sh @@ -13,9 +13,9 @@ fi if test \( \( -n "$1" \) -a \( "$1" = "debug" \) \);then - CONFIG=" Debug" + CONFIG="Debug" elif test \( \( -n "$1" \) -a \( "$1" = "release" \) \);then - CONFIG=" Release" + CONFIG="Release" else echo "The config \"$1\" is not supported!" echo "" @@ -26,6 +26,6 @@ else exit 1 fi -cmake -S . -B build -G "Xcode" +cmake -S . -B build -G "Xcode" -DCMAKE_POLICY_VERSION_MINIMUM=3.5 cmake --build build --config "${CONFIG}" diff --git a/engine/3rdparty/CMakeLists.txt b/engine/3rdparty/CMakeLists.txt index 1339bb7da..74b7bfa02 100644 --- a/engine/3rdparty/CMakeLists.txt +++ b/engine/3rdparty/CMakeLists.txt @@ -56,6 +56,10 @@ if(NOT TARGET Jolt) if(COMPILER_CHECK_UNQUALIFIED) target_compile_options(Jolt PRIVATE "-Wno-unqualified-std-cast-call") endif() + check_cxx_compiler_flag("-Wno-nontrivial-memcall" COMPILER_CHECK_NONTRIVIAL_MEMCALL) + if(COMPILER_CHECK_NONTRIVIAL_MEMCALL) + target_compile_options(Jolt PRIVATE "-Wno-nontrivial-memcall") + endif() endif() if(ENABLE_PHYSICS_DEBUG_RENDERER) diff --git a/engine/3rdparty/JoltPhysics/Jolt/Core/Core.h b/engine/3rdparty/JoltPhysics/Jolt/Core/Core.h index 0821bad61..232e3df28 100644 --- a/engine/3rdparty/JoltPhysics/Jolt/Core/Core.h +++ b/engine/3rdparty/JoltPhysics/Jolt/Core/Core.h @@ -217,6 +217,7 @@ JPH_SUPPRESS_WARNINGS_STD_BEGIN #include #include #include +#include JPH_SUPPRESS_WARNINGS_STD_END #if defined(JPH_USE_SSE) #include diff --git a/engine/3rdparty/sol2-3.3.0/include/sol/optional_implementation.hpp b/engine/3rdparty/sol2-3.3.0/include/sol/optional_implementation.hpp index 26f41d0c8..e22226d6b 100644 --- a/engine/3rdparty/sol2-3.3.0/include/sol/optional_implementation.hpp +++ b/engine/3rdparty/sol2-3.3.0/include/sol/optional_implementation.hpp @@ -2191,7 +2191,8 @@ namespace sol { static_assert(std::is_constructible::value, "T must be constructible with Args"); *this = nullopt; - this->construct(std::forward(args)...); + new (static_cast(this)) optional(std::in_place, std::forward(args)...); + return **this; } /// Swaps this optional with the other. diff --git a/engine/3rdparty/tinyobjloader/CMakeLists.txt b/engine/3rdparty/tinyobjloader/CMakeLists.txt index f64b42ce4..9c7d69496 100644 --- a/engine/3rdparty/tinyobjloader/CMakeLists.txt +++ b/engine/3rdparty/tinyobjloader/CMakeLists.txt @@ -2,7 +2,7 @@ #This configures the Cmake system with multiple properties, depending #on the platform and configuration it is set to build in. project(tinyobjloader) -cmake_minimum_required(VERSION 3.2) +cmake_minimum_required(VERSION 3.5) set(TINYOBJLOADER_SOVERSION 2) set(TINYOBJLOADER_VERSION 2.0.0-rc.9) diff --git a/engine/source/runtime/core/meta/reflection/reflection.cpp b/engine/source/runtime/core/meta/reflection/reflection.cpp index 43193f0f3..cfff8474f 100644 --- a/engine/source/runtime/core/meta/reflection/reflection.cpp +++ b/engine/source/runtime/core/meta/reflection/reflection.cpp @@ -1,4 +1,5 @@ #include "reflection.h" +#include #include #include diff --git a/engine/source/runtime/function/render/interface/vulkan/vulkan_vma.cpp b/engine/source/runtime/function/render/interface/vulkan/vulkan_vma.cpp index 9e00edf45..61752a83e 100644 --- a/engine/source/runtime/function/render/interface/vulkan/vulkan_vma.cpp +++ b/engine/source/runtime/function/render/interface/vulkan/vulkan_vma.cpp @@ -1,4 +1,5 @@ #define VMA_IMPLEMENTATION 1 #define VMA_STATIC_VULKAN_FUNCTIONS 0 #define VMA_DYNAMIC_VULKAN_FUNCTIONS 1 +#include #include "vk_mem_alloc.h" \ No newline at end of file