]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/CMakeLists.txt
...
[cpPlugins.git] / lib / cpPlugins / CMakeLists.txt
index fe78cf1d311775322eb91a1d7333a091aeba83b7..bb3bdb9f2bff1f12d4dcbe9ff5179dd23a0f9bb4 100644 (file)
@@ -1,6 +1,149 @@
-SUBDIRS(
-  Interface
-  Plugins
+## =============================
+## = 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 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
+    ActorAxesProperties.ui
+    ActorImageProperties.ui
+    ActorPolyDataProperties.ui
+    )
+  SET(
+    lib_QT_Headers
+    ActorProperties.h
+    ActorAxesProperties.h
+    ActorImageProperties.h
+    ActorPolyDataProperties.h
+    ActorPropertiesQtDialog.h
+    ParametersQtDialog.h
+    )
+  SET(
+    lib_QT_Sources
+    ActorProperties.cxx
+    ActorAxesProperties.cxx
+    ActorImageProperties.cxx
+    ActorPolyDataProperties.cxx
+    ActorPropertiesQtDialog.cxx
+    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_SOURCES
+  ${lib_SOURCES_C}
+  ${lib_SOURCES_CPP}
+  ${lib_SOURCES_CXX}
+  )
+
+SET(
+  target_LIBRARIES
+  ${ITK_LIBRARIES}
+  ${VTK_LIBRARIES}
+  cpExtensions
+  cpPlugins_tinyxml2
+  ${cpPlugins_LIBRARIES}
+  )
+IF(NOT WIN32)
+  SET(
+    target_LIBRARIES
+    ${target_LIBRARIES}
+    dl
+    )
+ENDIF(NOT WIN32)
+
+## =====================
+## = Compilation rules =
+## =====================
+
+ADD_LIBRARY(${lib_NAME} SHARED  ${lib_SOURCES})
+SET_TARGET_PROPERTIES(
+  ${lib_NAME} PROPERTIES
+  VERSION "${prj_VER}"
+  SOVERSION "${prj_sVER}"
+  )
+ADD_DEPENDENCIES(${lib_NAME} ${cpPlugins_LIBRARIES})
+GENERATE_EXPORT_HEADER(
+  ${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 ==
+## ========================
+
+INSTALL(
+  TARGETS ${lib_NAME}
+  RUNTIME DESTINATION bin
+  LIBRARY DESTINATION lib
+  ARCHIVE DESTINATION lib/static
+  )
+INSTALL(
+  FILES
+  ${lib_HEADERS}
+  DESTINATION include/${lib_DIR}
   )
 
 ## eof - $RCSfile$