# Simple examples for using hdk-sdl.

include(GNUInstallDirs)

option(HDK_SDL_INSTALL_EXAMPLES "Install hdk-sdl example binaries and assets" OFF)

set(HDK_SDL_EXAMPLES_ASSETS_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/assets)
set(HDK_SDL_EXAMPLES_ASSETS_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/../assets)

add_executable(HelloRenderer2D HelloRenderer2D.cpp)
target_link_libraries(HelloRenderer2D PRIVATE hdk-sdl)

# Stage shared example assets beside the example executables in the build tree.
add_custom_command(TARGET HelloRenderer2D POST_BUILD
	COMMAND ${CMAKE_COMMAND} -E rm -rf ${HDK_SDL_EXAMPLES_ASSETS_BUILD_DIR}
	COMMAND ${CMAKE_COMMAND} -E copy_directory
		${HDK_SDL_EXAMPLES_ASSETS_SOURCE_DIR}
		${HDK_SDL_EXAMPLES_ASSETS_BUILD_DIR}
	COMMENT "Staging hdk-sdl example assets"
	VERBATIM
)

if(HDK_SDL_INSTALL_EXAMPLES)
	install(TARGETS HelloRenderer2D
		RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
	)

	install(DIRECTORY ${HDK_SDL_EXAMPLES_ASSETS_SOURCE_DIR}/
		DESTINATION assets
	)
endif()