]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/Interface/CMakeLists.txt
8ee622177e320c774d787591844a42170ef01ad2
[cpPlugins.git] / lib / cpPlugins / Interface / CMakeLists.txt
1 SET(LIBRARY_NAME cpPlugins_Interface)
2
3 CONFIGURE_FILE(
4   Config.h.in
5   ${PROJECT_BINARY_DIR}/lib/cpPlugins/Interface/Config.h
6   @ONLY
7   )
8
9 ## ===============
10 ## = Source code =
11 ## ===============
12
13 SET(
14   LIB_HEADERS_H
15   BaseProcessObjects.h
16   DataObject.h
17   Image.h
18   ImplicitFunction.h
19   Interface.h
20   Macros.h
21   Mesh.h
22   Object.h
23   Parameters.h
24   ProcessObject.h
25   )
26
27 SET(
28   LIB_HEADERS_HPP
29   )
30
31 SET(
32   LIB_HEADERS_HXX
33   Image.hxx
34   ImplicitFunction.hxx
35   Mesh.hxx
36   Parameters.hxx
37   ProcessObject.hxx
38   )
39
40 SET(
41   LIB_SOURCES_C
42   )
43 SET(
44   LIB_SOURCES_CPP
45   )
46
47 SET(
48   LIB_SOURCES_CXX
49   Instances_itkImage.cxx
50   Instances_itkVectorImage.cxx
51   Instances_itkMesh.cxx
52   BaseProcessObjects.cxx
53   DataObject.cxx
54   Image.cxx
55   ImplicitFunction.cxx
56   Interface.cxx
57   Mesh.cxx
58   Object.cxx
59   Parameters.cxx
60   ProcessObject.cxx
61   )
62
63 IF(USE_QT4)
64   SET(
65     LIB_HEADERS_H
66     ${LIB_HEADERS_H}
67     ParametersQtDialog.h
68     )
69   SET(
70     LIB_SOURCES_CXX
71     ${LIB_SOURCES_CXX}
72     ParametersQtDialog.cxx
73     )
74
75   SET(
76     LIB_QT_UI
77     ParametersListWidget.ui
78     )
79   SET(
80     LIB_QT_Headers
81     ParametersListWidget.h
82     )
83   SET(
84     LIB_QT_Sources
85     ParametersListWidget.cxx
86     )
87   SET(
88     LIB_QT_Resources
89     )
90
91   QT4_WRAP_UI(LIB_QT_Wrapped_Headers ${LIB_QT_UI})
92   QT4_WRAP_CPP(LIB_QT_Wrapped_MOC_Sources ${LIB_QT_Headers})
93   QT4_ADD_RESOURCES(LIB_QT_Wrapped_Resources_Sources ${LIB_QT_Resources})
94
95   SET(
96     LIB_HEADERS_H
97     ${LIB_HEADERS_H}
98     ${LIB_QT_Wrapped_Headers}
99     )
100
101   SET(
102     LIB_SOURCES_CXX
103     ${LIB_SOURCES_CXX}
104     ${LIB_QT_Sources}
105     ${LIB_QT_Wrapped_Headers}
106     ${LIB_QT_Wrapped_MOC_Sources}
107     ${LIB_QT_Wrapped_Resources_Sources}
108     )
109
110 ENDIF(USE_QT4)
111
112 ## =====================
113 ## = Compilation rules =
114 ## =====================
115
116 ADD_LIBRARY(
117   ${LIBRARY_NAME}
118   SHARED
119   ${LIB_SOURCES_C}
120   ${LIB_SOURCES_CPP}
121   ${LIB_SOURCES_CXX}
122   )
123 GENERATE_EXPORT_HEADER(
124   ${LIBRARY_NAME}
125   BASE_NAME ${LIBRARY_NAME}
126   EXPORT_MACRO_NAME ${LIBRARY_NAME}_EXPORT
127   EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/lib/cpPlugins/Interface/${LIBRARY_NAME}_Export.h
128   STATIC_DEFINE ${LIBRARY_NAME}_BUILT_AS_STATIC
129   )
130 TARGET_LINK_LIBRARIES(
131   ${LIBRARY_NAME}
132   cpPlugins_Pluma
133   ${QT_LIBRARIES}
134   ${ITK_LIBRARIES}
135   ${VTK_LIBRARIES}
136   )
137
138 ## ========================
139 ## -- Installation rules --
140 ## ========================
141
142 INSTALL(
143   TARGETS ${LIBRARY_NAME}
144   RUNTIME DESTINATION bin
145   LIBRARY DESTINATION lib
146   ARCHIVE DESTINATION lib/static
147   )
148 INSTALL(
149   DIRECTORY .
150   DESTINATION include/cpPlugins/Interface
151   FILES_MATCHING PATTERN "*.h"
152   )
153 INSTALL(
154   DIRECTORY .
155   DESTINATION include/cpPlugins/Interface
156   FILES_MATCHING PATTERN "*.hxx"
157   )
158 INSTALL(
159   DIRECTORY .
160   DESTINATION include/cpPlugins/Interface
161   FILES_MATCHING PATTERN "*.hpp"
162   )
163 INSTALL(
164   FILES
165   ${PROJECT_BINARY_DIR}/lib/cpPlugins/Interface/${LIBRARY_NAME}_Export.h
166   DESTINATION include/cpPlugins/Interface
167   )
168
169 ## eof - $RCSfile$