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