]> Creatis software - bbtk.git/blob - kernel/cmake/CMakeCreateFindPackage_LibraryConfig.cmake.in
265f7e187d75acb76101688e95453e466691246f
[bbtk.git] / kernel / cmake / CMakeCreateFindPackage_LibraryConfig.cmake.in
1 #-----------------------------------------------------------------------------
2 #
3 # @LIBRARY_NAME@Config.cmake - CMake configuration file for external projects.
4 # Created by the cmake macro CREATE_FIND_PACKAGE of the CreateFindPackage suite
5 #
6 # This file is configured by cmake and used by the
7 # Use@LIBRARY_NAME@.cmake module to load the lib settings 
8 # for an external project.
9
10 # Build tree config ?
11 SET(CFP_BUILD_TREE_CONFIGURATION @CFP_BUILD_TREE_CONFIGURATION@)
12
13
14 IF(UNIX)
15 SET(GOTO_INSTALL_PREFIX /../..)
16 ENDIF(UNIX)
17
18
19 # The @LIBRARY_NAME@ include file *RELATIVE* directories.
20 SET(CFP_RELATIVE_INCLUDE_PATHS "@CFP_LIB_RELATIVE_INCLUDE_PATHS@")
21 # Compute the prefix for include and library paths
22 IF(CFP_BUILD_TREE_CONFIGURATION)
23   # In build tree 
24   # the include paths are relative to the source tree *AND* the binary tree 
25   # for generated files 
26   SET(CFP_INCLUDE_PATH_PREFIX @PROJECT_SOURCE_DIR@)
27   # Build the *ABSOLUTE* directories
28   FOREACH(path ${CFP_RELATIVE_INCLUDE_PATHS})
29     SET(@LIBRARY_NAME@_INCLUDE_DIRS
30       ${@LIBRARY_NAME@_INCLUDE_DIRS}
31       ${CFP_INCLUDE_PATH_PREFIX}/${path}
32       )
33   ENDFOREACH(path ${CFP_RELATIVE_INCLUDE_PATHS})
34   SET(CFP_INCLUDE_PATH_PREFIX @PROJECT_BINARY_DIR@)
35   # Build the *ABSOLUTE* directories
36   FOREACH(path ${CFP_RELATIVE_INCLUDE_PATHS})
37     SET(@LIBRARY_NAME@_INCLUDE_DIRS
38       ${@LIBRARY_NAME@_INCLUDE_DIRS}
39       ${CFP_INCLUDE_PATH_PREFIX}/${path}
40       )
41   ENDFOREACH(path ${CFP_RELATIVE_INCLUDE_PATHS})
42 ELSE(CFP_BUILD_TREE_CONFIGURATION)
43   # In install tree 
44   # the include paths are relative to install prefix 
45   # On unix , GOTO_INSTALL_PREFIX allows to get back to the 
46   # installation prefix from  @LIBRARY_NAME@_DIR
47   SET(CFP_INCLUDE_PATH_PREFIX ${@LIBRARY_NAME@_DIR}${GOTO_INSTALL_PREFIX})
48   # Build the *ABSOLUTE* directories
49   FOREACH(path ${CFP_RELATIVE_INCLUDE_PATHS})
50     SET(@LIBRARY_NAME@_INCLUDE_DIRS
51       ${@LIBRARY_NAME@_INCLUDE_DIRS}
52       ${CFP_INCLUDE_PATH_PREFIX}/${path}
53       )
54   ENDFOREACH(path ${CFP_RELATIVE_INCLUDE_PATHS})
55 ENDIF(CFP_BUILD_TREE_CONFIGURATION)
56
57
58
59 # Compute the prefix for library paths
60 IF(CFP_BUILD_TREE_CONFIGURATION)
61   # In build tree
62   # the library paths are relative to the binary tree 
63   SET(CFP_LIBRARY_PATH_PREFIX @PROJECT_BINARY_DIR@)
64 ELSE(CFP_BUILD_TREE_CONFIGURATION)
65   # In install tree 
66   # the library paths are relative to install prefix
67   SET(CFP_LIBRARY_PATH_PREFIX ${@LIBRARY_NAME@_DIR}${GOTO_INSTALL_PREFIX})
68 ENDIF(CFP_BUILD_TREE_CONFIGURATION)
69 # The @LIBRARY_NAME@ library file *RELATIVE* directories.
70 SET(CFP_RELATIVE_LIBRARY_PATHS "@CFP_LIB_RELATIVE_LIBRARY_PATHS@")
71 # Build the *ABSOLUTE* directories
72 FOREACH(path ${CFP_RELATIVE_LIBRARY_PATHS})
73   SET(@LIBRARY_NAME@_LIBRARY_DIRS
74     ${@LIBRARY_NAME@_LIBRARY_DIRS}
75     ${CFP_LIBRARY_PATH_PREFIX}/${path}
76     )
77 ENDFOREACH(path ${CFP_RELATIVE_LIBRARY_PATHS})
78
79
80 # The C and C++ flags added by @LIBRARY_NAME@ to the cmake-configured flags.
81 SET(@LIBRARY_NAME@_REQUIRED_C_FLAGS "@CFP_LIB_REQUIRED_C_FLAGS@")
82 SET(@LIBRARY_NAME@_REQUIRED_CXX_FLAGS "@CFP_LIB_REQUIRED_CXX_FLAGS@")
83 SET(@LIBRARY_NAME@_REQUIRED_LINK_FLAGS "@CFP_LIB_REQUIRED_LINK_FLAGS@")
84
85 # The @LIBRARY_NAME@ version 
86 SET(@LIBRARY_NAME@_MAJOR_VERSION @CFP_LIB_MAJOR_VERSION@)
87 SET(@LIBRARY_NAME@_MINOR_VERSION @CFP_LIB_MINOR_VERSION@)
88 SET(@LIBRARY_NAME@_BUILD_VERSION @CFP_LIB_BUILD_VERSION@)
89 SET(@LIBRARY_NAME@_VERSION @CFP_LIB_VERSION@)
90
91 # The location of the Use@LIBRARY_NAME@.cmake file.
92 SET(@LIBRARY_NAME@_USE_FILE "${@LIBRARY_NAME@_DIR}/Use@LIBRARY_NAME@.cmake")
93
94 # The build settings file.
95 SET(@LIBRARY_NAME@_BUILD_SETTINGS_FILE 
96   "${@LIBRARY_NAME@_DIR}/@LIBRARY_NAME@BuildSettings.cmake")
97
98 # A list of all libraries for @LIBRARY_NAME@.  Those listed here should
99 # automatically pull in their dependencies.
100 SET(@LIBRARY_NAME@_LIBRARIES @CFP_LIB_LIBRARIES@)
101
102 # Messages
103 IF(FIND_PACKAGE_VERBOSE)
104   MESSAGE(STATUS "Looking for @LIBRARY_NAME@... found - configuration :")
105   MESSAGE(STATUS "* @LIBRARY_NAME@_DIR          = ${@LIBRARY_NAME@_DIR}")
106   MESSAGE(STATUS "* @LIBRARY_NAME@_VERSION      = ${@LIBRARY_NAME@_VERSION}")
107   MESSAGE(STATUS "* @LIBRARY_NAME@_USE_FILE     = ${@LIBRARY_NAME@_USE_FILE}")
108
109   MESSAGE(STATUS "* @LIBRARY_NAME@_INCLUDE_DIRS = ${@LIBRARY_NAME@_INCLUDE_DIRS}")
110   MESSAGE(STATUS "* @LIBRARY_NAME@_LIBRARY_DIRS = ${@LIBRARY_NAME@_LIBRARY_DIRS}")
111   MESSAGE(STATUS "* @LIBRARY_NAME@_LIBRARIES    = ${@LIBRARY_NAME@_LIBRARIES}")
112 ENDIF(FIND_PACKAGE_VERBOSE)
113
114 # Does the library has an additional config file (user provided) ?
115 SET(@LIBRARY_NAME@_HAS_ADDITIONAL_CONFIG_FILE @CFP_LIB_HAS_ADDITIONAL_CONFIG_FILE@)
116
117 IF (@LIBRARY_NAME@_HAS_ADDITIONAL_CONFIG_FILE)
118   IF(FIND_PACKAGE_VERBOSE)
119     MESSAGE(STATUS "Reading @LIBRARY_NAME@ additional configuration file")
120   ENDIF(FIND_PACKAGE_VERBOSE)
121   # Include it
122   INCLUDE(${@LIBRARY_NAME@_DIR}/Additional@LIBRARY_NAME@Config.cmake)
123 ENDIF (@LIBRARY_NAME@_HAS_ADDITIONAL_CONFIG_FILE)