]> Creatis software - cpPlugins.git/blobdiff - cmake/cpPluginsConfig.cmake.in
...
[cpPlugins.git] / cmake / cpPluginsConfig.cmake.in
index e7ae468322fcd699e3d926e8f25de3a3e4bdf202..8937069f925e08c477716ac8399a9ed4016343da 100644 (file)
-FIND_PATH(
-  cpPlugins_INCLUDE_DIR1
-  cpPlugins/Interface/Interface.h
-  PATHS
-  /usr/include
-  /usr/local/include
-  @PROJECT_SOURCE_DIR@/lib
-  @PROJECT_BINARY_DIR@/lib
-  @CMAKE_INSTALL_PREFIX@/include
-  )
+# ===================================
+# -- Some configurations variables --
+# ===================================
 
-FIND_PATH(
-  cpPlugins_INCLUDE_DIR2
-  cpPlugins/Interface/cpPlugins_Interface_Export.h
-  PATHS
-  /usr/include
-  /usr/local/include
-  @PROJECT_SOURCE_DIR@/lib
-  @PROJECT_BINARY_DIR@/lib
-  @CMAKE_INSTALL_PREFIX@/include
-  )
+SET(USE_QT4 "@QT4_FOUND@")
 
-FIND_PATH(
-  cpPlugins_INCLUDE_DIR3
-  Pluma/Pluma.hpp
-  PATHS
-  /usr/include
-  /usr/local/include
-  @PROJECT_SOURCE_DIR@/lib/third_party
-  @PROJECT_BINARY_DIR@/lib/third_party
-  @CMAKE_INSTALL_PREFIX@/include
-  )
+# =======================
+# -- Find dependencies --
+# =======================
+
+# Find ITK and VTK
+SET(ITK_DIR @ITK_DIR@)
+FIND_PACKAGE(ITK REQUIRED)
+INCLUDE(${ITK_USE_FILE})
+
+SET(VTK_DIR @VTK_DIR@)
+FIND_PACKAGE(VTK REQUIRED)
+INCLUDE(${VTK_USE_FILE})
+
+# Do not use itk-vtk glue --> problems ahead!!!
+IF(ITKVtkGlue_LOADED)
+  MESSAGE(FATAL_ERROR "ITKVtkGlue module is available. Please re-compile your ITK without it. It could lead to nasty compilation problems... Just waiting for Kitware to solve it.")
+ENDIF(ITKVtkGlue_LOADED)
+
+IF(USE_QT4 EQUAL "1")
+  SET(QT_QMAKE_EXECUTABLE @QT_QMAKE_EXECUTABLE@)
+  FIND_PACKAGE(Qt4 REQUIRED)
+  INCLUDE(${QT_USE_FILE})
 
-FIND_PATH(
-  cpPlugins_INCLUDE_DIR4
-  Pluma/cpPlugins_Pluma_Export.h
-  PATHS
-  /usr/include
-  /usr/local/include
+  ## Check for required vtk-qt4 modules
+  SET(
+    vtk_required_modules
+    vtkGUISupportQt
+    vtkGUISupportQtOpenGL
+    )
+  FOREACH(vtk_module ${vtk_required_modules})
+    IF(NOT ${vtk_module}_LOADED)
+      MESSAGE(
+        FATAL_ERROR
+        "${vtk_module} module is required but not available."
+        )
+    ENDIF(NOT ${vtk_module}_LOADED)
+  ENDFOREACH(vtk_module)
+ENDIF(USE_QT4 EQUAL "1")
+
+
+# =========================
+# -- Include directories --
+# =========================
+
+INCLUDE_DIRECTORIES(
+  @PROJECT_SOURCE_DIR@/lib
   @PROJECT_SOURCE_DIR@/lib/third_party
+  @PROJECT_SOURCE_DIR@/lib/ItkVtkGlue
+  @PROJECT_BINARY_DIR@/lib
   @PROJECT_BINARY_DIR@/lib/third_party
+  @PROJECT_BINARY_DIR@/lib/ItkVtkGlue
   @CMAKE_INSTALL_PREFIX@/include
+  @CMAKE_INSTALL_PREFIX@/include/third_party
+  @CMAKE_INSTALL_PREFIX@/include/ItkVtkGlue
   )
 
-INCLUDE_DIRECTORIES(
-  ${cpPlugins_INCLUDE_DIR1}
-  ${cpPlugins_INCLUDE_DIR2}
-  ${cpPlugins_INCLUDE_DIR3}
-  ${cpPlugins_INCLUDE_DIR4}
-  )
+# =========================
+# -- Library directories --
+# =========================
 
-FIND_LIBRARY(
-  cpPlugins_Interface_LIBRARY_NAME
-  cpPlugins_Interface
-  PATHS
-  /usr/lib
-  /usr/local/lib
-  @PROJECT_BINARY_DIR@
-  @CMAKE_INSTALL_PREFIX@/lib
-  )
+IF(MSVC)
+  LINK_DIRECTORIES(
+    @PROJECT_BINARY_DIR@/$(ConfigurationName)
+    @CMAKE_INSTALL_PREFIX@/bin
+    @CMAKE_INSTALL_PREFIX@/lib
+    )
+ELSE(MSVC)
+  LINK_DIRECTORIES(
+    @PROJECT_BINARY_DIR@
+    @CMAKE_INSTALL_PREFIX@/bin
+    @CMAKE_INSTALL_PREFIX@/lib
+    )
+ENDIF(MSVC)
 
-FIND_LIBRARY(
-  cpPlugins_Extensions_LIBRARY_NAME
-  cpPlugins_Extensions
-  PATHS
-  /usr/lib
-  /usr/local/lib
-  @PROJECT_BINARY_DIR@
-  @CMAKE_INSTALL_PREFIX@/lib
-  )
+# ===================
+# -- Library names --
+# ===================
 
-FIND_LIBRARY(
-  cpPlugins_LIBRARY_NAME
-  cpPlugins
-  PATHS
-  /usr/lib
-  /usr/local/lib
-  @PROJECT_BINARY_DIR@
-  @CMAKE_INSTALL_PREFIX@/lib
-  )
+SET(cpExtensions_LIBRARY cpExtensions)
+SET(cpPlugins_tinyxml2_LIBRARY cpPlugins_tinyxml2)
+SET(cpPlugins_LIBRARY cpPlugins)
+SET(cpPipelineEditor_LIBRARY cpPipelineEditor)
 
-SET(
-  cpPlugins_Interface_INCLUDE_DIRS
-  ${cpPlugins_INCLUDE_DIR1}
-  ${cpPlugins_INCLUDE_DIR2}
-  ${cpPlugins_INCLUDE_DIR2}
-  )
-SET(
-  cpPlugins_Interface_LIBRARIES
-  ${cpPlugins_Interface_LIBRARY_NAME}
-  ${cpPlugins_Extensions_LIBRARY_NAME}
-  )
-SET(
-  cpPlugins_LIBRARIES
-  ${cpPlugins_LIBRARY_NAME}
-  )
+# ======================
+# -- Executable names --
+# ======================
+
+IF(MSVC)
+  FIND_PROGRAM(
+    cpPlugins_HostCreator_APP
+    NAMES cpPlugins_HostCreator
+    HINTS /usr /usr/local
+    PATHS @CMAKE_INSTALL_PREFIX@/bin @PROJECT_BINARY_DIR@/Debug @PROJECT_BINARY_DIR@/Release @PROJECT_BINARY_DIR@/MinSizeRel @PROJECT_BINARY_DIR@/RelWithDebInfo
+    PATH_SUFFIXES bin sbin
+    DOC "Where is cpPlugins_HostCreator?"
+    )
+ELSE(MSVC)
+  FIND_PROGRAM(
+    cpPlugins_HostCreator_APP
+    NAMES cpPlugins_HostCreator
+    HINTS /usr /usr/local
+    PATHS @CMAKE_INSTALL_PREFIX@/bin @PROJECT_BINARY_DIR@
+    PATH_SUFFIXES bin sbin
+    DOC "Where is cpPlugins_HostCreator?"
+    )
+ENDIF(MSVC)
 
 ## eof - $RCSfile$