Working on debian packaging for first prototype release.

This commit is contained in:
BadQuanta
2026-05-17 11:31:07 +00:00
parent 7c246bd12e
commit 4343dab33a
9 changed files with 846 additions and 49 deletions
+26 -33
View File
@@ -12,62 +12,55 @@ else()
message(FATAL_ERROR "Unable to locate HDKExampleAssetsPolicy.cmake")
endif()
option(HDK_IS3R_INSTALL_EXAMPLES "Install hdk-is3r example binaries and assets" OFF)
option(HDK_IS3R_EXAMPLES_FETCH_ASSETS "Fetch hdk-assets when no suitable package is found" ON)
if(DEFINED HDK_ASSETS_MIN_VERSION)
set(_hdk_is3r_assets_min_version_default "${HDK_ASSETS_MIN_VERSION}")
else()
set(_hdk_is3r_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_is3r_assets_repo_default "${HDK_ASSETS_GIT_REPOSITORY}")
else()
set(_hdk_is3r_assets_repo_default "https://git.ufp.institute/ufp/hdk-assets.git")
option(HDK_INSTALL_EXAMPLES "Install hdk-is3r 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_is3r_install_assetsdir_default "${HDK_INSTALL_ASSETSDIR}")
else()
set(_hdk_is3r_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_IS3R_EXAMPLES_ASSETS_MIN_VERSION "${_hdk_is3r_assets_min_version_default}" CACHE STRING "Minimum hdk-assets version used by hdk-is3r examples")
set(HDK_IS3R_EXAMPLES_ASSETS_GIT_REPOSITORY "${_hdk_is3r_assets_repo_default}" CACHE STRING "Git repository for hdk-assets fallback in hdk-is3r examples")
set(HDK_IS3R_EXAMPLES_ASSETS_GIT_TAG "v${HDK_IS3R_EXAMPLES_ASSETS_MIN_VERSION}" CACHE STRING "Git tag used for hdk-assets fallback in hdk-is3r examples")
set(HDK_IS3R_EXAMPLES_INSTALL_ASSETSDIR "${_hdk_is3r_install_assetsdir_default}" CACHE STRING "Install destination for hdk-is3r 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_IS3R_EXAMPLES_ASSETS_SOURCE_DIR
FETCH_OPTION ${HDK_IS3R_EXAMPLES_FETCH_ASSETS}
MIN_VERSION ${HDK_IS3R_EXAMPLES_ASSETS_MIN_VERSION}
GIT_REPOSITORY ${HDK_IS3R_EXAMPLES_ASSETS_GIT_REPOSITORY}
GIT_TAG ${HDK_IS3R_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-is3r examples"
)
set(HDK_IS3R_EXAMPLES_ASSETS_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/../assets)
set(HDK_EXAMPLES_ASSETS_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/../assets)
add_executable(is3r-basics is3r-basics.cpp)
target_link_libraries(is3r-basics PRIVATE hdk-is3r)
add_custom_command(TARGET is3r-basics POST_BUILD
COMMAND ${CMAKE_COMMAND} -E rm -rf ${HDK_IS3R_EXAMPLES_ASSETS_BUILD_DIR}
COMMAND ${CMAKE_COMMAND} -E rm -rf ${HDK_EXAMPLES_ASSETS_BUILD_DIR}
COMMAND ${CMAKE_COMMAND} -E copy_directory
${HDK_IS3R_EXAMPLES_ASSETS_SOURCE_DIR}
${HDK_IS3R_EXAMPLES_ASSETS_BUILD_DIR}
${HDK_EXAMPLES_ASSETS_SOURCE_DIR}
${HDK_EXAMPLES_ASSETS_BUILD_DIR}
COMMENT "Staging hdk-is3r example assets"
VERBATIM
)
if(HDK_IS3R_INSTALL_EXAMPLES)
if(HDK_INSTALL_EXAMPLES)
install(TARGETS is3r-basics
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
COMPONENT hdk-imgui-sdl-renderer_examples
COMPONENT hdk-is3r_examples
)
install(DIRECTORY ${HDK_IS3R_EXAMPLES_ASSETS_SOURCE_DIR}/
DESTINATION ${HDK_IS3R_EXAMPLES_INSTALL_ASSETSDIR}
COMPONENT hdk-imgui-sdl-renderer_examples
install(DIRECTORY ${HDK_EXAMPLES_ASSETS_SOURCE_DIR}/
DESTINATION ${HDK_INSTALL_ASSETSDIR}
COMPONENT hdk-is3r_examples
)
endif()