]> Creatis software - cpPlugins.git/blobdiff - lib/cpExtensions/CMakeLists.txt
Machete filter example added
[cpPlugins.git] / lib / cpExtensions / CMakeLists.txt
index 8819756bfda67e484662e5532894dd6c76e36b86..fd4cab7970a9e2caf0c51e7b262b9e5a5477060d 100644 (file)
@@ -1,43 +1,88 @@
 SET(LIBRARY_NAME cpExtensions)
 
+CONFIGURE_FILE(
+  Config.h.in
+  ${PROJECT_BINARY_DIR}/lib/cpExtensions/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   "")
+SET(LIB_HEADERS_HPP "")
+SET(LIB_HEADERS_HXX "")
+SET(LIB_SOURCES_C   "")
+SET(LIB_SOURCES_CPP "")
+SET(LIB_SOURCES_CXX "")
+
+SET(
+  lib_DIRECTORIES
+  .
+  DataStructures
+  Algorithms
+  IO
+  Interaction
+  Visualization
+  )
+FOREACH(dir ${lib_DIRECTORIES})
+  FILE(GLOB dir_LIB_HEADERS_H   "${dir}/*.h")
+  FILE(GLOB dir_LIB_HEADERS_HPP "${dir}/*.hpp")
+  FILE(GLOB dir_LIB_HEADERS_HXX "${dir}/*.hxx")
+  FILE(GLOB dir_LIB_SOURCES_C   "${dir}/*.c")
+  FILE(GLOB dir_LIB_SOURCES_CPP "${dir}/*.cpp")
+  FILE(GLOB dir_LIB_SOURCES_CXX "${dir}/*.cxx")
+
+  SET(LIB_HEADERS_H   "${LIB_HEADERS_H};${dir_LIB_HEADERS_H}")
+  SET(LIB_HEADERS_HPP "${LIB_HEADERS_HPP};${dir_LIB_HEADERS_HPP}")
+  SET(LIB_HEADERS_HXX "${LIB_HEADERS_HXX};${dir_LIB_HEADERS_HXX}")
+  SET(LIB_SOURCES_C   "${LIB_SOURCES_C};${dir_LIB_SOURCES_C}")
+  SET(LIB_SOURCES_CPP "${LIB_SOURCES_CPP};${dir_LIB_SOURCES_CPP}")
+  SET(LIB_SOURCES_CXX "${LIB_SOURCES_CXX};${dir_LIB_SOURCES_CXX}")
+
+  INSTALL(
+    DIRECTORY ${dir}
+    DESTINATION include/cpExtensions
+    FILES_MATCHING PATTERN "*.h"
+    )
+  INSTALL(
+    DIRECTORY ${dir}
+    DESTINATION include/cpExtensions
+    FILES_MATCHING PATTERN "*.hpp"
+    )
+  INSTALL(
+    DIRECTORY ${dir}
+    DESTINATION include/cpExtensions
+    FILES_MATCHING PATTERN "*.hxx"
+    )
+ENDFOREACH(dir)
 
-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")
+IF(USE_QT4)
+  FILE(GLOB LIB_QT_UI "QT/*.ui")
+  FILE(GLOB LIB_QT_Headers "QT/*.h")
+  FILE(GLOB LIB_QT_Sources "QT/*.cxx")
+  FILE(GLOB LIB_QT_Resources "QT/*.rc")
 
-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")
+  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})
 
-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")
+  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)
 
-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 =
@@ -49,18 +94,6 @@ ADD_LIBRARY(
   ${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}
@@ -71,6 +104,7 @@ GENERATE_EXPORT_HEADER(
   )
 TARGET_LINK_LIBRARIES(
   ${LIBRARY_NAME}
+  ${QT_LIBRARIES}
   ${ITK_LIBRARIES}
   ${VTK_LIBRARIES}
   )
@@ -85,31 +119,6 @@ INSTALL(
   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/cpExtensions
-    FILES_MATCHING PATTERN "*.h"
-    )
-  INSTALL(
-    DIRECTORY ${dir}
-    DESTINATION include/cpExtensions
-    FILES_MATCHING PATTERN "*.hxx"
-    )
-  INSTALL(
-    DIRECTORY ${dir}
-    DESTINATION include/cpExtensions
-    FILES_MATCHING PATTERN "*.hpp"
-    )
-ENDFOREACH(dir)
-
 INSTALL(
   FILES
   ${PROJECT_BINARY_DIR}/lib/cpExtensions/${LIBRARY_NAME}_Export.h