Merge remote-tracking branch 'origin/develop' into claude/debug-ci-build-failures-011CUmiMP8xwyFa1kdhkJGaX
This commit is contained in:
@@ -76,4 +76,4 @@ endif()
|
||||
message(STATUS "=================================")
|
||||
|
||||
# Export all dependency targets for use in other CMake files
|
||||
set(YAZE_ALL_DEPENDENCIES ${YAZE_ALL_DEPENDENCIES} PARENT_SCOPE)
|
||||
set(YAZE_ALL_DEPENDENCIES ${YAZE_ALL_DEPENDENCIES})
|
||||
@@ -11,6 +11,7 @@ set(YAML_CPP_VERSION "0.8.0" CACHE STRING "yaml-cpp version")
|
||||
set(GRPC_VERSION "1.67.1" CACHE STRING "gRPC version - MSVC compatible")
|
||||
set(PROTOBUF_VERSION "3.25.1" CACHE STRING "Protobuf version")
|
||||
set(ABSEIL_VERSION "20240116.0" CACHE STRING "Abseil version")
|
||||
# Cache revision: increment to force CPM cache invalidation (current: 2)
|
||||
|
||||
# Testing
|
||||
set(GTEST_VERSION "1.14.0" CACHE STRING "Google Test version")
|
||||
@@ -21,6 +22,7 @@ set(FTXUI_VERSION "5.0.0" CACHE STRING "FTXUI version")
|
||||
|
||||
# ImGui
|
||||
set(IMGUI_VERSION "1.90.4" CACHE STRING "Dear ImGui version")
|
||||
# Cache revision: increment to force rebuild (current: 2)
|
||||
|
||||
# ASAR
|
||||
set(ASAR_VERSION "main" CACHE STRING "ASAR version")
|
||||
|
||||
@@ -58,11 +58,14 @@ set(utf8_range_BUILD_TESTS OFF CACHE BOOL "" FORCE)
|
||||
set(utf8_range_INSTALL OFF CACHE BOOL "" FORCE)
|
||||
|
||||
# Use CPM to fetch gRPC with bundled dependencies
|
||||
# GIT_SUBMODULES "" disables submodule recursion since gRPC handles its own deps via CMake
|
||||
CPMAddPackage(
|
||||
NAME grpc
|
||||
VERSION ${GRPC_VERSION}
|
||||
GITHUB_REPOSITORY grpc/grpc
|
||||
GIT_TAG v${GRPC_VERSION}
|
||||
GIT_SUBMODULES ""
|
||||
GIT_SHALLOW TRUE
|
||||
)
|
||||
|
||||
# Check which target naming convention is used
|
||||
@@ -110,7 +113,6 @@ set(ABSL_TARGETS
|
||||
absl::str_format
|
||||
absl::synchronization
|
||||
absl::time
|
||||
PARENT_SCOPE
|
||||
)
|
||||
|
||||
# Export gRPC targets for use in other CMake files
|
||||
@@ -120,7 +122,6 @@ set(YAZE_GRPC_TARGETS
|
||||
protobuf::libprotobuf
|
||||
protoc
|
||||
grpc_cpp_plugin
|
||||
PARENT_SCOPE
|
||||
)
|
||||
|
||||
message(STATUS "gRPC setup complete - targets available: ${YAZE_GRPC_TARGETS}")
|
||||
@@ -149,7 +150,6 @@ message(STATUS "Protobuf include dir: ${_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR}")
|
||||
# Export protobuf targets
|
||||
set(YAZE_PROTOBUF_TARGETS
|
||||
protobuf::libprotobuf
|
||||
PARENT_SCOPE
|
||||
)
|
||||
|
||||
# Function to add protobuf/gRPC code generation to a target
|
||||
|
||||
@@ -25,6 +25,9 @@ target_include_directories(ImGui PUBLIC
|
||||
${IMGUI_DIR}/backends
|
||||
)
|
||||
|
||||
# Set C++ standard requirement (ImGui 1.90+ requires C++11, we use C++17 for consistency)
|
||||
target_compile_features(ImGui PUBLIC cxx_std_17)
|
||||
|
||||
# Link to SDL2
|
||||
target_link_libraries(ImGui PUBLIC ${YAZE_SDL2_TARGETS})
|
||||
|
||||
@@ -52,6 +55,7 @@ if(YAZE_BUILD_TESTS)
|
||||
${IMGUI_TEST_ENGINE_DIR}
|
||||
${CMAKE_SOURCE_DIR}/src/lib
|
||||
)
|
||||
target_compile_features(ImGuiTestEngine PUBLIC cxx_std_17)
|
||||
target_link_libraries(ImGuiTestEngine PUBLIC ImGui ${YAZE_SDL2_TARGETS})
|
||||
target_compile_definitions(ImGuiTestEngine PUBLIC
|
||||
IMGUI_ENABLE_TEST_ENGINE=1
|
||||
@@ -63,7 +67,6 @@ if(YAZE_BUILD_TESTS)
|
||||
endif()
|
||||
|
||||
# Export ImGui targets for use in other CMake files
|
||||
set(YAZE_IMGUI_TARGETS ImGui PARENT_SCOPE)
|
||||
set(YAZE_IMGUI_TARGETS ImGui)
|
||||
|
||||
message(STATUS "Dear ImGui setup complete - YAZE_IMGUI_TARGETS = ${YAZE_IMGUI_TARGETS}")
|
||||
|
||||
@@ -96,9 +96,6 @@ elseif(UNIX)
|
||||
endif()
|
||||
|
||||
# Export SDL2 targets for use in other CMake files
|
||||
# Use PARENT_SCOPE to set in the calling scope (dependencies.cmake)
|
||||
set(YAZE_SDL2_TARGETS yaze_sdl2 PARENT_SCOPE)
|
||||
# Also set locally for use in this file
|
||||
set(YAZE_SDL2_TARGETS yaze_sdl2)
|
||||
|
||||
message(STATUS "SDL2 setup complete - YAZE_SDL2_TARGETS = ${YAZE_SDL2_TARGETS}")
|
||||
|
||||
@@ -47,7 +47,7 @@ if(YAZE_ENABLE_COVERAGE OR DEFINED ENV{YAZE_ENABLE_BENCHMARKS})
|
||||
message(FATAL_ERROR "Benchmark target not found after CPM fetch")
|
||||
endif()
|
||||
|
||||
set(YAZE_BENCHMARK_TARGETS benchmark::benchmark PARENT_SCOPE)
|
||||
set(YAZE_BENCHMARK_TARGETS benchmark::benchmark)
|
||||
endif()
|
||||
|
||||
# Create convenience targets for the rest of the project
|
||||
@@ -64,7 +64,6 @@ if(TARGET benchmark::benchmark)
|
||||
endif()
|
||||
|
||||
# Export testing targets for use in other CMake files
|
||||
set(YAZE_TESTING_TARGETS yaze_testing PARENT_SCOPE)
|
||||
set(YAZE_TESTING_TARGETS yaze_testing)
|
||||
|
||||
message(STATUS "Testing dependencies setup complete - GTest + GMock available")
|
||||
|
||||
@@ -13,7 +13,7 @@ if(YAZE_USE_SYSTEM_DEPS)
|
||||
message(STATUS "Using system yaml-cpp")
|
||||
add_library(yaze_yaml INTERFACE IMPORTED)
|
||||
target_link_libraries(yaze_yaml INTERFACE yaml-cpp)
|
||||
set(YAZE_YAML_TARGETS yaze_yaml PARENT_SCOPE)
|
||||
set(YAZE_YAML_TARGETS yaze_yaml)
|
||||
return()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
# gui libraries ---------------------------------------------------------------
|
||||
set(IMGUI_PATH ${CMAKE_SOURCE_DIR}/src/lib/imgui)
|
||||
file(GLOB IMGUI_SOURCES ${IMGUI_PATH}/*.cpp)
|
||||
set(IMGUI_BACKEND_SOURCES
|
||||
${IMGUI_PATH}/backends/imgui_impl_sdl2.cpp
|
||||
${IMGUI_PATH}/backends/imgui_impl_sdlrenderer2.cpp
|
||||
${IMGUI_PATH}/misc/cpp/imgui_stdlib.cpp
|
||||
)
|
||||
add_library("ImGui" STATIC ${IMGUI_SOURCES} ${IMGUI_BACKEND_SOURCES})
|
||||
target_include_directories("ImGui" PUBLIC ${IMGUI_PATH} ${IMGUI_PATH}/backends)
|
||||
target_include_directories(ImGui PUBLIC ${SDL2_INCLUDE_DIR})
|
||||
target_compile_definitions(ImGui PUBLIC
|
||||
IMGUI_IMPL_OPENGL_LOADER_CUSTOM=<SDL2/SDL_opengl.h> GL_GLEXT_PROTOTYPES=1)
|
||||
|
||||
# ImGui Test Engine - Always built when tests are enabled for simplified integration
|
||||
# The test infrastructure is tightly coupled with the editor, so we always include it
|
||||
if(YAZE_BUILD_TESTS)
|
||||
set(IMGUI_TEST_ENGINE_PATH ${CMAKE_SOURCE_DIR}/src/lib/imgui_test_engine/imgui_test_engine)
|
||||
file(GLOB IMGUI_TEST_ENGINE_SOURCES ${IMGUI_TEST_ENGINE_PATH}/*.cpp)
|
||||
add_library("ImGuiTestEngine" STATIC ${IMGUI_TEST_ENGINE_SOURCES})
|
||||
target_include_directories(ImGuiTestEngine PUBLIC ${IMGUI_PATH} ${CMAKE_SOURCE_DIR}/src/lib)
|
||||
target_link_libraries(ImGuiTestEngine PUBLIC ImGui)
|
||||
target_compile_definitions(ImGuiTestEngine PUBLIC
|
||||
IMGUI_ENABLE_TEST_ENGINE=1
|
||||
IMGUI_TEST_ENGINE_ENABLE_COROUTINE_STDTHREAD_IMPL=1)
|
||||
|
||||
message(STATUS "✓ ImGui Test Engine enabled (tests are ON)")
|
||||
else()
|
||||
message(STATUS "✗ ImGui Test Engine disabled (tests are OFF)")
|
||||
endif()
|
||||
|
||||
set(
|
||||
IMGUI_SRC
|
||||
${IMGUI_PATH}/imgui.cpp
|
||||
${IMGUI_PATH}/imgui_demo.cpp
|
||||
${IMGUI_PATH}/imgui_draw.cpp
|
||||
${IMGUI_PATH}/imgui_widgets.cpp
|
||||
${IMGUI_PATH}/backends/imgui_impl_sdl2.cpp
|
||||
${IMGUI_PATH}/backends/imgui_impl_sdlrenderer2.cpp
|
||||
${IMGUI_PATH}/misc/cpp/imgui_stdlib.cpp
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user