CTK 0.1.0
The Common Toolkit is a community effort to provide support code for medical image analysis, surgical navigation, and related projects.
ctkFunctionGetLibraryDirs.cmake
Go to the documentation of this file.
1###########################################################################
2#
3# Library: CTK
4#
5# Copyright (c) German Cancer Research Center,
6# Division of Medical and Biological Informatics
7#
8# Licensed under the Apache License, Version 2.0 (the "License");
9# you may not use this file except in compliance with the License.
10# You may obtain a copy of the License at
11#
12# http://www.apache.org/licenses/LICENSE-2.0
13#
14# Unless required by applicable law or agreed to in writing, software
15# distributed under the License is distributed on an "AS IS" BASIS,
16# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17# See the License for the specific language governing permissions and
18# limitations under the License.
19#
20###########################################################################
21
22#! \ingroup CMakeUtilities
23function(ctkFunctionGetLibraryDirs var_library_dirs)
24
25 if(NOT ARGN)
26 message(FATAL_ERROR "No targets given")
27 endif()
28
29 set(_library_dirs ${${var_library_dirs}})
30 foreach(_target ${ARGN})
31
32 # Add the library directories from the external project
33 # The variable ${_target}_DEPENDENCIES is set in the
34 # macro ctkMacroValidateBuildOptions
35
36 set(ext_deps )
37
38 ctkMacroGetAllNonProjectTargetLibraries("${${_target}_DEPENDENCIES}" ext_deps)
39
40 foreach(dep ${ext_deps})
41
42 if(${dep}_LIBRARY_DIRS)
43 string(REPLACE "^" ";" _ext_library_dirs "${${dep}_LIBRARY_DIRS}")
44 list(APPEND _library_dirs ${_ext_library_dirs})
45 endif()
46
47 endforeach()
48
49 endforeach()
50
51 if(_library_dirs)
52 list(REMOVE_DUPLICATES _library_dirs)
53 endif()
54 set(${var_library_dirs} ${_library_dirs} PARENT_SCOPE)
55
56endfunction()