Updated Packaging for Debian.
This commit is contained in:
+24
-31
@@ -13,63 +13,56 @@ else()
|
||||
message(FATAL_ERROR "Unable to locate HDKExampleAssetsPolicy.cmake")
|
||||
endif()
|
||||
|
||||
option(HDK_SDL_INSTALL_EXAMPLES "Install hdk-sdl example binaries and assets" OFF)
|
||||
option(HDK_SDL_EXAMPLES_FETCH_ASSETS "Fetch hdk-assets when no suitable package is found" ON)
|
||||
|
||||
if(DEFINED HDK_ASSETS_MIN_VERSION)
|
||||
set(_hdk_sdl_assets_min_version_default "${HDK_ASSETS_MIN_VERSION}")
|
||||
else()
|
||||
set(_hdk_sdl_assets_min_version_default "0.0.1")
|
||||
if(NOT DEFINED HDK_INSTALL_EXAMPLES)
|
||||
set(HDK_INSTALL_EXAMPLES OFF)
|
||||
endif()
|
||||
|
||||
if(DEFINED HDK_ASSETS_GIT_REPOSITORY)
|
||||
set(_hdk_sdl_assets_repo_default "${HDK_ASSETS_GIT_REPOSITORY}")
|
||||
else()
|
||||
set(_hdk_sdl_assets_repo_default "https://git.ufp.institute/ufp/hdk-assets.git")
|
||||
option(HDK_INSTALL_EXAMPLES "Install hdk-sdl example binaries and assets" ${HDK_INSTALL_EXAMPLES})
|
||||
option(HDK_EXAMPLES_FETCH_ASSETS "Fetch hdk-assets when no suitable package is found" ON)
|
||||
|
||||
if(NOT DEFINED HDK_ASSETS_MIN_VERSION)
|
||||
set(HDK_ASSETS_MIN_VERSION "0.0.1")
|
||||
endif()
|
||||
|
||||
if(DEFINED HDK_INSTALL_ASSETSDIR)
|
||||
set(_hdk_sdl_install_assetsdir_default "${HDK_INSTALL_ASSETSDIR}")
|
||||
else()
|
||||
set(_hdk_sdl_install_assetsdir_default "assets")
|
||||
if(NOT DEFINED HDK_ASSETS_GIT_REPOSITORY)
|
||||
set(HDK_ASSETS_GIT_REPOSITORY "https://git.ufp.institute/ufp/hdk-assets.git")
|
||||
endif()
|
||||
|
||||
set(HDK_SDL_EXAMPLES_ASSETS_MIN_VERSION "${_hdk_sdl_assets_min_version_default}" CACHE STRING "Minimum hdk-assets version used by hdk-sdl examples")
|
||||
set(HDK_SDL_EXAMPLES_ASSETS_GIT_REPOSITORY "${_hdk_sdl_assets_repo_default}" CACHE STRING "Git repository for hdk-assets fallback in hdk-sdl examples")
|
||||
set(HDK_SDL_EXAMPLES_ASSETS_GIT_TAG "v${HDK_SDL_EXAMPLES_ASSETS_MIN_VERSION}" CACHE STRING "Git tag used for hdk-assets fallback in hdk-sdl examples")
|
||||
set(HDK_SDL_EXAMPLES_INSTALL_ASSETSDIR "${_hdk_sdl_install_assetsdir_default}" CACHE STRING "Install destination for hdk-sdl example assets (relative to CMAKE_INSTALL_PREFIX)")
|
||||
if(NOT DEFINED HDK_INSTALL_ASSETSDIR)
|
||||
set(HDK_INSTALL_ASSETSDIR "assets")
|
||||
endif()
|
||||
|
||||
hdk_resolve_example_assets(
|
||||
OUT_VAR HDK_SDL_EXAMPLES_ASSETS_SOURCE_DIR
|
||||
FETCH_OPTION ${HDK_SDL_EXAMPLES_FETCH_ASSETS}
|
||||
MIN_VERSION ${HDK_SDL_EXAMPLES_ASSETS_MIN_VERSION}
|
||||
GIT_REPOSITORY ${HDK_SDL_EXAMPLES_ASSETS_GIT_REPOSITORY}
|
||||
GIT_TAG ${HDK_SDL_EXAMPLES_ASSETS_GIT_TAG}
|
||||
OUT_VAR HDK_EXAMPLES_ASSETS_SOURCE_DIR
|
||||
FETCH_OPTION ${HDK_EXAMPLES_FETCH_ASSETS}
|
||||
MIN_VERSION ${HDK_ASSETS_MIN_VERSION}
|
||||
GIT_REPOSITORY ${HDK_ASSETS_GIT_REPOSITORY}
|
||||
GIT_TAG v${HDK_ASSETS_MIN_VERSION}
|
||||
CONTEXT "hdk-sdl examples"
|
||||
)
|
||||
set(HDK_SDL_EXAMPLES_ASSETS_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/../assets)
|
||||
set(HDK_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 rm -rf ${HDK_EXAMPLES_ASSETS_BUILD_DIR}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||
${HDK_SDL_EXAMPLES_ASSETS_SOURCE_DIR}
|
||||
${HDK_SDL_EXAMPLES_ASSETS_BUILD_DIR}
|
||||
${HDK_EXAMPLES_ASSETS_SOURCE_DIR}
|
||||
${HDK_EXAMPLES_ASSETS_BUILD_DIR}
|
||||
COMMENT "Staging hdk-sdl example assets"
|
||||
VERBATIM
|
||||
)
|
||||
|
||||
if(HDK_SDL_INSTALL_EXAMPLES)
|
||||
if(HDK_INSTALL_EXAMPLES)
|
||||
install(TARGETS HelloRenderer2D
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
COMPONENT hdk-sdl_examples
|
||||
)
|
||||
|
||||
install(DIRECTORY ${HDK_SDL_EXAMPLES_ASSETS_SOURCE_DIR}/
|
||||
DESTINATION ${HDK_SDL_EXAMPLES_INSTALL_ASSETSDIR}
|
||||
install(DIRECTORY ${HDK_EXAMPLES_ASSETS_SOURCE_DIR}/
|
||||
DESTINATION ${HDK_INSTALL_ASSETSDIR}
|
||||
COMPONENT hdk-sdl_examples
|
||||
)
|
||||
endif()
|
||||
Reference in New Issue
Block a user