Files
entt/testbed/CMakeLists.txt
2025-04-11 18:27:25 +02:00

79 lines
1.6 KiB
CMake

# Testbed configuration
include(FetchContent)
# Fetch SDL3
FetchContent_Declare(
SDL3
GIT_REPOSITORY https://github.com/libsdl-org/SDL
GIT_TAG release-3.2.10
GIT_SHALLOW 1
)
option(SDL_STATIC "Enable SDL static library" ON)
option(SDL_SHARED "Disable SDL shared library" OFF)
FetchContent_MakeAvailable(SDL3)
# Fetch ImGui
FetchContent_Declare(
imgui
GIT_REPOSITORY https://github.com/ocornut/imgui
GIT_TAG v1.91.9
GIT_SHALLOW 1
)
FetchContent_GetProperties(imgui)
if(NOT imgui_POPULATED)
FetchContent_Populate(imgui)
set(imgui_INCLUDE_DIR ${imgui_SOURCE_DIR})
endif()
# Testbed executable
add_executable(testbed)
set_target_properties(testbed PROPERTIES CXX_EXTENSIONS OFF)
target_compile_features(testbed PUBLIC ${ENTT_CXX_STD})
target_compile_definitions(
testbed
PRIVATE
ENTT_ID_TYPE=${ENTT_ID_TYPE}
NOMINMAX
)
target_sources(
testbed
PRIVATE
application/application.cpp
application/context.cpp
system/imgui_system.cpp
system/rendering_system.cpp
testbed.cpp
${imgui_SOURCE_DIR}/backends/imgui_impl_sdl3.cpp
${imgui_SOURCE_DIR}/backends/imgui_impl_sdlrenderer3.cpp
${imgui_SOURCE_DIR}/imgui.cpp
${imgui_SOURCE_DIR}/imgui_demo.cpp
${imgui_SOURCE_DIR}/imgui_draw.cpp
${imgui_SOURCE_DIR}/imgui_tables.cpp
${imgui_SOURCE_DIR}/imgui_widgets.cpp
)
target_link_libraries(
testbed
PRIVATE
EnTT::EnTT
SDL3::SDL3
)
target_include_directories(
testbed
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${imgui_SOURCE_DIR}
)