dice-gui/CMakeLists.txt

37 lines
1 KiB
CMake

cmake_minimum_required(VERSION 3.21)
project(dice-gui)
set(CMAKE_BINARY_DIR "${CMAKE_SOURCE_DIR}/bin")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}")
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_C_STANDARD 23)
file(GLOB_RECURSE source_files . src/**.cpp src/**.c vendor/renderer/**.c vendor/ceramic/**.cpp)
include_directories(vendor/)
set(SDL_VENDORED ON)
add_subdirectory(vendor/SDL3/ EXCLUDE_FROM_ALL)
set(SDLTTF_VENDORED ON)
add_subdirectory(vendor/SDL3_ttf EXCLUDE_FROM_ALL)
set(SDLIMAGE_AVIF OFF)
set(SDLIMAGE_BMP OFF)
set(SDLIMAGE_TIF OFF)
set(SDLIMAGE_WEBP OFF)
set(SDLIMAGE_VENDORED ON)
add_subdirectory(vendor/SDL3_image EXCLUDE_FROM_ALL)
add_executable(dice-gui ${source_files})
target_link_libraries(dice-gui PRIVATE
SDL3_ttf::SDL3_ttf
SDL3_image::SDL3_image
SDL3::SDL3)
add_custom_target(copy_assets
COMMAND ${CMAKE_COMMAND} -E
copy_directory ${CMAKE_SOURCE_DIR}/assets/ ${CMAKE_BINARY_DIR}/assets
)
add_dependencies(dice-gui copy_assets)