66 lines
2.1 KiB
CMake
66 lines
2.1 KiB
CMake
|
|
include(FetchContent)
|
|
include(GNUInstallDirs)
|
|
|
|
if(DEFINED HDK_CMAKE_POLICY_DIR AND EXISTS "${HDK_CMAKE_POLICY_DIR}/HDKExampleAssetsPolicy.cmake")
|
|
include("${HDK_CMAKE_POLICY_DIR}/HDKExampleAssetsPolicy.cmake")
|
|
elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/HDKExampleAssetsPolicy.cmake")
|
|
include("${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/HDKExampleAssetsPolicy.cmake")
|
|
elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/../cmake/HDKExampleAssetsPolicy.cmake")
|
|
include("${CMAKE_CURRENT_SOURCE_DIR}/../cmake/HDKExampleAssetsPolicy.cmake")
|
|
else()
|
|
message(FATAL_ERROR "Unable to locate HDKExampleAssetsPolicy.cmake")
|
|
endif()
|
|
|
|
if(NOT DEFINED HDK_INSTALL_EXAMPLES)
|
|
set(HDK_INSTALL_EXAMPLES OFF)
|
|
endif()
|
|
|
|
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(NOT DEFINED HDK_ASSETS_GIT_REPOSITORY)
|
|
set(HDK_ASSETS_GIT_REPOSITORY "https://git.ufp.institute/ufp/hdk-assets.git")
|
|
endif()
|
|
|
|
if(NOT DEFINED HDK_INSTALL_ASSETSDIR)
|
|
set(HDK_INSTALL_ASSETSDIR "assets")
|
|
endif()
|
|
|
|
hdk_resolve_example_assets(
|
|
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_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_EXAMPLES_ASSETS_BUILD_DIR}
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
|
${HDK_EXAMPLES_ASSETS_SOURCE_DIR}
|
|
${HDK_EXAMPLES_ASSETS_BUILD_DIR}
|
|
COMMENT "Staging hdk-is3r example assets"
|
|
VERBATIM
|
|
)
|
|
|
|
if(HDK_INSTALL_EXAMPLES)
|
|
install(TARGETS is3r-basics
|
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
COMPONENT hdk-is3r_examples
|
|
)
|
|
|
|
install(DIRECTORY ${HDK_EXAMPLES_ASSETS_SOURCE_DIR}/
|
|
DESTINATION ${HDK_INSTALL_ASSETSDIR}
|
|
COMPONENT hdk-is3r_examples
|
|
)
|
|
endif() |