]> Creatis software - FrontAlgorithms.git/blob - lib/fpa/CMakeLists.txt
bb03dddedd255efc89d27061c411d7a853db9bd2
[FrontAlgorithms.git] / lib / fpa / CMakeLists.txt
1 ## =========================================================================
2 ## @author Leonardo Florez Valencia
3 ## @email florez-l@javeriana.edu.co
4 ## =========================================================================
5
6 configure_file(Version.cxx.in "${CMAKE_CURRENT_BINARY_DIR}/Version.cxx" @ONLY)
7 configure_file(Config.h.in "${CMAKE_CURRENT_BINARY_DIR}/Config.h" @ONLY)
8 file(GLOB_RECURSE _common_src "${CMAKE_CURRENT_SOURCE_DIR}/Common/*.cxx")
9 file(GLOB_RECURSE _filters_src "${CMAKE_CURRENT_SOURCE_DIR}/Filters/*.cxx")
10 file(GLOB_RECURSE _functors_src "${CMAKE_CURRENT_SOURCE_DIR}/Functors/*.cxx")
11 file(GLOB_RECURSE _common_hdr "${CMAKE_CURRENT_SOURCE_DIR}/Common/*.h")
12 file(GLOB_RECURSE _filters_hdr "${CMAKE_CURRENT_SOURCE_DIR}/Filters/*.h")
13 file(GLOB_RECURSE _functors_hdr "${CMAKE_CURRENT_SOURCE_DIR}/Functors/*.h")
14 file(GLOB_RECURSE _common_hrc "${CMAKE_CURRENT_SOURCE_DIR}/Common/*.hxx")
15 file(GLOB_RECURSE _filters_hrc "${CMAKE_CURRENT_SOURCE_DIR}/Filters/*.hxx")
16 file(GLOB_RECURSE _functors_hrc "${CMAKE_CURRENT_SOURCE_DIR}/Functors/*.hxx")
17 if(VTK_FOUND)
18   file(GLOB_RECURSE _vtk_src "${CMAKE_CURRENT_SOURCE_DIR}/VTK/*.cxx")
19   file(GLOB_RECURSE _vtk_hdr "${CMAKE_CURRENT_SOURCE_DIR}/VTK/*.h")
20   file(GLOB_RECURSE _vtk_hrc "${CMAKE_CURRENT_SOURCE_DIR}/VTK/*.hxx")
21 endif(VTK_FOUND)
22
23 ## =====================
24 ## == Compile library ==
25 ## =====================
26
27 add_library(
28   fpa SHARED
29   "${CMAKE_CURRENT_BINARY_DIR}/Version.cxx"
30   "${CMAKE_CURRENT_BINARY_DIR}/Config.h"
31   ${_common_src}
32   ${_filters_src}
33   ${_functors_src}
34   ${_vtk_src}
35   )
36 generate_export_header(fpa)
37 set_property(TARGET fpa PROPERTY VERSION ${prj_VERSION})
38 set_property(TARGET fpa PROPERTY SOVERSION ${prj_SHORT_VERSION})
39 set_property(
40   TARGET fpa PROPERTY INTERFACE_fpa_MAJOR_VERSION ${prj_MAJ_VERSION}
41   )
42 set_property(
43   TARGET fpa APPEND PROPERTY COMPATIBLE_INTERFACE_STRING ${prj_MAJ_VERSION}
44   )
45 target_link_libraries(fpa PUBLIC ${ITK_LIBRARIES})
46
47 ## ========================
48 ## == Installation rules ==
49 ## ========================
50
51 install(
52   TARGETS fpa
53   EXPORT "${targets_export_name}"
54   LIBRARY DESTINATION "lib"
55   ARCHIVE DESTINATION "lib"
56   RUNTIME DESTINATION "bin"
57   INCLUDES DESTINATION "${include_install_dir}"
58   )
59 install(
60   DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
61   DESTINATION "${include_install_dir}"
62   FILES_MATCHING PATTERN "*.h"
63   )
64 install(
65   DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
66   DESTINATION "${include_install_dir}"
67   FILES_MATCHING PATTERN "*.hxx"
68   )
69 install(
70   FILES "${CMAKE_CURRENT_BINARY_DIR}/fpa_export.h"
71   DESTINATION "${include_install_dir}/fpa"
72   )
73 install(
74   FILES "${CMAKE_CURRENT_BINARY_DIR}/Config.h"
75   DESTINATION "${include_install_dir}/fpa"
76   )
77
78 ## eof - $RCSfile$