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