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