]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/Extensions/CMakeLists.txt
Major refactoring: API-HCI bug corrected.
[cpPlugins.git] / lib / cpPlugins / Extensions / CMakeLists.txt
index 42f7765584555c93aec942b9f38fbd04826281a7..b18e5bdfd2b18a017b18895311a0197e1af9722f 100644 (file)
@@ -11,30 +11,109 @@ FILE(GLOB LIB_SOURCES_C   "*.c")
 FILE(GLOB LIB_SOURCES_CPP "*.cpp")
 FILE(GLOB LIB_SOURCES_CXX "*.cxx")
 
+FILE(GLOB LIB_DataStructures_HEADERS_H   "DataStructures/*.h")
+FILE(GLOB LIB_DataStructures_HEADERS_HPP "DataStructures/*.hpp")
+FILE(GLOB LIB_DataStructures_HEADERS_HXX "DataStructures/*.hxx")
+FILE(GLOB LIB_DataStructures_SOURCES_C   "DataStructures/*.c")
+FILE(GLOB LIB_DataStructures_SOURCES_CPP "DataStructures/*.cpp")
+FILE(GLOB LIB_DataStructures_SOURCES_CXX "DataStructures/*.cxx")
+
+FILE(GLOB LIB_Algorithms_HEADERS_H   "Algorithms/*.h")
+FILE(GLOB LIB_Algorithms_HEADERS_HPP "Algorithms/*.hpp")
+FILE(GLOB LIB_Algorithms_HEADERS_HXX "Algorithms/*.hxx")
+FILE(GLOB LIB_Algorithms_SOURCES_C   "Algorithms/*.c")
+FILE(GLOB LIB_Algorithms_SOURCES_CPP "Algorithms/*.cpp")
+FILE(GLOB LIB_Algorithms_SOURCES_CXX "Algorithms/*.cxx")
+
+FILE(GLOB LIB_IO_HEADERS_H   "IO/*.h")
+FILE(GLOB LIB_IO_HEADERS_HPP "IO/*.hpp")
+FILE(GLOB LIB_IO_HEADERS_HXX "IO/*.hxx")
+FILE(GLOB LIB_IO_SOURCES_C   "IO/*.c")
+FILE(GLOB LIB_IO_SOURCES_CPP "IO/*.cpp")
+FILE(GLOB LIB_IO_SOURCES_CXX "IO/*.cxx")
+
+FILE(GLOB LIB_Visualization_HEADERS_H   "Visualization/*.h")
+FILE(GLOB LIB_Visualization_HEADERS_HPP "Visualization/*.hpp")
+FILE(GLOB LIB_Visualization_HEADERS_HXX "Visualization/*.hxx")
+FILE(GLOB LIB_Visualization_SOURCES_C   "Visualization/*.c")
+FILE(GLOB LIB_Visualization_SOURCES_CPP "Visualization/*.cpp")
+FILE(GLOB LIB_Visualization_SOURCES_CXX "Visualization/*.cxx")
+
 ## =====================
 ## = Compilation rules =
 ## =====================
 
-## TODO: no instantiated code at the moment
-# ADD_LIBRARY(
-#   ${LIBRARY_NAME}
-#   SHARED
-#   ${LIB_SOURCES_C}
-#   ${LIB_SOURCES_CPP}
-#   ${LIB_SOURCES_CXX}
-#   )
-# GENERATE_EXPORT_HEADER(
-#   ${LIBRARY_NAME}
-#   BASE_NAME ${LIBRARY_NAME}
-#   EXPORT_MACRO_NAME ${LIBRARY_NAME}_EXPORT
-#   EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/lib/cpPlugins/Interface/${LIBRARY_NAME}_Export.h
-#   STATIC_DEFINE ${LIBRARY_NAME}_BUILT_AS_STATIC
-#   )
-# TARGET_LINK_LIBRARIES(
-#   ${LIBRARY_NAME}
-#   cpPlugins_Pluma
-#   ${ITK_LIBRARIES}
-#   ${VTK_LIBRARIES}
-#   )
+ADD_LIBRARY(
+  ${LIBRARY_NAME}
+  SHARED
+  ${LIB_SOURCES_C}
+  ${LIB_SOURCES_CPP}
+  ${LIB_SOURCES_CXX}
+  ${LIB_DataStructures_SOURCES_C}
+  ${LIB_DataStructures_SOURCES_CPP}
+  ${LIB_DataStructures_SOURCES_CXX}
+  ${LIB_Algorithms_SOURCES_C}
+  ${LIB_Algorithms_SOURCES_CPP}
+  ${LIB_Algorithms_SOURCES_CXX}
+  ${LIB_IO_SOURCES_C}
+  ${LIB_IO_SOURCES_CPP}
+  ${LIB_IO_SOURCES_CXX}
+  ${LIB_Visualization_SOURCES_C}
+  ${LIB_Visualization_SOURCES_CPP}
+  ${LIB_Visualization_SOURCES_CXX}
+  )
+GENERATE_EXPORT_HEADER(
+  ${LIBRARY_NAME}
+  BASE_NAME ${LIBRARY_NAME}
+  EXPORT_MACRO_NAME ${LIBRARY_NAME}_EXPORT
+  EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/lib/cpPlugins/Extensions/${LIBRARY_NAME}_Export.h
+  STATIC_DEFINE ${LIBRARY_NAME}_BUILT_AS_STATIC
+  )
+TARGET_LINK_LIBRARIES(
+  ${LIBRARY_NAME}
+  ${ITK_LIBRARIES}
+  ${VTK_LIBRARIES}
+  )
+
+## ========================
+## -- Installation rules --
+## ========================
+
+INSTALL(
+  TARGETS ${LIBRARY_NAME}
+  RUNTIME DESTINATION bin
+  LIBRARY DESTINATION lib
+  ARCHIVE DESTINATION lib/static
+  )
+SET(
+  local_install_dirs
+  Algorithms
+  DataStructures
+  IO
+  Visualization
+  )
+FOREACH(dir ${local_install_dirs})
+  INSTALL(
+    DIRECTORY ${dir}
+    DESTINATION include/cpPlugins/Extensions
+    FILES_MATCHING PATTERN "*.h"
+    )
+  INSTALL(
+    DIRECTORY ${dir}
+    DESTINATION include/cpPlugins/Extensions
+    FILES_MATCHING PATTERN "*.hxx"
+    )
+  INSTALL(
+    DIRECTORY ${dir}
+    DESTINATION include/cpPlugins/Extensions
+    FILES_MATCHING PATTERN "*.hpp"
+    )
+ENDFOREACH(dir)
+
+INSTALL(
+  FILES
+  ${PROJECT_BINARY_DIR}/lib/cpPlugins/Extensions/${LIBRARY_NAME}_Export.h
+  DESTINATION include/cpPlugins/Extensions
+  )
 
 ## eof - $RCSfile$