Files
hdk-sdl/examples/CMakeLists.txt
2026-05-13 19:48:22 +00:00

31 lines
993 B
CMake

# 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()