]> Creatis software - FrontAlgorithms.git/blob - lib/fpa/CMakeLists.txt
e57fdbd16eb0ad742b9de293a0baeefcf44326c0
[FrontAlgorithms.git] / lib / fpa / CMakeLists.txt
1
2 ## =====================
3 ## == Get source code ==
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 _base_src "${CMAKE_CURRENT_SOURCE_DIR}/Base/*.cxx")
9 file(GLOB_RECURSE _base_hdr "${CMAKE_CURRENT_SOURCE_DIR}/Base/*.h")
10 file(GLOB_RECURSE _base_hrc "${CMAKE_CURRENT_SOURCE_DIR}/Base/*.hxx")
11 file(GLOB_RECURSE _image_src "${CMAKE_CURRENT_SOURCE_DIR}/Image/*.cxx")
12 file(GLOB_RECURSE _image_hdr "${CMAKE_CURRENT_SOURCE_DIR}/Image/*.h")
13 file(GLOB_RECURSE _image_hrc "${CMAKE_CURRENT_SOURCE_DIR}/Image/*.hxx")
14
15 file(GLOB_RECURSE _generic_src "${CMAKE_CURRENT_SOURCE_DIR}/Generic/*.cxx")
16 file(GLOB_RECURSE _generic_hdr "${CMAKE_CURRENT_SOURCE_DIR}/Generic/*.h")
17 file(GLOB_RECURSE _generic_hrc "${CMAKE_CURRENT_SOURCE_DIR}/Generic/*.hxx")
18
19
20 set(_src
21   ${_base_src} ${_image_src} ${_generic_src}
22   "${CMAKE_CURRENT_BINARY_DIR}/Version.cxx"
23   )
24 set(
25   _hdr
26   ${_base_hdr} ${_image_hdr} ${_generic_hdr}
27   "${CMAKE_CURRENT_BINARY_DIR}/Config.h"
28   )
29 set(_hrc ${_base_hrc} ${_image_hrc} ${_generic_hrc})
30
31 ## =====================
32 ## == Compile library ==
33 ## =====================
34
35 add_library(fpa SHARED ${_src} ${_hdr} ${_hrc})
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 ${VTK_LIBRARIES} ${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$