]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/CMakeLists.txt
b1d2741a781dafbe87c4e76b86a28b87c6ac9b53
[cpPlugins.git] / lib / cpPlugins / CMakeLists.txt
1 ## =============================
2 ## = Set names and directories =
3 ## =============================
4
5 SET(lib_NAME cpPlugins)
6 SET(lib_DIR  cpPlugins)
7
8 ## =========================
9 ## = Configure local files =
10 ## =========================
11
12 CONFIGURE_FILE(
13   Config.h.in
14   ${PROJECT_BINARY_DIR}/lib/${lib_DIR}/Config.h
15   @ONLY
16   )
17
18 ## ===============
19 ## = Source code =
20 ## ===============
21
22 FILE(GLOB lib_HEADERS_H   "*.h")
23 FILE(GLOB lib_HEADERS_HPP "*.hpp")
24 FILE(GLOB lib_HEADERS_HXX "*.hxx")
25 FILE(GLOB lib_SOURCES_C   "*.c")
26 FILE(GLOB lib_SOURCES_CPP "*.cpp")
27 FILE(GLOB lib_SOURCES_CXX "*.cxx")
28
29 IF(USE_QT4)
30   SET(
31     lib_QT_UI
32     )
33   SET(
34     lib_QT_Headers
35     BaseQtMainWindow.h
36     ParametersQtDialog.h
37     )
38   SET(
39     lib_QT_Sources
40     BaseQtMainWindow.cxx
41     ParametersQtDialog.cxx
42     )
43   SET(
44     lib_QT_Resources
45     )
46
47   QT4_WRAP_UI(lib_QT_Wrapped_Headers ${lib_QT_UI})
48   QT4_WRAP_CPP(lib_QT_Wrapped_MOC_Sources ${lib_QT_Headers})
49   QT4_ADD_RESOURCES(lib_QT_Wrapped_Resources_Sources ${lib_QT_Resources})
50
51   SET(
52     lib_HEADERS_H
53     ${lib_HEADERS_H}
54     ${lib_QT_Wrapped_Headers}
55     )
56
57   SET(
58     lib_SOURCES_CXX
59     ${lib_SOURCES_CXX}
60     ${lib_QT_Sources}
61     ${lib_QT_Wrapped_Headers}
62     ${lib_QT_Wrapped_MOC_Sources}
63     ${lib_QT_Wrapped_Resources_Sources}
64     )
65
66 ENDIF(USE_QT4)
67
68 # ===================================
69 # = Integrate all source file names =
70 # ===================================
71
72 SET(
73   lib_HEADERS
74   ${lib_HEADERS_H}
75   ${lib_HEADERS_HPP}
76   ${lib_HEADERS_HXX}
77   )
78
79 SET(
80   lib_SOURCES
81   ${lib_SOURCES_C}
82   ${lib_SOURCES_CPP}
83   ${lib_SOURCES_CXX}
84   )
85
86 SET(
87   target_LIBRARIES
88   cpPlugins_tinyxml2
89   cpPlugins_ITKInstances_Base
90   cpPlugins_ITKInstances_Image
91   cpPlugins_ITKInstances_ImageIterators
92   cpPlugins_ITKInstances_ImageFilters
93   cpPlugins_ITKInstances_Paths
94   cpPlugins_ITKInstances_Mesh
95   ${VTK_LIBRARIES}
96   )
97 IF(NOT WIN32)
98   SET(
99     target_LIBRARIES
100     ${target_LIBRARIES}
101     dl
102     )
103 ENDIF(NOT WIN32)
104
105 ## =====================
106 ## = Compilation rules =
107 ## =====================
108
109 ADD_LIBRARY(${lib_NAME} SHARED  ${lib_SOURCES})
110 SET_TARGET_PROPERTIES(
111   ${lib_NAME} PROPERTIES
112   VERSION "${prj_VER}"
113   SOVERSION "${prj_sVER}"
114   )
115 GENERATE_EXPORT_HEADER(
116   ${lib_NAME}
117   BASE_NAME ${lib_NAME}
118   EXPORT_MACRO_NAME ${lib_NAME}_EXPORT
119   EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/lib/${lib_DIR}/${lib_NAME}_Export.h
120   STATIC_DEFINE ${lib_NAME}_BUILT_AS_STATIC
121   )
122 TARGET_LINK_LIBRARIES(${lib_NAME} ${target_LIBRARIES})
123
124 ## ========================
125 ## == Installation rules ==
126 ## ========================
127
128 INSTALL(
129   TARGETS ${lib_NAME}
130   RUNTIME DESTINATION bin
131   LIBRARY DESTINATION lib
132   ARCHIVE DESTINATION lib/static
133   )
134 INSTALL(
135   FILES
136   ${lib_HEADERS}
137   DESTINATION include/${lib_DIR}
138   )
139
140 ## eof - $RCSfile$