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")
16 ${_base_src} ${_image_src}
17 "${CMAKE_CURRENT_BINARY_DIR}/Version.cxx"
21 ${_base_hdr} ${_image_hdr}
22 "${CMAKE_CURRENT_BINARY_DIR}/Config.h"
24 set(_hrc ${_base_hrc} ${_image_hrc})
26 ## =====================
27 ## == Compile library ==
28 ## =====================
30 add_library(fpa SHARED ${_src} ${_hdr} ${_hrc})
31 generate_export_header(fpa)
32 set_property(TARGET fpa PROPERTY VERSION ${prj_VERSION})
33 set_property(TARGET fpa PROPERTY SOVERSION ${prj_SHORT_VERSION})
35 TARGET fpa PROPERTY INTERFACE_fpa_MAJOR_VERSION ${prj_MAJ_VERSION}
38 TARGET fpa APPEND PROPERTY COMPATIBLE_INTERFACE_STRING ${prj_MAJ_VERSION}
40 target_link_libraries(fpa PUBLIC ${VTK_LIBRARIES} ${ITK_LIBRARIES})
42 ## ========================
43 ## == Installation rules ==
44 ## ========================
48 EXPORT "${targets_export_name}"
49 LIBRARY DESTINATION "lib"
50 ARCHIVE DESTINATION "lib"
51 RUNTIME DESTINATION "bin"
52 INCLUDES DESTINATION "${include_install_dir}"
55 DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
56 DESTINATION "${include_install_dir}"
57 FILES_MATCHING PATTERN "*.h"
60 DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
61 DESTINATION "${include_install_dir}"
62 FILES_MATCHING PATTERN "*.hxx"
65 FILES "${CMAKE_CURRENT_BINARY_DIR}/fpa_export.h"
66 DESTINATION "${include_install_dir}/fpa"