mirror of
				https://github.com/nicbarker/clay.git
				synced 2025-11-04 00:26:17 +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} -g")
 | 
						|
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3")
 | 
						|
 | 
						|
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
 | 
						|
)
 |