]> Creatis software - cpPlugins.git/blobdiff - cmake/cpPluginsConfig.cmake.in
...
[cpPlugins.git] / cmake / cpPluginsConfig.cmake.in
index 6def2e7e05e4f6688dc88d44479716a62a997d75..0a65b42efeabb07bdecf7cfd486411f432caae69 100644 (file)
-## =================================
-## == Find installation directory ==
-## =================================
+## ================================
+## == Find cpPlugins-cmake tools ==
+## ================================
 
-FIND_FILE(
-  cpPlugins_Functions_cmake
-  NAMES cpPlugins_Functions.cmake
-  HINTS /usr/share/cmake /usr/local/share/cmake
-  PATHS @CMAKE_INSTALL_PREFIX@/share/cmake @PROJECT_SOURCE_DIR@/cmake
-  DOC "Where is \"cpPlugins_Functions.cmake\"?"
-  )
-IF(NOT cpPlugins_Functions_cmake)
-  MESSAGE(FATAL_ERROR "Where is \"cpPlugins_Functions.cmake\"?")
-ENDIF(NOT cpPlugins_Functions_cmake)
-INCLUDE(${cpPlugins_Functions_cmake})
+SET(ITK_DIR "@ITK_DIR@")
+SET(VTK_DIR "@VTK_DIR@")
+IF("@Qt4_FOUND@" STREQUAL "TRUE")
+  SET(BUILD_QT4_COMPONENTS ON)
+  SET(QT_QMAKE_EXECUTABLE "@QT_QMAKE_EXECUTABLE@")
+ENDIF("@Qt4_FOUND@" STREQUAL "TRUE")
 
-FIND_FILE(
-  cpPlugins_Options_cmake
-  NAMES cpPlugins_Options.cmake
-  HINTS /usr/share/cmake /usr/local/share/cmake
-  PATHS @CMAKE_INSTALL_PREFIX@/share/cmake @PROJECT_SOURCE_DIR@/cmake
-  DOC "Where is \"cpPlugins_Options.cmake\"?"
-  )
-IF(NOT cpPlugins_Options_cmake)
-  MESSAGE(FATAL_ERROR "Where is \"cpPlugins_Options.cmake\"?")
-ENDIF(NOT cpPlugins_Options_cmake)
-INCLUDE(${cpPlugins_Options_cmake})
+## ====================
+## == Find libraries ==
+## ====================
 
-## =========================
-## == Find base libraries ==
-## =========================
+SET(
+  cpPlugins_AllInstances
+  cpInstances_BaseObjects
+  cpInstances_Images
+  cpInstances_Geometries
+  cpInstances_Extensions
+  CACHE STRING "All instances from templated code"
+  )
+MARK_AS_ADVANCED(FORCE cpPlugins_AllInstances)
 
-SET(ITK_DIR @ITK_DIR@)
-SET(VTK_DIR @VTK_DIR@)
-FIND_PACKAGE(ITK REQUIRED)
-FIND_PACKAGE(VTK REQUIRED)
-INCLUDE(${ITK_USE_FILE})
-INCLUDE(${VTK_USE_FILE})
-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)
+SET(
+  _all_libs
+  cpExtensions
+  cpPlugins
+  cpPluginsDataObjects
+  )
+IF(USE_QT4)
+  LIST(APPEND _all_libs cpBaseQtApplication)
+  LIST(APPEND _all_libs cp_QCustomPlot)
+ENDIF(USE_QT4)
+SET(cpPlugins_Libraries ${_all_libs} CACHE STRING "cpPlugins base libraries")
+MARK_AS_ADVANCED(FORCE cpPlugins_Libraries)
 
-SET(USE_QT4 "@QT4_FOUND@")
-IF(USE_QT4 EQUAL "1")
-  SET(QT_QMAKE_EXECUTABLE @QT_QMAKE_EXECUTABLE@)
-  FIND_PACKAGE(Qt4 REQUIRED)
-  INCLUDE(${QT_USE_FILE})
-  SET(
-    _required_vtk_modules
-    vtkGUISupportQt
-    vtkGUISupportQtOpenGL
+SET(_all_libs ${cpPlugins_AllInstances} ${cpPlugins_Libraries})
+SET(_l_locations)
+FOREACH(_l ${_all_libs})
+  FIND_LIBRARY(
+    ${_l}_LIB NAMES ${_l}
+    PATHS
+    @PROJECT_BINARY_DIR@
+    @CMAKE_INSTALL_PREFIX@/bin
+    @CMAKE_INSTALL_PREFIX@/lib
+    ${_l_locations}
     )
-  FOREACH(_m ${_required_vtk_modules})
-    IF(NOT ${_m}_LOADED)
-      MESSAGE(FATAL_ERROR "${_m} module is required but not available.")
-      BREAK()
-    ENDIF(NOT ${_m}_LOADED)
-  ENDFOREACH(_m)
-  SET(QT4_FOUND "1")
-ENDIF(USE_QT4 EQUAL "1")
+  IF(${_l}_LIB)
+    MARK_AS_ADVANCED(FORCE ${_l}_LIB)
+    GET_FILENAME_COMPONENT(_dir ${${_l}_LIB} DIRECTORY)
+    LIST(APPEND _l_locations ${_dir})
+    LIST(REMOVE_DUPLICATES _l_locations)
+  ENDIF(${_l}_LIB)
+ENDFOREACH(_l)
+IF(_l_locations)
+  LINK_DIRECTORIES(${_l_locations})
+ENDIF(_l_locations)
 
-## =========================
-## == Include directories ==
-## =========================
+## ==============================
+## == Find include directories ==
+## ==============================
 
 ## TODO: this is not completely correct!!!
 INCLUDE_DIRECTORIES(
   @CMAKE_INSTALL_PREFIX@/include
-  @CMAKE_INSTALL_PREFIX@/include/cpPlugins/Itk2Vtk
-  @CMAKE_INSTALL_PREFIX@/include/cpPlugins/Instances
+  @CMAKE_INSTALL_PREFIX@/include/cpPlugins/cpInstances
   @PROJECT_SOURCE_DIR@
   @PROJECT_BINARY_DIR@
   @PROJECT_SOURCE_DIR@/lib
   @PROJECT_BINARY_DIR@/lib
-  @PROJECT_SOURCE_DIR@/lib/Itk2Vtk
-  @PROJECT_BINARY_DIR@/lib/Itk2Vtk
-  @PROJECT_SOURCE_DIR@/lib/Instances
-  @PROJECT_BINARY_DIR@/lib/Instances
+  @PROJECT_SOURCE_DIR@/lib/cpInstances
+  @PROJECT_BINARY_DIR@/lib/cpInstances
   )
 
-## ===================================
-## == Library names and directories ==
-## ===================================
+## ============================
+## == Find bash applications ==
+## ============================
 
-SET(cpPlugins_tinyxml2_LIB "@cpPlugins_tinyxml2_LIB@")
-SET(cpExtensions_LIB "@cpExtensions_LIB@")
-SET(cpPlugins_LIB "@cpPlugins_LIB@")
-SET(cpBaseQtApplication_LIB "@cpBaseQtApplication_LIB@")
-SET(cpPlugins_Instances "@cpPlugins_Instances@")
 SET(
-  _all_libs
-  ${cpPlugins_tinyxml2_LIB}
-  ${cpExtensions_LIB}
-  ${cpPlugins_LIB}
-  ${cpBaseQtApplication_LIB}
-  ${cpPlugins_Instances}
+  _exec_programs
+  "@cpPlugins_bash_CreateRealConfig_APP@"
+  "@cpPlugins_bash_CreateInstances_APP@"
+  "@cpPlugins_bash_CreateDemanglers_APP@"
+  "@cpPlugins_bash_CreatePlugins_APP@"
+  "@cpPlugins_bash_HostCreator_APP@"
   )
 
-SET(_l_locations)
-FOREACH(_l ${_all_libs})
-  SET(cpPlugins_library_location)
-  IF(MSVC)
-    FIND_LIBRARY(
-      cpPlugins_library_location_${_l} NAMES ${_l}
-      HINTS
-      @PROJECT_BINARY_DIR@/$(ConfigurationName)
-      @CMAKE_INSTALL_PREFIX@/bin
-      @CMAKE_INSTALL_PREFIX@/lib
-      )
-  ELSE(MSVC)
-    FIND_LIBRARY(
-      cpPlugins_library_location_${_l} NAMES ${_l}
-      HINTS
-      @PROJECT_BINARY_DIR@
-      @CMAKE_INSTALL_PREFIX@/bin
-      @CMAKE_INSTALL_PREFIX@/lib
-      )
-  ENDIF(MSVC)
-  MARK_AS_ADVANCED(FORCE cpPlugins_library_location_${_l})
-  IF(cpPlugins_library_location_${_l})
-    GET_FILENAME_COMPONENT(_dir ${cpPlugins_library_location_${_l}} DIRECTORY)
-    LIST(APPEND _l_locations ${_dir})
-  ENDIF(cpPlugins_library_location_${_l})
-ENDFOREACH(_l)
-IF(_l_locations)
-  LIST(REMOVE_DUPLICATES _l_locations)
-  LINK_DIRECTORIES(${_l_locations})
-ENDIF(_l_locations)
+SET(_b_locations)
+FOREACH(_p ${_exec_programs})
+  FIND_PROGRAM(
+    ${_p}_APP
+    NAMES ${_p}
+    HINTS /usr /usr/local
+    PATHS @CMAKE_INSTALL_PREFIX@/bin @PROJECT_BINARY_DIR@ ${_b_locations}
+    PATH_SUFFIXES bin sbin
+    DOC "Where is ${_prog}?"
+    )
+  IF(${_p}_APP)
+    MARK_AS_ADVANCED(FORCE ${_p}_APP)
+    GET_FILENAME_COMPONENT(_dir ${${_p}_APP} DIRECTORY)
+    LIST(APPEND _b_locations ${_dir})
+    LIST(REMOVE_DUPLICATES _b_locations)
+  ENDIF(${_p}_APP)
+ENDFOREACH(_p)
 
-## ======================
-## == Executable names ==
-## ======================
+## ==========================
+## == Configuration values ==
+## ==========================
 
-SET(
-  _exec_programs
-  @cpPlugins_CreateInstances_APP@
-  @cpPlugins_HostCreator_APP@
-  @cpPlugins_ExecuteWorkspace_APP@
-  )
+SET(cpPlugins_NUMBER_OF_FILES "@cpPlugins_NUMBER_OF_FILES@" CACHE STRING "Internal")
+SET(cpPlugins_PROCESS_DIMS "@cpPlugins_PROCESS_DIMS@" CACHE STRING "Internal")
+SET(cpPlugins_VISUAL_DIMS "@cpPlugins_VISUAL_DIMS@" CACHE STRING "Internal")
 
-FOREACH(prog ${_exec_programs})
-  IF(MSVC)
-    FIND_PROGRAM(
-      ${prog}_APP
-      NAMES ${prog}
-      HINTS /usr /usr/local
-      PATHS @CMAKE_INSTALL_PREFIX@/bin @PROJECT_BINARY_DIR@/$(ConfigurationName)
-      PATH_SUFFIXES bin sbin
-      DOC "Where is ${prog}?"
-      )
-  ELSE(MSVC)
-    FIND_PROGRAM(
-      ${prog}_APP
-      NAMES ${prog}
-      HINTS /usr /usr/local
-      PATHS @CMAKE_INSTALL_PREFIX@/bin @PROJECT_BINARY_DIR@
-      PATH_SUFFIXES bin sbin
-      DOC "Where is ${prog}?"
-      )
-  ENDIF(MSVC)
-ENDFOREACH(prog)
+MARK_AS_ADVANCED(FORCE cpPlugins_NUMBER_OF_FILES)
+MARK_AS_ADVANCED(FORCE cpPlugins_PROCESS_DIMS)
+MARK_AS_ADVANCED(FORCE cpPlugins_VISUAL_DIMS)
 
-# ## eof - $RCSfile$
+## eof - $RCSfile$