]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/CMakeLists.txt
...
[cpPlugins.git] / lib / cpPlugins / CMakeLists.txt
1 SET(LIBRARY_NAME cpPlugins)
2
3 ## ===============
4 ## = Source code =
5 ## ===============
6
7 FILE(GLOB Interface_LIB_HEADERS_H   "Interface/*.h")
8 FILE(GLOB Interface_LIB_HEADERS_HPP "Interface/*.hpp")
9 FILE(GLOB Interface_LIB_HEADERS_HXX "Interface/*.hxx")
10 FILE(GLOB Interface_LIB_SOURCES_C   "Interface/*.c")
11 FILE(GLOB Interface_LIB_SOURCES_CPP "Interface/*.cpp")
12 FILE(GLOB Interface_LIB_SOURCES_CXX "Interface/*.cxx")
13
14 SET(
15   LIB_HEADERS_H
16   Plugins/ImageReader.h
17   Plugins/ImageWriter.h
18   Plugins/MeshReader.h
19   Plugins/MeshWriter.h
20   Plugins/MarchingCubes.h
21   Plugins/OtsuThresholdImageFilter.h
22   )
23 SET(
24   LIB_SOURCES_CXX
25   Plugins/Host.cxx
26   Plugins/ImageReader.cxx
27   Plugins/ImageWriter.cxx
28   Plugins/MeshReader.cxx
29   Plugins/MeshWriter.cxx
30   Plugins/MarchingCubes.cxx
31   Plugins/OtsuThresholdImageFilter.cxx
32   )
33
34 ## =====================
35 ## = Compilation rules =
36 ## =====================
37
38 ADD_LIBRARY(
39   ${LIBRARY_NAME}
40   SHARED
41   ${Interface_LIB_SOURCES_C}
42   ${Interface_LIB_SOURCES_CPP}
43   ${Interface_LIB_SOURCES_CXX}
44   ${LIB_SOURCES_C}
45   ${LIB_SOURCES_CPP}
46   ${LIB_SOURCES_CXX}
47   )
48 GENERATE_EXPORT_HEADER(
49   ${LIBRARY_NAME}
50   BASE_NAME ${LIBRARY_NAME}
51   EXPORT_MACRO_NAME ${LIBRARY_NAME}_EXPORT
52   EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/lib/cpPlugins/${LIBRARY_NAME}_Export.h
53   STATIC_DEFINE ${LIBRARY_NAME}_BUILT_AS_STATIC
54   )
55 TARGET_LINK_LIBRARIES(
56   ${LIBRARY_NAME}
57   ${ITK_LIBRARIES}
58   ${VTK_LIBRARIES}
59   cpPlugins_Pluma
60   )
61
62 ## ========================
63 ## -- Installation rules --
64 ## ========================
65
66 INSTALL(
67   TARGETS ${LIBRARY_NAME}
68   RUNTIME DESTINATION bin
69   LIBRARY DESTINATION lib
70   ARCHIVE DESTINATION lib/static
71   )
72
73 SET(
74   local_install_dirs
75   Interface
76   )
77 FOREACH(dir ${local_install_dirs})
78   INSTALL(
79     DIRECTORY ${dir}
80     DESTINATION include/cpPlugins/Interface
81     FILES_MATCHING PATTERN "*.h"
82     )
83   INSTALL(
84     DIRECTORY ${dir}
85     DESTINATION include/cpPlugins/Interface
86     FILES_MATCHING PATTERN "*.hxx"
87     )
88   INSTALL(
89     DIRECTORY ${dir}
90     DESTINATION include/cpPlugins/Interface
91     FILES_MATCHING PATTERN "*.hpp"
92     )
93 ENDFOREACH(dir)
94
95 INSTALL(
96   FILES
97   ${PROJECT_BINARY_DIR}/lib/cpPlugins/Interface/${LIBRARY_NAME}_Export.h
98   DESTINATION include/cpPlugins/Interface
99   )
100
101
102 ## eof - $RCSfile$