mirror of
https://github.com/nicbarker/clay.git
synced 2025-04-06 14:28:03 +00:00
50 lines
1.3 KiB
CMake
50 lines
1.3 KiB
CMake
cmake_minimum_required(VERSION 3.27)
|
|
|
|
# Project setup
|
|
project(clay_examples_sdl3_simple_demo C)
|
|
set(CMAKE_C_STANDARD 99)
|
|
|
|
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}")
|
|
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
|
|
|
|
include(FetchContent)
|
|
set(FETCHCONTENT_QUIET FALSE)
|
|
|
|
# Download SDL3
|
|
FetchContent_Declare(
|
|
SDL
|
|
GIT_REPOSITORY https://github.com/libsdl-org/SDL.git
|
|
GIT_TAG preview-3.1.6
|
|
GIT_SHALLOW TRUE
|
|
GIT_PROGRESS TRUE
|
|
)
|
|
message(STATUS "Using SDL via FetchContent")
|
|
FetchContent_MakeAvailable(SDL)
|
|
set_property(DIRECTORY "${sdl_SOURCE_DIR}" PROPERTY EXCLUDE_FROM_ALL TRUE)
|
|
|
|
# Download SDL_ttf
|
|
FetchContent_Declare(
|
|
SDL_ttf
|
|
GIT_REPOSITORY https://github.com/libsdl-org/SDL_ttf.git
|
|
GIT_TAG main # Slightly risky to use main branch, but it's the only one available
|
|
GIT_SHALLOW TRUE
|
|
GIT_PROGRESS TRUE
|
|
)
|
|
message(STATUS "Using SDL_ttf via FetchContent")
|
|
FetchContent_MakeAvailable(SDL_ttf)
|
|
set_property(DIRECTORY "${sdl_ttf_SOURCE_DIR}" PROPERTY EXCLUDE_FROM_ALL TRUE)
|
|
|
|
# Example executable
|
|
add_executable(${PROJECT_NAME} main.c)
|
|
target_link_libraries(${PROJECT_NAME} PRIVATE
|
|
SDL3::SDL3
|
|
SDL3_ttf::SDL3_ttf
|
|
)
|
|
|
|
add_custom_command(
|
|
TARGET ${PROJECT_NAME} POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
|
${CMAKE_CURRENT_SOURCE_DIR}/resources
|
|
${CMAKE_CURRENT_BINARY_DIR}/resources
|
|
)
|