]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/Interface/CMakeLists.txt
...
[cpPlugins.git] / lib / cpPlugins / Interface / CMakeLists.txt
index 8daa76187f004bd534242d6f0cbb34b7d4c1e396..6d73928e24f27ea70b172cc1029df327c70674f9 100644 (file)
 SET(LIBRARY_NAME cpPlugins_Interface)
 
+CONFIGURE_FILE(
+  Config.h.in
+  ${PROJECT_BINARY_DIR}/lib/cpPlugins/Interface/Config.h
+  @ONLY
+  )
+
 ## ===============
 ## = Source code =
 ## ===============
 
-FILE(GLOB LIB_HEADERS_H   "*.h")
-FILE(GLOB LIB_HEADERS_HPP "*.hpp")
-FILE(GLOB LIB_HEADERS_HXX "*.hxx")
-FILE(GLOB LIB_SOURCES_C   "*.c")
-FILE(GLOB LIB_SOURCES_CPP "*.cpp")
-FILE(GLOB LIB_SOURCES_CXX "*.cxx")
+SET(
+  LIB_HEADERS_H
+  BaseProcessObjects.h
+  DataObject.h
+  Image.h
+  Interface.h
+  Macros.h
+  Mesh.h
+  Object.h
+  Parameters.h
+  ProcessObject.h
+  )
+
+SET(
+  LIB_HEADERS_HPP
+  )
+
+SET(
+  LIB_HEADERS_HXX
+  Image.hxx
+  Mesh.hxx
+  Parameters.hxx
+  ProcessObject.hxx
+  )
+
+SET(
+  LIB_SOURCES_C
+  )
+SET(
+  LIB_SOURCES_CPP
+  )
+
+SET(
+  LIB_SOURCES_CXX
+  BaseProcessObjects.cxx
+  DataObject.cxx
+  Image.cxx
+  Instances_itkImage.cxx
+  Instances_itkMesh.cxx
+  Interface.cxx
+  Mesh.cxx
+  Object.cxx
+  Parameters.cxx
+  ProcessObject.cxx
+  )
+
+IF(USE_QT4)
+  SET(
+    LIB_HEADERS_H
+    ${LIB_HEADERS_H}
+    ParametersQtDialog.h
+    )
+  SET(
+    LIB_SOURCES_CXX
+    ${LIB_SOURCES_CXX}
+    ParametersQtDialog.cxx
+    )
+
+  SET(
+    LIB_QT_UI
+    ParametersListWidget.ui
+    )
+  SET(
+    LIB_QT_Headers
+    ParametersListWidget.h
+    )
+  SET(
+    LIB_QT_Sources
+    ParametersListWidget.cxx
+    )
+  SET(
+    LIB_QT_Resources
+    )
+
+  QT4_WRAP_UI(LIB_QT_Wrapped_Headers ${LIB_QT_UI})
+  QT4_WRAP_CPP(LIB_QT_Wrapped_MOC_Sources ${LIB_QT_Headers})
+  QT4_ADD_RESOURCES(LIB_QT_Wrapped_Resources_Sources ${LIB_QT_Resources})
+
+  SET(
+    LIB_HEADERS_H
+    ${LIB_HEADERS_H}
+    ${LIB_QT_Wrapped_Headers}
+    )
+
+  SET(
+    LIB_SOURCES_CXX
+    ${LIB_SOURCES_CXX}
+    ${LIB_QT_Sources}
+    ${LIB_QT_Wrapped_Headers}
+    ${LIB_QT_Wrapped_MOC_Sources}
+    ${LIB_QT_Wrapped_Resources_Sources}
+    )
+
+ENDIF(USE_QT4)
 
 ## =====================
 ## = Compilation rules =
@@ -22,9 +116,50 @@ ADD_LIBRARY(
   ${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
+  ${QT_LIBRARIES}
+  ${ITK_LIBRARIES}
+  ${VTK_LIBRARIES}
+  )
+
+## ========================
+## -- Installation rules --
+## ========================
+
+INSTALL(
+  TARGETS ${LIBRARY_NAME}
+  RUNTIME DESTINATION bin
+  LIBRARY DESTINATION lib
+  ARCHIVE DESTINATION lib/static
+  )
+INSTALL(
+  DIRECTORY .
+  DESTINATION include/cpPlugins/Interface
+  FILES_MATCHING PATTERN "*.h"
+  )
+INSTALL(
+  DIRECTORY .
+  DESTINATION include/cpPlugins/Interface
+  FILES_MATCHING PATTERN "*.hxx"
+  )
+INSTALL(
+  DIRECTORY .
+  DESTINATION include/cpPlugins/Interface
+  FILES_MATCHING PATTERN "*.hpp"
+  )
+INSTALL(
+  FILES
+  ${PROJECT_BINARY_DIR}/lib/cpPlugins/Interface/${LIBRARY_NAME}_Export.h
+  DESTINATION include/cpPlugins/Interface
   )
 
 ## eof - $RCSfile$