]> Creatis software - FrontAlgorithms.git/blob - lib/fpa/CMakeLists.txt
...
[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 set(_dirs Common DataStructures Filters Functors)
9 if(VTK_FOUND)
10   list(APPEND _dirs VTK)
11 endif(VTK_FOUND)
12 set(_src)
13 set(_hdr)
14 set(_hrc)
15 foreach(_d ${_dirs})
16   file(GLOB_RECURSE _s "${CMAKE_CURRENT_SOURCE_DIR}/${_d}/*.cxx")
17   file(GLOB_RECURSE _h "${CMAKE_CURRENT_SOURCE_DIR}/${_d}/*.h")
18   file(GLOB_RECURSE _t "${CMAKE_CURRENT_SOURCE_DIR}/${_d}/*.hxx")
19   list(APPEND _src ${_s})
20   list(APPEND _hdr ${_h})
21   list(APPEND _hrc ${_t})
22 endforeach(_d)
23
24 ## =====================
25 ## == Compile library ==
26 ## =====================
27
28 add_library(
29   fpa SHARED
30   "${CMAKE_CURRENT_BINARY_DIR}/Version.cxx"
31   "${CMAKE_CURRENT_BINARY_DIR}/Config.h"
32   ${_src} ${_hdr} ${_hrc}
33   )
34 generate_export_header(fpa)
35 set_property(TARGET fpa PROPERTY VERSION ${prj_VERSION})
36 set_property(TARGET fpa PROPERTY SOVERSION ${prj_SHORT_VERSION})
37 set_property(
38   TARGET fpa PROPERTY INTERFACE_fpa_MAJOR_VERSION ${prj_MAJ_VERSION}
39   )
40 set_property(
41   TARGET fpa APPEND PROPERTY COMPATIBLE_INTERFACE_STRING ${prj_MAJ_VERSION}
42   )
43 target_link_libraries(fpa PUBLIC ${ITK_LIBRARIES} ${VTK_LIBRARIES})
44
45 ## ========================
46 ## == Installation rules ==
47 ## ========================
48
49 install(
50   TARGETS fpa
51   EXPORT "${targets_export_name}"
52   LIBRARY DESTINATION "lib"
53   ARCHIVE DESTINATION "lib"
54   RUNTIME DESTINATION "bin"
55   INCLUDES DESTINATION "${include_install_dir}"
56   )
57 install(
58   DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
59   DESTINATION "${include_install_dir}"
60   FILES_MATCHING PATTERN "*.h"
61   )
62 install(
63   DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
64   DESTINATION "${include_install_dir}"
65   FILES_MATCHING PATTERN "*.hxx"
66   )
67 install(
68   FILES "${CMAKE_CURRENT_BINARY_DIR}/fpa_export.h"
69   DESTINATION "${include_install_dir}/fpa"
70   )
71 install(
72   FILES "${CMAKE_CURRENT_BINARY_DIR}/Config.h"
73   DESTINATION "${include_install_dir}/fpa"
74   )
75
76 ## eof - $RCSfile$