]> Creatis software - FrontAlgorithms.git/blob - lib/CMakeLists.txt
...
[FrontAlgorithms.git] / lib / CMakeLists.txt
1 SET(lib_NAME fpa)
2
3 ## ================
4 ## = Source files =
5 ## ================
6
7 CONFIGURE_FILE(
8   fpa/Common.cxx.in
9   ${PROJECT_BINARY_DIR}/lib/fpa/Common.cxx
10   )
11
12 FILE(GLOB ${lib_NAME}_HEADERS "fpa/*.h" "fpa/*.hxx")
13 FILE(GLOB ${lib_NAME}_BASE_HEADERS "fpa/Base/*.h" "fpa/Base/*.hxx")
14 FILE(GLOB ${lib_NAME}_IO_HEADERS "fpa/IO/*.h" "fpa/IO/*.hxx")
15 FILE(GLOB ${lib_NAME}_IMAGE_HEADERS "fpa/Image/*.h" "fpa/Image/*.hxx")
16
17 FILE(GLOB ${lib_NAME}_SOURCES "fpa/*.cxx")
18 FILE(GLOB ${lib_NAME}_BASE_SOURCES "fpa/Base/*.cxx")
19 FILE(GLOB ${lib_NAME}_IO_SOURCES "fpa/IO/*.cxx")
20 FILE(GLOB ${lib_NAME}_IMAGE_SOURCES "fpa/Image/*.cxx")
21
22 FILE(GLOB ${lib_NAME}_VTK_HEADERS "fpa/VTK/*.h" "fpa/VTK/*.hxx")
23 FILE(GLOB ${lib_NAME}_VTK_SOURCES "fpa/VTK/*.cxx")
24
25 SET(
26   ${lib_NAME}_ALL_SOURCES
27   ${PROJECT_BINARY_DIR}/lib/fpa/Common.cxx
28   ${${lib_NAME}_SOURCES}
29   ${${lib_NAME}_BASE_SOURCES}
30   ${${lib_NAME}_IO_SOURCES}
31   ${${lib_NAME}_IMAGE_SOURCES}
32   ${${lib_NAME}_VTK_SOURCES}
33   )
34
35 ## =============
36 ## = Libraries =
37 ## =============
38
39 SET(
40   ${lib_NAME}_LINK_LIBRARIES
41   ${ITK_LIBRARIES}
42   ${VTK_LIBRARIES}
43   )
44
45 ## =====================
46 ## = Compilation rules =
47 ## =====================
48
49 ADD_LIBRARY(
50   ${lib_NAME}
51   SHARED
52   ${${lib_NAME}_ALL_SOURCES}
53   )
54 SET_TARGET_PROPERTIES(
55   ${lib_NAME} PROPERTIES
56   VERSION "${prj_VER}"
57   SOVERSION "${prj_sVER}"
58   )
59 GENERATE_EXPORT_HEADER(
60   ${lib_NAME}
61   BASE_NAME ${lib_NAME}
62   EXPORT_MACRO_NAME ${lib_NAME}_EXPORT
63   EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/lib/fpa/${lib_NAME}_Export.h
64   STATIC_DEFINE ${lib_NAME}_BUILT_AS_STATIC
65   )
66 TARGET_LINK_LIBRARIES(
67   ${lib_NAME}
68   ${${lib_NAME}_LINK_LIBRARIES}
69   )
70
71 ## ========================
72 ## -- Installation rules --
73 ## ========================
74
75 INSTALL(
76   TARGETS ${lib_NAME}
77   RUNTIME DESTINATION bin
78   LIBRARY DESTINATION lib
79   ARCHIVE DESTINATION lib/static
80   )
81 SET(
82   local_install_dirs
83   fpa
84   )
85 FOREACH(dir ${local_install_dirs})
86   INSTALL(
87     DIRECTORY ${dir}
88     DESTINATION include
89     FILES_MATCHING PATTERN "*.h"
90     )
91   INSTALL(
92     DIRECTORY ${dir}
93     DESTINATION include
94     FILES_MATCHING PATTERN "*.hxx"
95     )
96   INSTALL(
97     DIRECTORY ${dir}
98     DESTINATION include
99     FILES_MATCHING PATTERN "*.hpp"
100     )
101 ENDFOREACH(dir)
102
103 INSTALL(
104   FILES
105   ${PROJECT_BINARY_DIR}/lib/fpa/${lib_NAME}_Export.h
106   DESTINATION include/fpa
107   )
108
109 ## eof - $RCSfile$