| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 | #############################################################################  Library: CTK##  Copyright (c) German Cancer Research Center,#    Division of Medical and Biological Informatics##  Licensed under the Apache License, Version 2.0 (the "License");#  you may not use this file except in compliance with the License.#  You may obtain a copy of the License at##    http://www.apache.org/licenses/LICENSE-2.0##  Unless required by applicable law or agreed to in writing, software#  distributed under the License is distributed on an "AS IS" BASIS,#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.#  See the License for the specific language governing permissions and#  limitations under the License.#############################################################################! \ingroup CMakeUtilitiesFUNCTION(ctkFunctionGetIncludeDirs var_include_dirs)  IF(NOT ARGN)    MESSAGE(FATAL_ERROR "No targets given")  ENDIF()  SET(_include_dirs ${${var_include_dirs}})  FOREACH(_target ${ARGN})    # Add the include directories from the plugin dependencies    # The variable ${_target}_DEPENDENCIES is set in the    # macro ctkMacroValidateBuildOptions    SET(ctk_deps )    SET(ext_deps )    ctkMacroGetAllProjectTargetLibraries("${${_target}_DEPENDENCIES}" ctk_deps)    ctkMacroGetAllNonProjectTargetLibraries("${${_target}_DEPENDENCIES}" ext_deps)    FOREACH(dep ${ctk_deps})      IF(${dep}_INCLUDE_SUFFIXES)        FOREACH(_suffix ${${dep}_INCLUDE_SUFFIXES})          LIST(APPEND _include_dirs ${${dep}_SOURCE_DIR}/${_suffix})        ENDFOREACH()        LIST(APPEND _include_dirs ${${dep}_BINARY_DIR})      ELSE()        LIST(APPEND _include_dirs             ${${dep}_SOURCE_DIR}             ${${dep}_BINARY_DIR}             )      ENDIF()      # For external projects, CTKConfig.cmake contains variables      # listening the include dirs for CTK libraries and plugins      IF(${dep}_INCLUDE_DIRS)        LIST(APPEND _include_dirs ${${dep}_INCLUDE_DIRS})      ENDIF()    ENDFOREACH()    FOREACH(dep ${ext_deps})      IF(${dep}_INCLUDE_DIRS)        STRING(REPLACE "^" ";" _ext_include_dirs "${${dep}_INCLUDE_DIRS}")        LIST(APPEND _include_dirs ${_ext_include_dirs})      ENDIF()      # This is for resolving include dependencies between      # libraries / plugins from external projects using CTK      IF(${dep}_SOURCE_DIR AND ${dep}_INCLUDE_SUFFIXES)        FOREACH(_suffix ${${dep}_INCLUDE_SUFFIXES})          LIST(APPEND _include_dirs ${${dep}_SOURCE_DIR}/${_suffix})        ENDFOREACH()        LIST(APPEND _include_dirs ${${dep}_BINARY_DIR})      ELSEIF(${dep}_SOURCE_DIR)        LIST(APPEND _include_dirs ${${dep}_SOURCE_DIR})      ENDIF()      IF(${dep}_BINARY_DIR)        LIST(APPEND _include_dirs ${${dep}_BINARY_DIR})      ENDIF()    ENDFOREACH()  ENDFOREACH()  IF(_include_dirs)    LIST(REMOVE_DUPLICATES _include_dirs)  ENDIF()  SET(${var_include_dirs} ${_include_dirs} PARENT_SCOPE)ENDFUNCTION()
 |