]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/Extensions/CMakeLists.txt
Now ported to macosx and easier to configure on win32... hopefully
[cpPlugins.git] / lib / cpPlugins / Extensions / CMakeLists.txt
1 SET(LIBRARY_NAME cpPlugins_Extensions)
2
3 ## ===============
4 ## = Source code =
5 ## ===============
6
7 FILE(GLOB LIB_HEADERS_H   "*.h")
8 FILE(GLOB LIB_HEADERS_HPP "*.hpp")
9 FILE(GLOB LIB_HEADERS_HXX "*.hxx")
10 FILE(GLOB LIB_SOURCES_C   "*.c")
11 FILE(GLOB LIB_SOURCES_CPP "*.cpp")
12 FILE(GLOB LIB_SOURCES_CXX "*.cxx")
13
14 FILE(GLOB LIB_DataStructures_HEADERS_H   "DataStructures/*.h")
15 FILE(GLOB LIB_DataStructures_HEADERS_HPP "DataStructures/*.hpp")
16 FILE(GLOB LIB_DataStructures_HEADERS_HXX "DataStructures/*.hxx")
17 FILE(GLOB LIB_DataStructures_SOURCES_C   "DataStructures/*.c")
18 FILE(GLOB LIB_DataStructures_SOURCES_CPP "DataStructures/*.cpp")
19 FILE(GLOB LIB_DataStructures_SOURCES_CXX "DataStructures/*.cxx")
20
21 FILE(GLOB LIB_Algorithms_HEADERS_H   "Algorithms/*.h")
22 FILE(GLOB LIB_Algorithms_HEADERS_HPP "Algorithms/*.hpp")
23 FILE(GLOB LIB_Algorithms_HEADERS_HXX "Algorithms/*.hxx")
24 FILE(GLOB LIB_Algorithms_SOURCES_C   "Algorithms/*.c")
25 FILE(GLOB LIB_Algorithms_SOURCES_CPP "Algorithms/*.cpp")
26 FILE(GLOB LIB_Algorithms_SOURCES_CXX "Algorithms/*.cxx")
27
28 FILE(GLOB LIB_IO_HEADERS_H   "IO/*.h")
29 FILE(GLOB LIB_IO_HEADERS_HPP "IO/*.hpp")
30 FILE(GLOB LIB_IO_HEADERS_HXX "IO/*.hxx")
31 FILE(GLOB LIB_IO_SOURCES_C   "IO/*.c")
32 FILE(GLOB LIB_IO_SOURCES_CPP "IO/*.cpp")
33 FILE(GLOB LIB_IO_SOURCES_CXX "IO/*.cxx")
34
35 FILE(GLOB LIB_Visualization_HEADERS_H   "Visualization/*.h")
36 FILE(GLOB LIB_Visualization_HEADERS_HPP "Visualization/*.hpp")
37 FILE(GLOB LIB_Visualization_HEADERS_HXX "Visualization/*.hxx")
38 FILE(GLOB LIB_Visualization_SOURCES_C   "Visualization/*.c")
39 FILE(GLOB LIB_Visualization_SOURCES_CPP "Visualization/*.cpp")
40 FILE(GLOB LIB_Visualization_SOURCES_CXX "Visualization/*.cxx")
41
42 ## =====================
43 ## = Compilation rules =
44 ## =====================
45
46 ADD_LIBRARY(
47   ${LIBRARY_NAME}
48   SHARED
49   ${LIB_SOURCES_C}
50   ${LIB_SOURCES_CPP}
51   ${LIB_SOURCES_CXX}
52   ${LIB_DataStructures_SOURCES_C}
53   ${LIB_DataStructures_SOURCES_CPP}
54   ${LIB_DataStructures_SOURCES_CXX}
55   ${LIB_Algorithms_SOURCES_C}
56   ${LIB_Algorithms_SOURCES_CPP}
57   ${LIB_Algorithms_SOURCES_CXX}
58   ${LIB_IO_SOURCES_C}
59   ${LIB_IO_SOURCES_CPP}
60   ${LIB_IO_SOURCES_CXX}
61   ${LIB_Visualization_SOURCES_C}
62   ${LIB_Visualization_SOURCES_CPP}
63   ${LIB_Visualization_SOURCES_CXX}
64   )
65 GENERATE_EXPORT_HEADER(
66   ${LIBRARY_NAME}
67   BASE_NAME ${LIBRARY_NAME}
68   EXPORT_MACRO_NAME ${LIBRARY_NAME}_EXPORT
69   EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/lib/cpPlugins/Extensions/${LIBRARY_NAME}_Export.h
70   STATIC_DEFINE ${LIBRARY_NAME}_BUILT_AS_STATIC
71   )
72 TARGET_LINK_LIBRARIES(
73   ${LIBRARY_NAME}
74   ${ITK_LIBRARIES}
75   ${VTK_LIBRARIES}
76   )
77
78 ## ========================
79 ## -- Installation rules --
80 ## ========================
81
82 INSTALL(
83   TARGETS ${LIBRARY_NAME}
84   RUNTIME DESTINATION bin
85   LIBRARY DESTINATION lib
86   ARCHIVE DESTINATION lib/static
87   )
88 SET(
89   local_install_dirs
90   Algorithms
91   DataStructures
92   IO
93   Visualization
94   )
95 FOREACH(dir ${local_install_dirs})
96   INSTALL(
97     DIRECTORY ${dir}
98     DESTINATION include/cpPlugins/Extensions
99     FILES_MATCHING PATTERN "*.h"
100     )
101   INSTALL(
102     DIRECTORY ${dir}
103     DESTINATION include/cpPlugins/Extensions
104     FILES_MATCHING PATTERN "*.hxx"
105     )
106   INSTALL(
107     DIRECTORY ${dir}
108     DESTINATION include/cpPlugins/Extensions
109     FILES_MATCHING PATTERN "*.hpp"
110     )
111 ENDFOREACH(dir)
112
113 INSTALL(
114   FILES
115   ${PROJECT_BINARY_DIR}/lib/cpPlugins/Extensions/${LIBRARY_NAME}_Export.h
116   DESTINATION include/cpPlugins/Extensions
117   )
118
119 ## eof - $RCSfile$