]> 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 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     BaseMPRWidget.ui
24     SimpleMPRWidget.ui
25     ParametersListWidget.ui
26     )
27   SET(
28     LIB_QT_Headers
29     ParametersListWidget.h
30     ParametersQtDialog.h
31     BaseMPRWidget.h
32     SimpleMPRWidget.h
33     )
34   SET(
35     LIB_QT_Sources
36     ParametersListWidget.cxx
37     ParametersQtDialog.cxx
38     BaseMPRWidget.cxx
39     SimpleMPRWidget.cxx
40     )
41   SET(
42     LIB_QT_Resources
43     )
44
45   QT4_WRAP_UI(LIB_QT_Wrapped_Headers ${LIB_QT_UI})
46   QT4_WRAP_CPP(LIB_QT_Wrapped_MOC_Sources ${LIB_QT_Headers})
47   QT4_ADD_RESOURCES(LIB_QT_Wrapped_Resources_Sources ${LIB_QT_Resources})
48
49   SET(
50     LIB_HEADERS_H
51     ${LIB_HEADERS_H}
52     ${LIB_QT_Wrapped_Headers}
53     )
54
55   SET(
56     LIB_SOURCES_CXX
57     ${LIB_SOURCES_CXX}
58     ${LIB_QT_Sources}
59     ${LIB_QT_Wrapped_Headers}
60     ${LIB_QT_Wrapped_MOC_Sources}
61     ${LIB_QT_Wrapped_Resources_Sources}
62     )
63
64 ENDIF(USE_QT4)
65
66 ## =====================
67 ## = Compilation rules =
68 ## =====================
69
70 ADD_LIBRARY(
71   ${LIBRARY_NAME}
72   SHARED
73   ${LIB_SOURCES_C}
74   ${LIB_SOURCES_CPP}
75   ${LIB_SOURCES_CXX}
76   )
77 GENERATE_EXPORT_HEADER(
78   ${LIBRARY_NAME}
79   BASE_NAME ${LIBRARY_NAME}
80   EXPORT_MACRO_NAME ${LIBRARY_NAME}_EXPORT
81   EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/lib/cpPlugins/Interface/${LIBRARY_NAME}_Export.h
82   STATIC_DEFINE ${LIBRARY_NAME}_BUILT_AS_STATIC
83   )
84 TARGET_LINK_LIBRARIES(
85   ${LIBRARY_NAME}
86   cpPlugins_tinyxml
87   cpPlugins_Pluma
88   ${QT_LIBRARIES}
89   ${ITK_LIBRARIES}
90   ${VTK_LIBRARIES}
91   cpExtensions
92   )
93
94 ## ========================
95 ## -- Installation rules --
96 ## ========================
97
98 INSTALL(
99   TARGETS ${LIBRARY_NAME}
100   RUNTIME DESTINATION bin
101   LIBRARY DESTINATION lib
102   ARCHIVE DESTINATION lib/static
103   )
104 INSTALL(
105   DIRECTORY .
106   DESTINATION include/cpPlugins/Interface
107   FILES_MATCHING PATTERN "*.h"
108   )
109 INSTALL(
110   DIRECTORY .
111   DESTINATION include/cpPlugins/Interface
112   FILES_MATCHING PATTERN "*.hxx"
113   )
114 INSTALL(
115   DIRECTORY .
116   DESTINATION include/cpPlugins/Interface
117   FILES_MATCHING PATTERN "*.hpp"
118   )
119 INSTALL(
120   FILES
121   ${PROJECT_BINARY_DIR}/lib/cpPlugins/Interface/${LIBRARY_NAME}_Export.h
122   DESTINATION include/cpPlugins/Interface
123   )
124
125 ## eof - $RCSfile$