]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/CMakeLists.txt
...
[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     ParametersQtDialog.h
36     )
37   SET(
38     lib_QT_Sources
39     ParametersQtDialog.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 # = Integrate all source file names =
68 # ===================================
69
70 SET(
71   lib_HEADERS
72   ${lib_HEADERS_H}
73   ${lib_HEADERS_HPP}
74   ${lib_HEADERS_HXX}
75   )
76
77 SET(
78   lib_SOURCES
79   ${lib_SOURCES_C}
80   ${lib_SOURCES_CPP}
81   ${lib_SOURCES_CXX}
82   )
83
84 SET(
85   target_LIBRARIES
86   cpPlugins_Base
87   cpPlugins_DistanceMapFilters
88   cpPlugins_GaussianImageFilters
89   cpPlugins_ImageFiltersBase
90   cpPlugins_ImageIO
91   cpPlugins_ImageIterators
92   cpPlugins_ImageITK2VTK
93   cpPlugins_Image
94   cpPlugins_InPlaceImageFiltersBase
95   cpPlugins_Mesh
96   cpPlugins_ResamplingFilters
97   cpPlugins_ThresholdFilters
98   cpPlugins_tinyxml2
99   cpPlugins_Transforms
100   )
101 IF(NOT WIN32)
102   SET(
103     target_LIBRARIES
104     ${target_LIBRARIES}
105     dl
106     )
107 ENDIF(NOT WIN32)
108
109 ## =====================
110 ## = Compilation rules =
111 ## =====================
112
113 ADD_LIBRARY(${lib_NAME} SHARED  ${lib_SOURCES})
114 SET_TARGET_PROPERTIES(
115   ${lib_NAME} PROPERTIES
116   VERSION "${prj_VER}"
117   SOVERSION "${prj_sVER}"
118   )
119 GENERATE_EXPORT_HEADER(
120   ${lib_NAME}
121   BASE_NAME ${lib_NAME}
122   EXPORT_MACRO_NAME ${lib_NAME}_EXPORT
123   EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/lib/${lib_DIR}/${lib_NAME}_Export.h
124   STATIC_DEFINE ${lib_NAME}_BUILT_AS_STATIC
125   )
126 TARGET_LINK_LIBRARIES(${lib_NAME} ${target_LIBRARIES})
127
128 ## ========================
129 ## == Installation rules ==
130 ## ========================
131
132 INSTALL(
133   TARGETS ${lib_NAME}
134   RUNTIME DESTINATION bin
135   LIBRARY DESTINATION lib
136   ARCHIVE DESTINATION lib/static
137   )
138 INSTALL(
139   FILES
140   ${lib_HEADERS}
141   DESTINATION include/${lib_DIR}
142   )
143
144 ## eof - $RCSfile$