]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/CMakeLists.txt
...
[cpPlugins.git] / lib / cpPlugins / CMakeLists.txt
index 9d68dcdf46c4bfad881c5e553b12c95089ca546a..89f1e3ceda0473ac4826b9e7f7521873a7b0891b 100644 (file)
@@ -1,7 +1,102 @@
-SUBDIRS(
-  Extensions
+SET(LIBRARY_NAME cpPlugins)
+
+## ===============
+## = Source code =
+## ===============
+
+FILE(GLOB Interface_LIB_HEADERS_H   "Interface/*.h")
+FILE(GLOB Interface_LIB_HEADERS_HPP "Interface/*.hpp")
+FILE(GLOB Interface_LIB_HEADERS_HXX "Interface/*.hxx")
+FILE(GLOB Interface_LIB_SOURCES_C   "Interface/*.c")
+FILE(GLOB Interface_LIB_SOURCES_CPP "Interface/*.cpp")
+FILE(GLOB Interface_LIB_SOURCES_CXX "Interface/*.cxx")
+
+SET(
+  LIB_HEADERS_H
+  Plugins/ImageReader.h
+  Plugins/ImageWriter.h
+  Plugins/MeshReader.h
+  Plugins/MeshWriter.h
+  Plugins/MarchingCubes.h
+  Plugins/OtsuThresholdImageFilter.h
+  )
+SET(
+  LIB_SOURCES_CXX
+  Plugins/Host.cxx
+  Plugins/ImageReader.cxx
+  Plugins/ImageWriter.cxx
+  Plugins/MeshReader.cxx
+  Plugins/MeshWriter.cxx
+  Plugins/MarchingCubes.cxx
+  Plugins/OtsuThresholdImageFilter.cxx
+  )
+
+## =====================
+## = Compilation rules =
+## =====================
+
+ADD_LIBRARY(
+  ${LIBRARY_NAME}
+  SHARED
+  ${Interface_LIB_SOURCES_C}
+  ${Interface_LIB_SOURCES_CPP}
+  ${Interface_LIB_SOURCES_CXX}
+  ${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/${LIBRARY_NAME}_Export.h
+  STATIC_DEFINE ${LIBRARY_NAME}_BUILT_AS_STATIC
+  )
+TARGET_LINK_LIBRARIES(
+  ${LIBRARY_NAME}
+  ${ITK_LIBRARIES}
+  ${VTK_LIBRARIES}
+  cpPlugins_Pluma
+  )
+
+## ========================
+## -- Installation rules --
+## ========================
+
+INSTALL(
+  TARGETS ${LIBRARY_NAME}
+  RUNTIME DESTINATION bin
+  LIBRARY DESTINATION lib
+  ARCHIVE DESTINATION lib/static
+  )
+
+SET(
+  local_install_dirs
   Interface
-  Plugins
   )
+FOREACH(dir ${local_install_dirs})
+  INSTALL(
+    DIRECTORY ${dir}
+    DESTINATION include/cpPlugins/Interface
+    FILES_MATCHING PATTERN "*.h"
+    )
+  INSTALL(
+    DIRECTORY ${dir}
+    DESTINATION include/cpPlugins/Interface
+    FILES_MATCHING PATTERN "*.hxx"
+    )
+  INSTALL(
+    DIRECTORY ${dir}
+    DESTINATION include/cpPlugins/Interface
+    FILES_MATCHING PATTERN "*.hpp"
+    )
+ENDFOREACH(dir)
+
+INSTALL(
+  FILES
+  ${PROJECT_BINARY_DIR}/lib/cpPlugins/Interface/${LIBRARY_NAME}_Export.h
+  DESTINATION include/cpPlugins/Interface
+  )
+
 
 ## eof - $RCSfile$