]> Creatis software - cpPlugins.git/blob - cmake/cpPluginsConfig.cmake.in
...
[cpPlugins.git] / cmake / cpPluginsConfig.cmake.in
1 ## =================================
2 ## == Find installation directory ==
3 ## =================================
4
5 FIND_FILE(
6   cpPlugins_Functions_cmake
7   NAMES cpPlugins_Functions.cmake
8   HINTS /usr/share/cmake /usr/local/share/cmake
9   PATHS @CMAKE_INSTALL_PREFIX@/share/cmake @PROJECT_SOURCE_DIR@/cmake
10   DOC "Where is \"cpPlugins_Functions.cmake\"?"
11   )
12 IF(NOT cpPlugins_Functions_cmake)
13   MESSAGE(FATAL_ERROR "Where is \"cpPlugins_Functions.cmake\"?")
14 ENDIF(NOT cpPlugins_Functions_cmake)
15 INCLUDE(${cpPlugins_Functions_cmake})
16
17 FIND_FILE(
18   cpPlugins_Options_cmake
19   NAMES cpPlugins_Options.cmake
20   HINTS /usr/share/cmake /usr/local/share/cmake
21   PATHS @CMAKE_INSTALL_PREFIX@/share/cmake @PROJECT_SOURCE_DIR@/cmake
22   DOC "Where is \"cpPlugins_Options.cmake\"?"
23   )
24 IF(NOT cpPlugins_Options_cmake)
25   MESSAGE(FATAL_ERROR "Where is \"cpPlugins_Options.cmake\"?")
26 ENDIF(NOT cpPlugins_Options_cmake)
27 INCLUDE(${cpPlugins_Options_cmake})
28
29 ## =========================
30 ## == Find base libraries ==
31 ## =========================
32
33 SET(ITK_DIR @ITK_DIR@)
34 SET(VTK_DIR @VTK_DIR@)
35 FIND_PACKAGE(ITK REQUIRED)
36 FIND_PACKAGE(VTK REQUIRED)
37 INCLUDE(${ITK_USE_FILE})
38 INCLUDE(${VTK_USE_FILE})
39 IF(ITKVtkGlue_LOADED)
40   MESSAGE(FATAL_ERROR "ITKVtkGlue module is available. Please re-compile your ITK without it. It could lead to nasty compilation problems... Just waiting for Kitware to solve it.")
41 ENDIF(ITKVtkGlue_LOADED)
42
43 SET(USE_QT4 "@QT4_FOUND@")
44 IF(USE_QT4 EQUAL "1")
45   SET(QT_QMAKE_EXECUTABLE @QT_QMAKE_EXECUTABLE@)
46   FIND_PACKAGE(Qt4 REQUIRED)
47   INCLUDE(${QT_USE_FILE})
48   SET(
49     _required_vtk_modules
50     vtkGUISupportQt
51     vtkGUISupportQtOpenGL
52     )
53   FOREACH(_m ${_required_vtk_modules})
54     IF(NOT ${_m}_LOADED)
55       MESSAGE(FATAL_ERROR "${_m} module is required but not available.")
56       BREAK()
57     ENDIF(NOT ${_m}_LOADED)
58   ENDFOREACH(_m)
59   SET(QT4_FOUND "1")
60 ENDIF(USE_QT4 EQUAL "1")
61
62 ## =========================
63 ## == Include directories ==
64 ## =========================
65
66 ## TODO: this is not completely correct!!!
67 INCLUDE_DIRECTORIES(
68   @CMAKE_INSTALL_PREFIX@/include
69   @CMAKE_INSTALL_PREFIX@/include/cpPlugins/Itk2Vtk
70   @CMAKE_INSTALL_PREFIX@/include/cpPlugins/Instances
71   @PROJECT_SOURCE_DIR@
72   @PROJECT_BINARY_DIR@
73   @PROJECT_SOURCE_DIR@/lib
74   @PROJECT_BINARY_DIR@/lib
75   @PROJECT_SOURCE_DIR@/lib/Itk2Vtk
76   @PROJECT_BINARY_DIR@/lib/Itk2Vtk
77   @PROJECT_SOURCE_DIR@/lib/Instances
78   @PROJECT_BINARY_DIR@/lib/Instances
79   )
80
81 ## ===================================
82 ## == Library names and directories ==
83 ## ===================================
84
85 SET(cpPlugins_tinyxml2_LIB "@cpPlugins_tinyxml2_LIB@")
86 SET(cpExtensions_LIB "@cpExtensions_LIB@")
87 SET(cpPlugins_LIB "@cpPlugins_LIB@")
88 SET(cpBaseQtApplication_LIB "@cpBaseQtApplication_LIB@")
89 SET(cpPlugins_Instances "@cpPlugins_Instances@")
90 SET(
91   _all_libs
92   ${cpPlugins_tinyxml2_LIB}
93   ${cpExtensions_LIB}
94   ${cpPlugins_LIB}
95   ${cpBaseQtApplication_LIB}
96   ${cpPlugins_Instances}
97   )
98
99 SET(_l_locations)
100 FOREACH(_l ${_all_libs})
101   SET(cpPlugins_library_location)
102   IF(MSVC)
103     FIND_LIBRARY(
104       cpPlugins_library_location_${_l} NAMES ${_l}
105       HINTS
106       @PROJECT_BINARY_DIR@/$(ConfigurationName)
107       @CMAKE_INSTALL_PREFIX@/bin
108       @CMAKE_INSTALL_PREFIX@/lib
109       )
110   ELSE(MSVC)
111     FIND_LIBRARY(
112       cpPlugins_library_location_${_l} NAMES ${_l}
113       HINTS
114       @PROJECT_BINARY_DIR@
115       @CMAKE_INSTALL_PREFIX@/bin
116       @CMAKE_INSTALL_PREFIX@/lib
117       )
118   ENDIF(MSVC)
119   MARK_AS_ADVANCED(FORCE cpPlugins_library_location_${_l})
120   IF(cpPlugins_library_location_${_l})
121     GET_FILENAME_COMPONENT(_dir ${cpPlugins_library_location_${_l}} DIRECTORY)
122     LIST(APPEND _l_locations ${_dir})
123   ENDIF(cpPlugins_library_location_${_l})
124 ENDFOREACH(_l)
125 IF(_l_locations)
126   LIST(REMOVE_DUPLICATES _l_locations)
127   LINK_DIRECTORIES(${_l_locations})
128 ENDIF(_l_locations)
129
130 ## ======================
131 ## == Executable names ==
132 ## ======================
133
134 SET(
135   _exec_programs
136   @cpPlugins_CreateInstances_APP@
137   @cpPlugins_HostCreator_APP@
138   @cpPlugins_ExecuteWorkspace_APP@
139   )
140
141 FOREACH(prog ${_exec_programs})
142   IF(MSVC)
143     FIND_PROGRAM(
144       ${prog}_APP
145       NAMES ${prog}
146       HINTS /usr /usr/local
147       PATHS @CMAKE_INSTALL_PREFIX@/bin @PROJECT_BINARY_DIR@/$(ConfigurationName)
148       PATH_SUFFIXES bin sbin
149       DOC "Where is ${prog}?"
150       )
151   ELSE(MSVC)
152     FIND_PROGRAM(
153       ${prog}_APP
154       NAMES ${prog}
155       HINTS /usr /usr/local
156       PATHS @CMAKE_INSTALL_PREFIX@/bin @PROJECT_BINARY_DIR@
157       PATH_SUFFIXES bin sbin
158       DOC "Where is ${prog}?"
159       )
160   ENDIF(MSVC)
161 ENDFOREACH(prog)
162
163 # ## eof - $RCSfile$