]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/CMakeLists.txt
...
[cpPlugins.git] / lib / cpPlugins / CMakeLists.txt
index 89f1e3ceda0473ac4826b9e7f7521873a7b0891b..abf5082506d591b2fa37e626b19186b4a04df673 100644 (file)
-SET(LIBRARY_NAME cpPlugins)
+## =============================
+## = Set names and directories =
+## =============================
+
+SET(lib_NAME cpPlugins)
+SET(lib_DIR  cpPlugins)
+
+## =========================
+## = Configure local files =
+## =========================
+
+CONFIGURE_FILE(
+  Config.h.in
+  ${PROJECT_BINARY_DIR}/lib/${lib_DIR}/Config.h
+  @ONLY
+  )
 
 ## ===============
 ## = 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")
+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")
+
+IF(USE_QT4)
+  SET(
+    lib_QT_UI
+    )
+  SET(
+    lib_QT_Headers
+    ParametersQtDialog.h
+    )
+  SET(
+    lib_QT_Sources
+    ParametersQtDialog.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)
+
+# ===================================
+# = Integrate all source file names =
+# ===================================
+
+SET(
+  lib_HEADERS
+  ${lib_HEADERS_H}
+  ${lib_HEADERS_HPP}
+  ${lib_HEADERS_HXX}
+  )
 
 SET(
-  LIB_HEADERS_H
-  Plugins/ImageReader.h
-  Plugins/ImageWriter.h
-  Plugins/MeshReader.h
-  Plugins/MeshWriter.h
-  Plugins/MarchingCubes.h
-  Plugins/OtsuThresholdImageFilter.h
+  lib_SOURCES
+  ${lib_SOURCES_C}
+  ${lib_SOURCES_CPP}
+  ${lib_SOURCES_CXX}
   )
+
 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
+  target_LIBRARIES
+  ${cpPlugins_LIBRARIES}
+  cpPlugins_tinyxml2
   )
+IF(NOT WIN32)
+  SET(
+    target_LIBRARIES
+    ${target_LIBRARIES}
+    dl
+    )
+ENDIF(NOT WIN32)
 
 ## =====================
 ## = 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}
+ADD_LIBRARY(${lib_NAME} SHARED  ${lib_SOURCES})
+SET_TARGET_PROPERTIES(
+  ${lib_NAME} PROPERTIES
+  VERSION "${prj_VER}"
+  SOVERSION "${prj_sVER}"
   )
 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
+  ${lib_NAME}
+  BASE_NAME ${lib_NAME}
+  EXPORT_MACRO_NAME ${lib_NAME}_EXPORT
+  EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/lib/${lib_DIR}/${lib_NAME}_Export.h
+  STATIC_DEFINE ${lib_NAME}_BUILT_AS_STATIC
   )
+TARGET_LINK_LIBRARIES(${lib_NAME} ${target_LIBRARIES})
 
 ## ========================
-## -- Installation rules --
+## == Installation rules ==
 ## ========================
 
 INSTALL(
-  TARGETS ${LIBRARY_NAME}
+  TARGETS ${lib_NAME}
   RUNTIME DESTINATION bin
   LIBRARY DESTINATION lib
   ARCHIVE DESTINATION lib/static
   )
-
-SET(
-  local_install_dirs
-  Interface
-  )
-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
+  ${lib_HEADERS}
+  DESTINATION include/${lib_DIR}
   )
 
-
 ## eof - $RCSfile$