]> Creatis software - FrontAlgorithms.git/blobdiff - lib/fpa/CMakeLists.txt
...
[FrontAlgorithms.git] / lib / fpa / CMakeLists.txt
index a3ef66652f33aacd189baae8df21d3fd221e91a4..1ac13cdc643039f224668c2545b52b4f9cb39593 100644 (file)
@@ -1,43 +1,59 @@
+## =========================================================================
+## @author Leonardo Florez Valencia
+## @email florez-l@javeriana.edu.co
+## =========================================================================
 
-## =====================
-## == Get source code ==
-## =====================
-
-file(GLOB_RECURSE _base_src "${CMAKE_CURRENT_SOURCE_DIR}/Base/*.cxx")
-file(GLOB_RECURSE _base_hdr "${CMAKE_CURRENT_SOURCE_DIR}/Base/*.h")
-file(GLOB_RECURSE _base_hrc "${CMAKE_CURRENT_SOURCE_DIR}/Base/*.hxx")
-file(GLOB_RECURSE _image_src "${CMAKE_CURRENT_SOURCE_DIR}/Image/*.cxx")
-file(GLOB_RECURSE _image_hdr "${CMAKE_CURRENT_SOURCE_DIR}/Image/*.h")
-file(GLOB_RECURSE _image_hrc "${CMAKE_CURRENT_SOURCE_DIR}/Image/*.hxx")
+configure_file(Version.cxx.in "${CMAKE_CURRENT_BINARY_DIR}/Version.cxx" @ONLY)
+configure_file(Config.h.in "${CMAKE_CURRENT_BINARY_DIR}/Config.h" @ONLY)
+set(_dirs Common DataStructures Filters Functors)
+if(VTK_FOUND)
+  list(APPEND _dirs VTK)
+endif(VTK_FOUND)
+set(_src)
+set(_hdr)
+set(_hrc)
+foreach(_d ${_dirs})
+  file(GLOB_RECURSE _s "${CMAKE_CURRENT_SOURCE_DIR}/${_d}/*.cxx")
+  file(GLOB_RECURSE _h "${CMAKE_CURRENT_SOURCE_DIR}/${_d}/*.h")
+  file(GLOB_RECURSE _t "${CMAKE_CURRENT_SOURCE_DIR}/${_d}/*.hxx")
+  list(APPEND _src ${_s})
+  list(APPEND _hdr ${_h})
+  list(APPEND _hrc ${_t})
+endforeach(_d)
 
 ## =====================
 ## == Compile library ==
 ## =====================
 
-#add_library(fpa SHARED ${_src} ${_hdr} ${_hrc})
-#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 ${VTK_LIBRARIES} ${ITK_LIBRARIES})
+add_library(
+  fpa SHARED
+  "${CMAKE_CURRENT_BINARY_DIR}/Version.cxx"
+  "${CMAKE_CURRENT_BINARY_DIR}/Config.h"
+  ${_src} ${_hdr} ${_hrc}
+  )
+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} ${VTK_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(
+  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}"
@@ -48,9 +64,13 @@ install(
   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}/fpa_export.h"
+  DESTINATION "${include_install_dir}/fpa"
+  )
+install(
+  FILES "${CMAKE_CURRENT_BINARY_DIR}/Config.h"
+  DESTINATION "${include_install_dir}/fpa"
+  )
 
 ## eof - $RCSfile$