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