]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/Interface/CMakeLists.txt
Widget integration (step 5/6): Interactive plugins now supported, widgets updates...
[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 FILE(GLOB LIB_HEADERS_H   "*.h")
14 FILE(GLOB LIB_HEADERS_HPP "*.hpp")
15 FILE(GLOB LIB_HEADERS_HXX "*.hxx")
16 FILE(GLOB LIB_SOURCES_C   "*.c")
17 FILE(GLOB LIB_SOURCES_CPP "*.cpp")
18 FILE(GLOB LIB_SOURCES_CXX "*.cxx")
19
20 IF(USE_QT4)
21   SET(
22     LIB_QT_UI
23     ParametersListWidget.ui
24     BaseMPRWindow.ui
25     )
26   SET(
27     LIB_QT_Headers
28     ParametersListWidget.h
29     BaseMPRWindow.h
30     )
31   SET(
32     LIB_QT_Sources
33     ParametersListWidget.cxx
34     BaseMPRWindow.cxx
35     )
36   SET(
37     LIB_QT_Resources
38     )
39
40   QT4_WRAP_UI(LIB_QT_Wrapped_Headers ${LIB_QT_UI})
41   QT4_WRAP_CPP(LIB_QT_Wrapped_MOC_Sources ${LIB_QT_Headers})
42   QT4_ADD_RESOURCES(LIB_QT_Wrapped_Resources_Sources ${LIB_QT_Resources})
43
44   SET(
45     LIB_HEADERS_H
46     ${LIB_HEADERS_H}
47     ${LIB_QT_Wrapped_Headers}
48     )
49
50   SET(
51     LIB_SOURCES_CXX
52     ${LIB_SOURCES_CXX}
53     ${LIB_QT_Sources}
54     ${LIB_QT_Wrapped_Headers}
55     ${LIB_QT_Wrapped_MOC_Sources}
56     ${LIB_QT_Wrapped_Resources_Sources}
57     )
58
59 ENDIF(USE_QT4)
60
61 ## =====================
62 ## = Compilation rules =
63 ## =====================
64
65 ADD_LIBRARY(
66   ${LIBRARY_NAME}
67   SHARED
68   ${LIB_SOURCES_C}
69   ${LIB_SOURCES_CPP}
70   ${LIB_SOURCES_CXX}
71   )
72 GENERATE_EXPORT_HEADER(
73   ${LIBRARY_NAME}
74   BASE_NAME ${LIBRARY_NAME}
75   EXPORT_MACRO_NAME ${LIBRARY_NAME}_EXPORT
76   EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/lib/cpPlugins/Interface/${LIBRARY_NAME}_Export.h
77   STATIC_DEFINE ${LIBRARY_NAME}_BUILT_AS_STATIC
78   )
79 TARGET_LINK_LIBRARIES(
80   ${LIBRARY_NAME}
81   cpPlugins_Pluma
82   ${QT_LIBRARIES}
83   ${ITK_LIBRARIES}
84   ${VTK_LIBRARIES}
85   cpExtensions
86   )
87
88 ## ========================
89 ## -- Installation rules --
90 ## ========================
91
92 INSTALL(
93   TARGETS ${LIBRARY_NAME}
94   RUNTIME DESTINATION bin
95   LIBRARY DESTINATION lib
96   ARCHIVE DESTINATION lib/static
97   )
98 INSTALL(
99   DIRECTORY .
100   DESTINATION include/cpPlugins/Interface
101   FILES_MATCHING PATTERN "*.h"
102   )
103 INSTALL(
104   DIRECTORY .
105   DESTINATION include/cpPlugins/Interface
106   FILES_MATCHING PATTERN "*.hxx"
107   )
108 INSTALL(
109   DIRECTORY .
110   DESTINATION include/cpPlugins/Interface
111   FILES_MATCHING PATTERN "*.hpp"
112   )
113 INSTALL(
114   FILES
115   ${PROJECT_BINARY_DIR}/lib/cpPlugins/Interface/${LIBRARY_NAME}_Export.h
116   DESTINATION include/cpPlugins/Interface
117   )
118
119 ## eof - $RCSfile$