2026-07-18 14:31:15 +02:00
|
|
|
cmake_minimum_required(VERSION 3.26)
|
2026-08-05 18:31:21 +02:00
|
|
|
project(tw_common)
|
2026-07-18 14:31:15 +02:00
|
|
|
|
|
|
|
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
2026-08-04 21:18:46 +02:00
|
|
|
set(CMAKE_CXX_STANDARD 23)
|
|
|
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
2026-07-18 14:31:15 +02:00
|
|
|
|
|
|
|
|
include(cmake/CompilerOptions.cmake)
|
|
|
|
|
include(cmake/Dependencies.cmake)
|
|
|
|
|
|
|
|
|
|
file(GLOB FILES
|
|
|
|
|
src/runtime/*.cpp
|
|
|
|
|
src/world/*.cpp
|
|
|
|
|
src/draw/*.cpp
|
|
|
|
|
src/draw/RenderPasses/*.cpp
|
|
|
|
|
src/debug/tools/*.cpp
|
|
|
|
|
src/io/*.cpp
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
file(GLOB HEADERS
|
|
|
|
|
src/runtime/*.hpp
|
|
|
|
|
src/world/*.hpp
|
|
|
|
|
src/draw/*.hpp
|
|
|
|
|
src/debug/tools/*.hpp
|
|
|
|
|
src/io/*.hpp
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_library(${PROJECT_NAME} OBJECT ${FILES})
|
|
|
|
|
add_dependencies(${PROJECT_NAME} imgui imgui::plot tw_shaders)
|
|
|
|
|
target_sources(${PROJECT_NAME}
|
|
|
|
|
PUBLIC FILE_SET HEADERS
|
|
|
|
|
BASE_DIRS src
|
|
|
|
|
FILES ${HEADERS}
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
target_include_directories(${PROJECT_NAME}
|
|
|
|
|
PUBLIC
|
|
|
|
|
${PROJECT_SOURCE_DIR}/src/
|
|
|
|
|
${CMAKE_SOURCE_DIR}/external/implot/
|
|
|
|
|
${JoltPhysics_SOURCE_DIR}/..
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
target_link_libraries(${PROJECT_NAME}
|
|
|
|
|
PUBLIC
|
2026-08-05 18:31:21 +02:00
|
|
|
spdlog::spdlog
|
2026-07-18 14:31:15 +02:00
|
|
|
glm::glm
|
|
|
|
|
EnTT::EnTT
|
|
|
|
|
Jolt
|
|
|
|
|
tl::expected
|
|
|
|
|
Tracy::TracyClient
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
include(cmake/Modules.cmake)
|