2 ## =====================
3 ## == Get source code ==
4 ## =====================
6 configure_file(Version.cxx.in "${CMAKE_CURRENT_BINARY_DIR}/Version.cxx" @ONLY)
7 file(GLOB_RECURSE _base_src "${CMAKE_CURRENT_SOURCE_DIR}/Base/*.cxx")
8 file(GLOB_RECURSE _base_hdr "${CMAKE_CURRENT_SOURCE_DIR}/Base/*.h")
9 file(GLOB_RECURSE _base_hrc "${CMAKE_CURRENT_SOURCE_DIR}/Base/*.hxx")
10 file(GLOB_RECURSE _image_src "${CMAKE_CURRENT_SOURCE_DIR}/Image/*.cxx")
11 file(GLOB_RECURSE _image_hdr "${CMAKE_CURRENT_SOURCE_DIR}/Image/*.h")
12 file(GLOB_RECURSE _image_hrc "${CMAKE_CURRENT_SOURCE_DIR}/Image/*.hxx")
15 ${_base_src} ${_image_src}
16 "${CMAKE_CURRENT_BINARY_DIR}/Version.cxx"
18 set(_hdr ${_base_hdr} ${_image_hdr})
19 set(_hrc ${_base_hrc} ${_image_hrc})
21 ## =====================
22 ## == Compile library ==
23 ## =====================
25 add_library(fpa SHARED ${_src} ${_hdr} ${_hrc})
26 generate_export_header(fpa)
27 set_property(TARGET fpa PROPERTY VERSION ${prj_VERSION})
28 set_property(TARGET fpa PROPERTY SOVERSION ${prj_SHORT_VERSION})
30 TARGET fpa PROPERTY INTERFACE_fpa_MAJOR_VERSION ${prj_MAJ_VERSION}
33 TARGET fpa APPEND PROPERTY COMPATIBLE_INTERFACE_STRING ${prj_MAJ_VERSION}
35 target_link_libraries(fpa PUBLIC ${VTK_LIBRARIES} ${ITK_LIBRARIES})
37 ## ========================
38 ## == Installation rules ==
39 ## ========================
43 EXPORT "${targets_export_name}"
44 LIBRARY DESTINATION "lib"
45 ARCHIVE DESTINATION "lib"
46 RUNTIME DESTINATION "bin"
47 INCLUDES DESTINATION "${include_install_dir}"
50 DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
51 DESTINATION "${include_install_dir}"
52 FILES_MATCHING PATTERN "*.h"
55 DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
56 DESTINATION "${include_install_dir}"
57 FILES_MATCHING PATTERN "*.hxx"
60 FILES "${CMAKE_CURRENT_BINARY_DIR}/fpa_export.h"
61 DESTINATION "${include_install_dir}/fpa"