From aa5fb52786eb327c8e9fc1963835a3ddb9c88637 Mon Sep 17 00:00:00 2001 From: Samuel Felton Date: Tue, 17 Sep 2024 21:17:04 +0200 Subject: [PATCH] Fixed system include exports to external targets --- cmake/VISPGenerateConfig.cmake | 2 ++ cmake/VISPModule.cmake | 11 ++++++++++- cmake/VISPUtils.cmake | 2 ++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/cmake/VISPGenerateConfig.cmake b/cmake/VISPGenerateConfig.cmake index 340cff6308..84710a2903 100644 --- a/cmake/VISPGenerateConfig.cmake +++ b/cmake/VISPGenerateConfig.cmake @@ -113,6 +113,8 @@ foreach(m ${VISP_MODULES_BUILD}) list(APPEND VISP_INCLUDE_DIRS_CONFIGCMAKE "${VISP_MODULE_${m}_LOCATION}/include") endif() list(APPEND VISP_INCLUDE_DIRS_CONFIGCMAKE ${VISP_MODULE_${m}_INC_DEPS}) + list(APPEND VISP_INCLUDE_DIRS_CONFIGCMAKE ${VISP_MODULE_${m}_SYSTEM_INC_DEPS}) + endforeach() vp_list_unique(VISP_INCLUDE_DIRS_CONFIGCMAKE) diff --git a/cmake/VISPModule.cmake b/cmake/VISPModule.cmake index 21d5365880..24c1574f88 100644 --- a/cmake/VISPModule.cmake +++ b/cmake/VISPModule.cmake @@ -596,11 +596,17 @@ macro(vp_target_include_modules target) endif() elseif(EXISTS "${d}") # FS keep external deps inc - set(VISP_MODULE_${the_module}_INC_DEPS "${VISP_MODULE_${the_module}_INC_DEPS};${d}" CACHE INTERNAL "") + if(is_system) + set(VISP_MODULE_${the_module}_SYSTEM_INC_DEPS "${VISP_MODULE_${the_module}_SYSTEM_INC_DEPS};${d}" CACHE INTERNAL "") + else() + set(VISP_MODULE_${the_module}_INC_DEPS "${VISP_MODULE_${the_module}_INC_DEPS};${d}" CACHE INTERNAL "") + endif() vp_target_include_directories(${target} "${is_system}" "${d}") endif() endforeach() vp_list_unique(VISP_MODULE_${the_module}_INC_DEPS) + vp_list_unique(VISP_MODULE_${the_module}_SYSTEM_INC_DEPS) + endmacro() # setup include paths for the list of passed modules and recursively add dependent modules @@ -834,6 +840,9 @@ macro(_vp_create_module) set_property(TARGET ${the_module} APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${VISP_MODULE_${the_module}_INC_DEPS} ) + set_property(TARGET ${the_module} APPEND PROPERTY + INTERFACE_SYSTEM_INCLUDE_DIRECTORIES ${VISP_MODULE_${the_module}_SYSTEM_INC_DEPS} + ) # For dynamic link numbering convenions if(NOT ANDROID) diff --git a/cmake/VISPUtils.cmake b/cmake/VISPUtils.cmake index b4cc098e8d..4a332e02a2 100644 --- a/cmake/VISPUtils.cmake +++ b/cmake/VISPUtils.cmake @@ -1643,6 +1643,8 @@ macro(vp_get_all_includes _includes_modules _includes_extra _system_include_dirs foreach(m ${VISP_MODULES_BUILD}) list(APPEND ${_includes_extra} ${VISP_MODULE_${m}_INC_DEPS}) + list(APPEND ${_system_include_dirs} ${VISP_MODULE_${m}_SYSTEM_INC_DEPS}) + if(EXISTS "${VISP_MODULE_${m}_LOCATION}/include") list(INSERT ${_includes_modules} 0 "${VISP_MODULE_${m}_LOCATION}/include") endif()