X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=CMakeLists.txt;h=ec1e51cf1cdb1aff8bbb962e48b3bc3ee4ee7179;hb=260a0a8dd022cc5ee68f243375a69d7df25c1468;hp=68c9faaa1de38d53c251ab7858587d969be6cd5f;hpb=5d11e3a862d14a3bae1511d1e527e4e873756cde;p=modules%2Fyacs.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 68c9faaa1..ec1e51cf1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,6 +17,8 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8 FATAL_ERROR) +INCLUDE(CMakeDependentOption) + PROJECT(SalomeYACS C CXX) # Ensure a proper linker behavior: @@ -60,7 +62,7 @@ IF(SALOME_BUILD_GUI) SET(GUI_ROOT_DIR $ENV{GUI_ROOT_DIR} CACHE PATH "Path to the Salome GUI") IF(EXISTS ${GUI_ROOT_DIR}) LIST(APPEND CMAKE_MODULE_PATH "${GUI_ROOT_DIR}/adm_local/cmake_files") - FIND_PACKAGE(SalomeGUI REQUIRED) + FIND_PACKAGE(SalomeGUI) ELSE(EXISTS ${GUI_ROOT_DIR}) MESSAGE(FATAL_ERROR "We absolutely need a Salome GUI, please define GUI_ROOT_DIR or turn option SALOME_BUILD_GUI to OFF !") ENDIF(EXISTS ${GUI_ROOT_DIR}) @@ -79,17 +81,13 @@ LIST(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/adm/cmake") # ============ # (some options may have already been defined in KERNEL) ADD_DEFINITIONS(-DCMAKE_BUILD) -IF( SALOME_YACS_USE_KERNEL ) - OPTION(SALOME_BUILD_DOC "Generate SALOME YACS documentation" ${SALOME_BUILD_DOC}) - OPTION(SALOME_BUILD_TESTS "Build SALOME YACS tests" ${SALOME_BUILD_TESTS}) -ELSE( SALOME_YACS_USE_KERNEL ) - OPTION(SALOME_BUILD_DOC "Generate SALOME YACS documentation" ON) - OPTION(SALOME_BUILD_TESTS "Build SALOME YACS tests" ON) -ENDIF( SALOME_YACS_USE_KERNEL ) +OPTION(SALOME_BUILD_DOC "Generate SALOME YACS documentation" ON) +OPTION(SALOME_BUILD_TESTS "Build SALOME YACS tests" ON) OPTION(SALOME_YACS_USE_SWIG "Enable Python wrapper" ON) OPTION(SALOME_YACS_USE_DSC "Use DSC KERNEL extension" ON) -OPTION(SALOME_YACS_USE_QSCINTILLA "Use QScintilla" ON) +CMAKE_DEPENDENT_OPTION(SALOME_YACS_USE_QSCINTILLA "Use QScintilla" ON + "SALOME_BUILD_GUI" OFF) # Advanced options: IF(SALOME_YACS_USE_KERNEL AND SALOME_YACS_USE_DSC) @@ -122,24 +120,24 @@ FIND_PACKAGE(SalomeGraphviz REQUIRED) # Optional products: IF(SALOME_YACS_USE_SWIG) - FIND_PACKAGE(SalomeSWIG REQUIRED) + FIND_PACKAGE(SalomeSWIG) SALOME_LOG_OPTIONAL_PACKAGE(SWIG SALOME_YACS_USE_SWIG) # ADD_DEFINITIONS(-DSWIG) ENDIF() IF(SALOME_BUILD_TESTS) ENABLE_TESTING() - FIND_PACKAGE(SalomeCppUnit REQUIRED) + FIND_PACKAGE(SalomeCppUnit) SALOME_LOG_OPTIONAL_PACKAGE(CppUnit SALOME_BUILD_TESTS) ENDIF() IF(SALOME_BUILD_DOC) IF(SALOME_USE_MPI) - FIND_PACKAGE(SalomeMPI REQUIRED) # needed for doc generation by Sphinx + FIND_PACKAGE(SalomeMPI) # needed for doc generation by Sphinx SALOME_LOG_OPTIONAL_PACKAGE(MPI SALOME_BUILD_DOC) ENDIF() - FIND_PACKAGE(SalomeDoxygen REQUIRED) - FIND_PACKAGE(SalomeSphinx REQUIRED) + FIND_PACKAGE(SalomeDoxygen) + FIND_PACKAGE(SalomeSphinx) SALOME_LOG_OPTIONAL_PACKAGE(Doxygen SALOME_BUILD_DOC) SALOME_LOG_OPTIONAL_PACKAGE(Sphinx SALOME_BUILD_DOC) ADD_DEFINITIONS(-DDOXYGEN_IS_OK) @@ -149,15 +147,15 @@ ENDIF() IF(SALOME_BUILD_GUI) # Qt4 FIND_PACKAGE(SalomeQt4 REQUIRED COMPONENTS QtCore QtGui) - SALOME_LOG_OPTIONAL_PACKAGE(Qt4 SALOME_BUILD_GUI) - # QScintilla - IF(SALOME_YACS_USE_QSCINTILLA) - FIND_PACKAGE(SalomeQScintilla REQUIRED) - SALOME_LOG_OPTIONAL_PACKAGE(QScintilla SALOME_YACS_USE_QSCINTILLA) - ADD_DEFINITIONS(-DHAS_QSCI4) - ENDIF(SALOME_YACS_USE_QSCINTILLA) ENDIF(SALOME_BUILD_GUI) +# QScintilla +IF(SALOME_YACS_USE_QSCINTILLA) + FIND_PACKAGE(SalomeQScintilla) + SALOME_LOG_OPTIONAL_PACKAGE(QScintilla SALOME_YACS_USE_QSCINTILLA) + ADD_DEFINITIONS(-DHAS_QSCI4) +ENDIF(SALOME_YACS_USE_QSCINTILLA) + ## ## YACS specifics ## @@ -236,6 +234,11 @@ MARK_AS_ADVANCED( SALOME_INSTALL_HXX2SALOME ) +# Accumulate environment variables for YACS module +SALOME_ACCUMULATE_ENVIRONMENT(PYTHONPATH NOCHECK ${CMAKE_INSTALL_PREFIX}/${SALOME_INSTALL_BINS} + ${CMAKE_INSTALL_PREFIX}/${SALOME_INSTALL_PYTHON}) +SALOME_ACCUMULATE_ENVIRONMENT(LD_LIBRARY_PATH NOCHECK ${CMAKE_INSTALL_PREFIX}/${SALOME_INSTALL_LIBS}) + # Sources # ======== IF(SALOME_YACS_USE_KERNEL AND NOT SALOME_LIGHT_ONLY) @@ -262,16 +265,22 @@ INCLUDE(CMakePackageConfigHelpers) # List of targets in this project we want to make visible to the rest of the world. # They all have to be INSTALL'd with the option "EXPORT ${PROJECT_NAME}TargetGroup" SET(_${PROJECT_NAME}_exposed_targets - YACSloader YACSBases YACSlibEngine YACSRuntimeSALOME SalomeIDLYACS + YACSloader YACSBases YACSlibEngine YACSRuntimeSALOME #TODO: TestComponentLocal PluginSimplex PluginOptEvTest1 ) + +IF(SALOME_YACS_USE_KERNEL) + LIST(APPEND _${PROJECT_NAME}_exposed_targets SalomeIDLYACS) +ENDIF(SALOME_YACS_USE_KERNEL) + IF(SALOME_BUILD_TESTS) LIST(APPEND _${PROJECT_NAME}_exposed_targets YACSDLTest) ENDIF(SALOME_BUILD_TESTS) + IF(SALOME_BUILD_GUI) LIST(APPEND _${PROJECT_NAME}_exposed_targets HMI GenericGui YACS SalomeWrap - ) + ) ENDIF(SALOME_BUILD_GUI) # Add all targets to the build-tree export set @@ -282,7 +291,9 @@ EXPORT(TARGETS ${_${PROJECT_NAME}_exposed_targets} # - in the build tree: # Ensure the variables are always defined for the configure: +SET(KERNEL_ROOT_DIR "${KERNEL_ROOT_DIR}") SET(GUI_ROOT_DIR "${GUI_ROOT_DIR}") +SET(QT4_ROOT_DIR "${QT4_ROOT_DIR}") SET(EXPAT_ROOT_DIR "${EXPAT_ROOT_DIR}") SET(QSCINTILLA_ROOT_DIR "${QSCINTILLA_ROOT_DIR}") @@ -291,7 +302,7 @@ 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 - KERNEL_ROOT_DIR GUI_ROOT_DIR QT4_ROOT_DIR) + KERNEL_ROOT_DIR GUI_ROOT_DIR QT4_ROOT_DIR EXPAT_ROOT_DIR QSCINTILLA_ROOT_DIR) # - in the install tree (VSR 16/08/2013: TEMPORARILY COMMENT THIS - TO REMOVE?): # Get the relative path of the include directory so @@ -301,8 +312,7 @@ CONFIGURE_PACKAGE_CONFIG_FILE(${PROJECT_NAME}Config.cmake.in # ${PROJECT_BINARY_DIR}/to_install/${PROJECT_NAME}Config.cmake # INSTALL_DESTINATION "${SALOME_INSTALL_CMAKE_LOCAL}" # PATH_VARS CONF_INCLUDE_DIRS SALOME_INSTALL_CMAKE_LOCAL CMAKE_INSTALL_PREFIX -# KERNEL_ROOT_DIR SIP_ROOT_DIR QT4_ROOT_DIR PYQT4_ROOT_DIR CAS_ROOT_DIR -# OPENGL_ROOT_DIR VTK_ROOT_DIR QWT_ROOT_DIR) +# KERNEL_ROOT_DIR GUI_ROOT_DIR QT4_ROOT_DIR EXPAT_ROOT_DIR QSCINTILLA_ROOT_DIR) WRITE_BASIC_PACKAGE_VERSION_FILE(${PROJECT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake VERSION ${${PROJECT_NAME_UC}_VERSION}