X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=adm_local%2Fcmake_files%2FSalomeGUIConfig.cmake.in;h=fc180ee266a2bed04fc56fa182b2b8ca25424407;hb=6f75b0c075ffb1dc9b36df5d9b000b3b9f18ac36;hp=3592fdbde9d753ec40b0111a785d7817f540779a;hpb=95d09d48a30f08befd46da420c02e9732891c743;p=modules%2Fgui.git diff --git a/adm_local/cmake_files/SalomeGUIConfig.cmake.in b/adm_local/cmake_files/SalomeGUIConfig.cmake.in index 3592fdbde..fc180ee26 100644 --- a/adm_local/cmake_files/SalomeGUIConfig.cmake.in +++ b/adm_local/cmake_files/SalomeGUIConfig.cmake.in @@ -34,13 +34,16 @@ # Load the dependencies for the libraries of @PROJECT_NAME@ # (contains definitions for IMPORTED targets). This is only # imported if we are not built as a subproject (in this case targets are already there) -IF(NOT Event AND NOT @PROJECT_NAME@_BINARY_DIR) +IF(NOT TARGET Event AND NOT @PROJECT_NAME@_BINARY_DIR) INCLUDE("@PACKAGE_SALOME_INSTALL_CMAKE@/@PROJECT_NAME@Targets.cmake") ENDIF() # Package root dir: SET_AND_CHECK(GUI_ROOT_DIR_EXP "@PACKAGE_CMAKE_INSTALL_PREFIX@") +# Include directories +SET_AND_CHECK(GUI_INCLUDE_DIRS "${GUI_ROOT_DIR_EXP}/@SALOME_INSTALL_HEADERS@") + #### Now the specificities # Options exported by the package: @@ -49,31 +52,75 @@ SET(SALOME_BUILD_DOC @SALOME_BUILD_DOC@) SET(SALOME_BUILD_TESTS @SALOME_BUILD_TESTS@) SET(SALOME_LIGHT_ONLY @SALOME_LIGHT_ONLY@) -# Prerequisites: +# Advanced options +SET(SALOME_USE_OCCVIEWER @SALOME_USE_OCCVIEWER@) +SET(SALOME_USE_GLVIEWER @SALOME_USE_GLVIEWER@) +SET(SALOME_USE_VTKVIEWER @SALOME_USE_VTKVIEWER@) +SET(SALOME_USE_PLOT2DVIEWER @SALOME_USE_PLOT2DVIEWER@) + +# Level 1 prerequisites: SET_AND_CHECK(KERNEL_ROOT_DIR_EXP "@PACKAGE_KERNEL_ROOT_DIR@") +SET_AND_CHECK(SIP_ROOT_DIR_EXP "@PACKAGE_SIP_ROOT_DIR@") +SET_AND_CHECK(QT4_ROOT_DIR_EXP "@PACKAGE_QT4_ROOT_DIR@") +SET_AND_CHECK(PYQT4_ROOT_DIR_EXP "@PACKAGE_PYQT4_ROOT_DIR@") + +# Optional level 1 prerequisites: +IF(SALOME_USE_OCCVIEWER) + SET_AND_CHECK(CAS_ROOT_DIR_EXP "@PACKAGE_CAS_ROOT_DIR@") +ENDIF() +IF(SALOME_USE_GLVIEWER) + SET_AND_CHECK(OPENGL_ROOT_DIR_EXP "@PACKAGE_OPENGL_ROOT_DIR@") +ENDIF() +IF(SALOME_USE_VTKVIEWER) + SET_AND_CHECK(VTK_ROOT_DIR_EXP "@PACKAGE_VTK_ROOT_DIR@") +ENDIF() +IF(SALOME_USE_PLOT2DVIEWER) + SET_AND_CHECK(QWT_ROOT_DIR_EXP "@PACKAGE_QWT_ROOT_DIR@") +ENDIF() -SET_AND_CHECK(SWIG_ROOT_DIR_EXP "@PACKAGE_SWIG_ROOT_DIR@") +# For all prerequisites, load the corresponding targets if the package was used +# in CONFIG mode. This ensures dependent projects link correctly +# without having to set LD_LIBRARY_PATH: +SET(_PREREQ CAS OpenGL PyQt4 Qt4 Qwt SIP VTK) +SET(_PREREQ_CONFIG_DIR "@CAS_DIR@" "@OpenGL_DIR@" "@PyQt4_DIR@" "@Qt4_DIR@" "@Qwt_DIR@" "@SIP_DIR@" "@VTK_DIR@") +LIST(LENGTH _PREREQ_CONFIG_DIR _list_len) +# Another CMake stupidity - FOREACH(... RANGE r) generates r+1 numbers ... +MATH(EXPR _range "${_list_len}-1") +FOREACH(_p RANGE ${_range}) + LIST(GET _PREREQ ${_p} _pkg ) + LIST(GET _PREREQ_CONFIG_DIR ${_p} _pkg_dir) + IF(_pkg_dir) + MESSAGE(STATUS "===> Reloading targets from ${_pkg} ...") + FIND_PACKAGE(${_pkg} REQUIRED NO_MODULE + PATHS "${_pkg_dir}" + NO_DEFAULT_PATH) + ENDIF() +ENDFOREACH() # Installation directories -SET_AND_CHECK(SALOME_INSTALL_BINS "@SALOME_INSTALL_BINS@") -SET_AND_CHECK(SALOME_INSTALL_LIBS "@SALOME_INSTALL_LIBS@") -SET_AND_CHECK(SALOME_INSTALL_IDLS "@SALOME_INSTALL_IDLS@") -SET_AND_CHECK(SALOME_INSTALL_HEADERS "@SALOME_INSTALL_HEADERS@") -SET_AND_CHECK(SALOME_INSTALL_SCRIPT_SCRIPTS "@SALOME_INSTALL_SCRIPT_SCRIPTS@") -SET_AND_CHECK(SALOME_INSTALL_SCRIPT_DATA "@SALOME_INSTALL_SCRIPT_DATA@") -SET_AND_CHECK(SALOME_INSTALL_SCRIPT_PYTHON "@SALOME_INSTALL_SCRIPT_PYTHON@") -SET_AND_CHECK(SALOME_INSTALL_APPLISKEL_SCRIPTS "@SALOME_INSTALL_APPLISKEL_SCRIPTS@") -SET_AND_CHECK(SALOME_INSTALL_APPLISKEL_PYTHON "@SALOME_INSTALL_APPLISKEL_PYTHON@") -SET_AND_CHECK(SALOME_INSTALL_CMAKE "@SALOME_INSTALL_CMAKE@") -SET_AND_CHECK(SALOME_INSTALL_CMAKE_LOCAL "@SALOME_INSTALL_CMAKE_LOCAL@") -SET_AND_CHECK(SALOME_INSTALL_PYTHON "@SALOME_INSTALL_PYTHON@") -SET_AND_CHECK(SALOME_INSTALL_PYTHON_SHARED "@SALOME_INSTALL_PYTHON_SHARED@") -SET_AND_CHECK(SALOME_INSTALL_RES "@SALOME_INSTALL_RES@") +SET(SALOME_INSTALL_BINS "@SALOME_INSTALL_BINS@") +SET(SALOME_INSTALL_LIBS "@SALOME_INSTALL_LIBS@") +SET(SALOME_INSTALL_IDLS "@SALOME_INSTALL_IDLS@") +SET(SALOME_INSTALL_HEADERS "@SALOME_INSTALL_HEADERS@") +SET(SALOME_INSTALL_SCRIPT_SCRIPTS "@SALOME_INSTALL_SCRIPT_SCRIPTS@") +SET(SALOME_INSTALL_SCRIPT_DATA "@SALOME_INSTALL_SCRIPT_DATA@") +SET(SALOME_INSTALL_SCRIPT_PYTHON "@SALOME_INSTALL_SCRIPT_PYTHON@") +SET(SALOME_INSTALL_APPLISKEL_SCRIPTS "@SALOME_INSTALL_APPLISKEL_SCRIPTS@") +SET(SALOME_INSTALL_APPLISKEL_PYTHON "@SALOME_INSTALL_APPLISKEL_PYTHON@") +SET(SALOME_INSTALL_CMAKE "@SALOME_INSTALL_CMAKE@") +SET(SALOME_INSTALL_CMAKE_LOCAL "@SALOME_INSTALL_CMAKE_LOCAL@") +SET(SALOME_INSTALL_PYTHON "@SALOME_INSTALL_PYTHON@") +SET(SALOME_INSTALL_PYTHON_SHARED "@SALOME_INSTALL_PYTHON_SHARED@") +SET(SALOME_INSTALL_RES "@SALOME_INSTALL_RES@") +SET(SALOME_INSTALL_DOC "@SALOME_INSTALL_DOC@") +SET(SALOME_INSTALL_AMCONFIG_LOCAL "@SALOME_INSTALL_AMCONFIG_LOCAL@") -# Include KERNEL targets: -INCLUDE("${KERNEL_ROOT_DIR_EXP}/${SALOME_INSTALL_CMAKE}/SalomeKERNELTargets.cmake") +# Include KERNEL targets if they were not already loaded: +IF(NOT (TARGET SALOMEBasics)) + INCLUDE("${KERNEL_ROOT_DIR_EXP}/${SALOME_INSTALL_CMAKE}/SalomeKERNELTargets.cmake") +ENDIF() -# Exposed targets: +# Exposed GUI targets: SET(GUI_caf caf) SET(GUI_CAM CAM) SET(GUI_CASCatch CASCatch) @@ -92,7 +139,6 @@ SET(GUI_QDS QDS) SET(GUI_qtx qtx) SET(GUI_QxScene QxScene) SET(GUI_SalomeApp SalomeApp) -SET(GUI_SalomeAppTest SalomeAppTest) SET(GUI_SalomeIDLGUI SalomeIDLGUI) SET(GUI_SalomeObject SalomeObject) SET(GUI_SalomePrs SalomePrs) @@ -107,12 +153,11 @@ SET(GUI_SPlot2d SPlot2d) SET(GUI_std std) SET(GUI_SUITApp SUITApp) SET(GUI_suit suit) -SET(GUI_SUPERVGraph SUPERVGraph) SET(GUI_SVTK SVTK) SET(GUI_ToolsGUI ToolsGUI) SET(GUI_ViewerTools ViewerTools) SET(GUI_VTKViewer VTKViewer) -#SET(GUI_vtkEDFOverloads vtkEDFOverloads ${GUI_ROOT_DIR}/lib/paraview) +SET(GUI_vtkEDFOverloads vtkEDFOverloads) SET(GUI_vtkTools vtkTools) SET(GUI_SalomeGuiHelpers SalomeGuiHelpers) SET(GUI_SalomeTreeData SalomeTreeData)