77 lines
1.6 KiB
CMake
77 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_MakeAvailable(imgui)
|
|
|
|
# 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
|
|
meta/meta.cpp
|
|
system/hud_system.cpp
|
|
system/imgui_system.cpp
|
|
system/input_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}
|
|
)
|