2 ## =====================
3 ## == Get source code ==
4 ## =====================
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")
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")
21 ${_base_src} ${_image_src} ${_generic_src}
22 "${CMAKE_CURRENT_BINARY_DIR}/Version.cxx"
26 ${_base_hdr} ${_image_hdr} ${_generic_hdr}
27 "${CMAKE_CURRENT_BINARY_DIR}/Config.h"
29 set(_hrc ${_base_hrc} ${_image_hrc} ${_generic_hrc})
31 ## =====================
32 ## == Compile library ==
33 ## =====================
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})
40 TARGET fpa PROPERTY INTERFACE_fpa_MAJOR_VERSION ${prj_MAJ_VERSION}
43 TARGET fpa APPEND PROPERTY COMPATIBLE_INTERFACE_STRING ${prj_MAJ_VERSION}
45 target_link_libraries(fpa PUBLIC ${VTK_LIBRARIES} ${ITK_LIBRARIES})
47 ## ========================
48 ## == Installation rules ==
49 ## ========================
53 EXPORT "${targets_export_name}"
54 LIBRARY DESTINATION "lib"
55 ARCHIVE DESTINATION "lib"
56 RUNTIME DESTINATION "bin"
57 INCLUDES DESTINATION "${include_install_dir}"
60 DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
61 DESTINATION "${include_install_dir}"
62 FILES_MATCHING PATTERN "*.h"
65 DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
66 DESTINATION "${include_install_dir}"
67 FILES_MATCHING PATTERN "*.hxx"
70 FILES "${CMAKE_CURRENT_BINARY_DIR}/fpa_export.h"
71 DESTINATION "${include_install_dir}/fpa"
74 FILES "${CMAKE_CURRENT_BINARY_DIR}/Config.h"
75 DESTINATION "${include_install_dir}/fpa"