]> Creatis software - FrontAlgorithms.git/blobdiff - lib/fpa/CMakeLists.txt
...
[FrontAlgorithms.git] / lib / fpa / CMakeLists.txt
index bb03dddedd255efc89d27061c411d7a853db9bd2..7f9cb9f14248f45c1d7a1165b2e6c9ddea32d622 100644 (file)
@@ -3,76 +3,22 @@
 ## @email florez-l@javeriana.edu.co
 ## =========================================================================
 
-configure_file(Version.cxx.in "${CMAKE_CURRENT_BINARY_DIR}/Version.cxx" @ONLY)
-configure_file(Config.h.in "${CMAKE_CURRENT_BINARY_DIR}/Config.h" @ONLY)
-file(GLOB_RECURSE _common_src "${CMAKE_CURRENT_SOURCE_DIR}/Common/*.cxx")
-file(GLOB_RECURSE _filters_src "${CMAKE_CURRENT_SOURCE_DIR}/Filters/*.cxx")
-file(GLOB_RECURSE _functors_src "${CMAKE_CURRENT_SOURCE_DIR}/Functors/*.cxx")
-file(GLOB_RECURSE _common_hdr "${CMAKE_CURRENT_SOURCE_DIR}/Common/*.h")
-file(GLOB_RECURSE _filters_hdr "${CMAKE_CURRENT_SOURCE_DIR}/Filters/*.h")
-file(GLOB_RECURSE _functors_hdr "${CMAKE_CURRENT_SOURCE_DIR}/Functors/*.h")
-file(GLOB_RECURSE _common_hrc "${CMAKE_CURRENT_SOURCE_DIR}/Common/*.hxx")
-file(GLOB_RECURSE _filters_hrc "${CMAKE_CURRENT_SOURCE_DIR}/Filters/*.hxx")
-file(GLOB_RECURSE _functors_hrc "${CMAKE_CURRENT_SOURCE_DIR}/Functors/*.hxx")
+## -- Set directories
+set(_dirs . Common DataStructures Filters Functors)
 if(VTK_FOUND)
-  file(GLOB_RECURSE _vtk_src "${CMAKE_CURRENT_SOURCE_DIR}/VTK/*.cxx")
-  file(GLOB_RECURSE _vtk_hdr "${CMAKE_CURRENT_SOURCE_DIR}/VTK/*.h")
-  file(GLOB_RECURSE _vtk_hrc "${CMAKE_CURRENT_SOURCE_DIR}/VTK/*.hxx")
+  list(APPEND _dirs VTK)
 endif(VTK_FOUND)
+set(_src)
+foreach(_d ${_dirs})
+  file(GLOB_RECURSE _s "${CMAKE_CURRENT_SOURCE_DIR}/${_d}/*")
+  list(APPEND _src ${_s})
+endforeach(_d)
 
-## =====================
-## == Compile library ==
-## =====================
-
-add_library(
-  fpa SHARED
-  "${CMAKE_CURRENT_BINARY_DIR}/Version.cxx"
-  "${CMAKE_CURRENT_BINARY_DIR}/Config.h"
-  ${_common_src}
-  ${_filters_src}
-  ${_functors_src}
-  ${_vtk_src}
-  )
-generate_export_header(fpa)
-set_property(TARGET fpa PROPERTY VERSION ${prj_VERSION})
-set_property(TARGET fpa PROPERTY SOVERSION ${prj_SHORT_VERSION})
-set_property(
-  TARGET fpa PROPERTY INTERFACE_fpa_MAJOR_VERSION ${prj_MAJ_VERSION}
-  )
-set_property(
-  TARGET fpa APPEND PROPERTY COMPATIBLE_INTERFACE_STRING ${prj_MAJ_VERSION}
-  )
-target_link_libraries(fpa PUBLIC ${ITK_LIBRARIES})
-
-## ========================
-## == Installation rules ==
-## ========================
-
-install(
-  TARGETS fpa
-  EXPORT "${targets_export_name}"
-  LIBRARY DESTINATION "lib"
-  ARCHIVE DESTINATION "lib"
-  RUNTIME DESTINATION "bin"
-  INCLUDES DESTINATION "${include_install_dir}"
-  )
-install(
-  DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
-  DESTINATION "${include_install_dir}"
-  FILES_MATCHING PATTERN "*.h"
-  )
-install(
-  DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
-  DESTINATION "${include_install_dir}"
-  FILES_MATCHING PATTERN "*.hxx"
-  )
-install(
-  FILES "${CMAKE_CURRENT_BINARY_DIR}/fpa_export.h"
-  DESTINATION "${include_install_dir}/fpa"
-  )
-install(
-  FILES "${CMAKE_CURRENT_BINARY_DIR}/Config.h"
-  DESTINATION "${include_install_dir}/fpa"
+## -- Build
+BuildLibrary(
+  fpa SHARED "${_src}"
+  ${prj_MAJ} ${prj_MIN} ${prj_REL}
+  ${ITK_LIBRARIES} ${VTK_LIBRARIES}
   )
 
 ## eof - $RCSfile$