mirror of
				https://github.com/nicbarker/clay.git
				synced 2025-11-04 00:26:17 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			63 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.7 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 release-3.2.4
 | 
						|
	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)
 | 
						|
 | 
						|
# Download SDL_image
 | 
						|
FetchContent_Declare(
 | 
						|
	SDL_image
 | 
						|
	GIT_REPOSITORY "https://github.com/libsdl-org/SDL_image.git"
 | 
						|
	GIT_TAG release-3.2.0 # Slightly risky to use main branch, but it's the only one available
 | 
						|
	GIT_SHALLOW TRUE
 | 
						|
	GIT_PROGRESS TRUE
 | 
						|
)
 | 
						|
message(STATUS "Using SDL_image via FetchContent")
 | 
						|
FetchContent_MakeAvailable(SDL_image)
 | 
						|
set_property(DIRECTORY "${SDL_image_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
 | 
						|
	SDL3_image::SDL3_image
 | 
						|
)
 | 
						|
 | 
						|
add_custom_command(
 | 
						|
	TARGET ${PROJECT_NAME} POST_BUILD
 | 
						|
	COMMAND ${CMAKE_COMMAND} -E copy_directory
 | 
						|
		${CMAKE_CURRENT_SOURCE_DIR}/resources
 | 
						|
		${CMAKE_CURRENT_BINARY_DIR}/resources
 | 
						|
)
 |