From 97a5bf28491d7e831e8d39e10a99c01a74c04575 Mon Sep 17 00:00:00 2001 From: rnv Date: Thu, 10 Oct 2013 12:47:39 +0000 Subject: [PATCH] 1) Move SalomeGEOMConfig.cmake.in file to module root directory. 2) Move VTK cmake config file from GUI into KERNEL. --- CMakeLists.txt | 15 ++-- SalomeGEOMConfig.cmake.in | 155 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 160 insertions(+), 10 deletions(-) create mode 100644 SalomeGEOMConfig.cmake.in diff --git a/CMakeLists.txt b/CMakeLists.txt index 2721960e4..88e54272f 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -87,6 +87,8 @@ FIND_PACKAGE(SalomeOmniORB REQUIRED) FIND_PACKAGE(SalomeOmniORBPy REQUIRED) FIND_PACKAGE(SalomeLibXml2 REQUIRED) FIND_PACKAGE(SalomeHDF5 REQUIRED COMPONENTS C) +FIND_PACKAGE(SalomeCAS REQUIRED) +FIND_PACKAGE(SalomeVTK 6.0 REQUIRED) # Other KERNEL optionals: IF(SALOME_USE_MPI) @@ -131,19 +133,12 @@ IF(SALOME_BUILD_GUI) FIND_PACKAGE(SalomeOpenGL) SALOME_LOG_OPTIONAL_PACKAGE(OpenGL SALOME_USE_GLVIEWER) ENDIF() - IF(SALOME_USE_VTKVIEWER) - # Required components are listed in the FindSalomeVTK.cmake file: - FIND_PACKAGE(SalomeVTK 6.0) - SALOME_LOG_OPTIONAL_PACKAGE(VTK SALOME_USE_VTKVIEWER) - ENDIF() - ENDIF(SALOME_BUILD_GUI) ## ## GEOM specifics ## -FIND_PACKAGE(SalomeCAS REQUIRED) IF(SALOME_BUILD_GUI) # OpenCV @@ -229,13 +224,13 @@ INCLUDE(CMakePackageConfigHelpers) SET(_${PROJECT_NAME}_exposed_targets GEOMArchimede BREPExport BREPImport BlockFix GEOMbasic GEOMAlgo GEOMClient GEOMImpl GEOMUtils GEOMEngine GEOM_SupervEngine IGESExport IGESImport GEOMSketcher - SalomeIDLGEOM STEPExport STEPImport STLExport ShHealOper XAO AdvancedEngine + SalomeIDLGEOM STEPExport STEPImport STLExport ShHealOper XAO AdvancedEngine OCC2VTK VTKExport ) IF(SALOME_BUILD_GUI) LIST(APPEND _${PROJECT_NAME}_exposed_targets AdvancedGUI BasicGUI BlocksGUI BooleanGUI BuildGUI DisplayGUI DlgRef EntityGUI GEOMBase GEOMFiltersSelection GEOM GEOMToolsGUI GenerationGUI GroupGUI Material MeasureGUI GEOMObject - OCC2VTK VTKExport OperationGUI PrimitiveGUI RepairGUI TransformationGUI ImportExportGUI + OperationGUI PrimitiveGUI RepairGUI TransformationGUI ImportExportGUI ) ENDIF(SALOME_BUILD_GUI) @@ -258,7 +253,7 @@ SET(OPENCV_ROOT_DIR "${OPENCV_ROOT_DIR}") SET(GUI_ROOT_DIR "${GUI_ROOT_DIR}") SET(CONF_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/include" "${PROJECT_BINARY_DIR}/include") -CONFIGURE_PACKAGE_CONFIG_FILE(adm_local/cmake_files/${PROJECT_NAME}Config.cmake.in +CONFIGURE_PACKAGE_CONFIG_FILE(${PROJECT_NAME}Config.cmake.in ${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake INSTALL_DESTINATION "${SALOME_INSTALL_CMAKE_LOCAL}" PATH_VARS CONF_INCLUDE_DIRS SALOME_INSTALL_CMAKE_LOCAL CMAKE_INSTALL_PREFIX diff --git a/SalomeGEOMConfig.cmake.in b/SalomeGEOMConfig.cmake.in new file mode 100644 index 000000000..a0319f829 --- /dev/null +++ b/SalomeGEOMConfig.cmake.in @@ -0,0 +1,155 @@ +# - Config file for the @PROJECT_NAME@ package +# It defines the following variables. +# Specific to the pacakge @PROJECT_NAME@ itself: +# @PROJECT_NAME_UC@_ROOT_DIR_EXP - the root path of the installation providing this CMake file +# + +############################################################### +# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +# +# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or +# email : webmaster.salome@opencascade.com +############################################################### + +### Initialisation performed by CONFIGURE_PACKAGE_CONFIG_FILE: +@PACKAGE_INIT@ + +# 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 TARGET GEOMbasic AND NOT @PROJECT_NAME@_BINARY_DIR) + INCLUDE("@PACKAGE_SALOME_INSTALL_CMAKE_LOCAL@/@PROJECT_NAME@Targets.cmake") +ENDIF() + +# Package root dir: +SET_AND_CHECK(GEOM_ROOT_DIR_EXP "@PACKAGE_CMAKE_INSTALL_PREFIX@") + +# Include directories +SET_AND_CHECK(GEOM_INCLUDE_DIRS "${GEOM_ROOT_DIR_EXP}/@SALOME_INSTALL_HEADERS@") + +#### Now the specificities + +# Options exported by the package: +SET(SALOME_BUILD_DOC @SALOME_BUILD_DOC@) +SET(SALOME_BUILD_TESTS @SALOME_BUILD_TESTS@) + +# Advanced options +SET(SALOME_BUILD_GUI @SALOME_BUILD_GUI@) +SET(SALOME_GEOM_USE_OPENCV @SALOME_GEOM_USE_OPENCV@) + +# Level 1 prerequisites: +SET_AND_CHECK(KERNEL_ROOT_DIR_EXP "@PACKAGE_KERNEL_ROOT_DIR@") +SET_AND_CHECK(CAS_ROOT_DIR_EXP "@PACKAGE_CAS_ROOT_DIR@") + +# Optional level 1 prerequisites: +IF(SALOME_BUILD_GUI) + SET_AND_CHECK(GUI_ROOT_DIR_EXP "@PACKAGE_GUI_ROOT_DIR@") +ENDIF() +IF(SALOME_GEOM_USE_OPENCV) + SET_AND_CHECK(OPENCV_ROOT_DIR_EXP "@PACKAGE_OPENCV_ROOT_DIR@") +ENDIF() + +# 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 SalomeGUI OpenCV) +SET(_PREREQ_CONFIG_DIR "@CAS_DIR@" "@SalomeGUI_DIR@" "@OpenCV_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(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_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 if they were not already loaded: +IF(NOT (TARGET SALOMEBasics)) + INCLUDE("${KERNEL_ROOT_DIR_EXP}/${SALOME_INSTALL_CMAKE}/SalomeKERNELTargets.cmake") +ENDIF() + +# Exposed GEOM targets: +SET(GEOM_GEOMArchimede GEOMArchimede) +SET(GEOM_BREPExport BREPExport) +SET(GEOM_BREPImport BREPImport) +SET(GEOM_BlockFix BlockFix) +SET(GEOM_GEOMbasic GEOMbasic) +SET(GEOM_GEOMAlgo GEOMAlgo) +SET(GEOM_GEOMClient GEOMClient) +SET(GEOM_GEOMImpl GEOMImpl) +SET(GEOM_GEOMUtils GEOMUtils) +SET(GEOM_GEOMEngine GEOMEngine) +SET(GEOM_GEOM_SupervEngine GEOM_SupervEngine) +SET(GEOM_IGESExport IGESExport) +SET(GEOM_IGESImport IGESImport) +SET(GEOM_GEOMSketcher GEOMSketcher) +SET(GEOM_SalomeIDLGEOM SalomeIDLGEOM) +SET(GEOM_STEPExport STEPExport) +SET(GEOM_STEPImport STEPImport) +SET(GEOM_STLExport STLExport) +SET(GEOM_ShHealOper ShHealOper) +SET(GEOM_XAO XAO) +SET(GEOM_AdvancedEngine AdvancedEngine) +SET(GEOM_AdvancedGUI AdvancedGUI) +SET(GEOM_BasicGUI BasicGUI) +SET(GEOM_BlocksGUI BlocksGUI) +SET(GEOM_BooleanGUI BooleanGUI) +SET(GEOM_BuildGUI BuildGUI) +SET(GEOM_DisplayGUI DisplayGUI) +SET(GEOM_DlgRef DlgRef) +SET(GEOM_EntityGUI EntityGUI) +SET(GEOM_GEOMBase GEOMBase) +SET(GEOM_GEOMFiltersSelection GEOMFiltersSelection) +SET(GEOM_GEOM GEOM) +SET(GEOM_GEOMToolsGUI GEOMToolsGUI) +SET(GEOM_GenerationGUI GenerationGUI) +SET(GEOM_GroupGUI GroupGUI) +SET(GEOM_Material Material) +SET(GEOM_MeasureGUI MeasureGUI) +SET(GEOM_GEOMObject GEOMObject) +SET(GEOM_OCC2VTK OCC2VTK) +SET(GEOM_VTKExport VTKExport) +SET(GEOM_OperationGUI OperationGUI) +SET(GEOM_PrimitiveGUI PrimitiveGUI) +SET(GEOM_RepairGUI RepairGUI) +SET(GEOM_TransformationGUI TransformationGUI) +SET(GEOM_ImportExportGUI ImportExportGUI) +SET(GEOM_GEOMShapeRec GEOMShapeRec)