diff --git a/CMakeLists.txt b/CMakeLists.txt index c60b75569005f204e0685cc7587f5be144b4763b..b9935deb28cd21e6bab1c4efebb8cd3a13b7cf8b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -438,24 +438,45 @@ install(DIRECTORY FILES_MATCHING PATTERN "*.hpp" ) -install(DIRECTORY - ${LIBLAVA_EXT_DIR}/glm/glm - #${LIBLAVA_EXT_DIR}/physfs/src/ - ${LIBLAVA_EXT_DIR}/json/single_include/ - ${LIBLAVA_EXT_DIR}/spdlog/include/ - ${LIBLAVA_EXT_DIR}/Vulkan-Headers/include/ - ${LIBLAVA_EXT_DIR}/VulkanMemoryAllocator/include/ - ${LIBLAVA_EXT_DIR}/volk/ - #${LIBLAVA_EXT_DIR}/stb/ - #${LIBLAVA_EXT_DIR}/gli/gli - #${LIBLAVA_EXT_DIR}/tinyobjloader/ - #${LIBLAVA_EXT_DIR}/glfw/include/ - #${LIBLAVA_EXT_DIR}/Catch2/ - ${LIBLAVA_EXT_DIR}/argh/ - ${LIBLAVA_EXT_DIR}/imgui/ - DESTINATION include/liblava/ext - FILES_MATCHING PATTERN "*.h" PATTERN "*.hpp" PATTERN "*.inl" - ) +set(EXT_INCLUDE_DIRS + ${LIBLAVA_EXT_DIR}/glm + #${LIBLAVA_EXT_DIR}/physfs/src + ${LIBLAVA_EXT_DIR}/json/single_include + ${LIBLAVA_EXT_DIR}/spdlog/include + ${LIBLAVA_EXT_DIR}/Vulkan-Headers/include + ${LIBLAVA_EXT_DIR}/VulkanMemoryAllocator/include + ${LIBLAVA_EXT_DIR}/volk + #${LIBLAVA_EXT_DIR}/stb + #${LIBLAVA_EXT_DIR}/gli + #${LIBLAVA_EXT_DIR}/tinyobjloader + #${LIBLAVA_EXT_DIR}/glfw/include + #${LIBLAVA_EXT_DIR}/Catch2 + ${LIBLAVA_EXT_DIR}/argh + ${LIBLAVA_EXT_DIR}/imgui + ) + +foreach(DIR ${EXT_INCLUDE_DIRS}) + file(GLOB_RECURSE + HEADER_FILES + "${DIR}/*.h" + "${DIR}/*.hpp" + "${DIR}/*.inl" + ) + + foreach(HEADER_FILE ${HEADER_FILES}) + cmake_path(SET PATH ${HEADER_FILE}) + cmake_path(RELATIVE_PATH + PATH + BASE_DIRECTORY ${DIR} + ) + cmake_path(GET PATH PARENT_PATH OUT_DIR) + + install(FILES + ${HEADER_FILE} + DESTINATION "include/liblava/ext/${OUT_DIR}" + ) + endforeach() +endforeach() set(CONFIG_PATH lib/cmake/lava) @@ -479,8 +500,7 @@ install(EXPORT LavaTargets EXPORT_LINK_INTERFACE_LIBRARIES ) -install( - FILES +install(FILES "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/lava-config-version.cmake" "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/lava-config.cmake" DESTINATION ${CONFIG_PATH}