X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=CMakeLists.txt;h=46691a655cad9829e5cf71ffab96f369d9d8378f;hp=f77f11b506e9d23ededdc00b1960d30163c4b45d;hb=120b69a243db93b118068137b2ae4cf455783847;hpb=e33e8e2029a4e91779b9c1d5f480979fa7b51d0b diff --git a/CMakeLists.txt b/CMakeLists.txt index f77f11b50..46691a655 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -58,15 +58,14 @@ SET(BUILD_SHARED_LIBS TRUE) LIST(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/adm_local/cmake_files") # User options -# (some options have already been defined in KERNEL) # ============ -#OPTION(SALOME_BUILD_TESTS "Build SALOME tests" ${SALOME_BUILD_TESTS}) For use in the future -OPTION(SALOME_BUILD_DOC "Generate SALOME SMESH documentation" ${SALOME_BUILD_DOC}) +OPTION(SALOME_BUILD_TESTS "Build SALOME tests" ON) +OPTION(SALOME_BUILD_DOC "Generate SALOME SMESH documentation" ON) # Advanced options: OPTION(SALOME_BUILD_GUI "Enable GUI" ON) -OPTION(SALOME_SMESH_USE_CGNS "Enable shape recognition from picture" OFF) -OPTION(SALOME_SMESH_USE_TBB "Enable shape recognition from picture" OFF) +OPTION(SALOME_SMESH_USE_CGNS "Enable import/export to CGNS format" OFF) +OPTION(SALOME_SMESH_USE_TBB "Enable parallel computation" OFF) #On Linux use Fortran to compile MEFISTO2D IF(NOT WIN32) @@ -75,10 +74,8 @@ IF(NOT WIN32) ADD_DEFINITIONS(-DENABLE_MEFISTO) ENDIF(NOT WIN32) - MARK_AS_ADVANCED(SALOME_BUILD_GUI SALOME_SMESH_USE_CGNS SALOME_SMESH_USE_TBB) - # Prerequisites # ============= # Find "big" prerequisites first - they reference themselves many others @@ -110,7 +107,11 @@ FIND_PACKAGE(SalomeHDF5 REQUIRED COMPONENTS C) IF(SALOME_USE_MPI) FIND_PACKAGE(SalomeMPI) # needed for doc generation by Sphinx ENDIF() - +IF(SALOME_BUILD_TESTS) + ENABLE_TESTING() + FIND_PACKAGE(SalomeCppUnit) + SALOME_LOG_OPTIONAL_PACKAGE(CppUnit SALOME_BUILD_TESTS) +ENDIF() IF(SALOME_BUILD_DOC) FIND_PACKAGE(SalomeDoxygen) FIND_PACKAGE(SalomeSphinx) @@ -124,7 +125,7 @@ IF(SALOME_BUILD_GUI) IF(EXISTS ${GUI_ROOT_DIR}) LIST(APPEND CMAKE_MODULE_PATH "${GUI_ROOT_DIR}/adm_local/cmake_files") FIND_PACKAGE(SalomeGUI) - + ## ## Prerequisites From GUI: ## @@ -148,6 +149,13 @@ SET(GEOM_ROOT_DIR $ENV{GEOM_ROOT_DIR} CACHE PATH "Path to the Salome GEOM") IF(EXISTS ${GEOM_ROOT_DIR}) LIST(APPEND CMAKE_MODULE_PATH "${GEOM_ROOT_DIR}/adm_local/cmake_files") FIND_PACKAGE(SalomeGEOM REQUIRED) + ADD_DEFINITIONS(${GEOM_DEFINITIONS}) + INCLUDE_DIRECTORIES(${GEOM_INCLUDE_DIRS}) + IF(SALOME_BUILD_GUI) + IF(NOT SALOME_GEOM_BUILD_GUI) + MESSAGE(FATAL_ERROR "We absolutely need a Salome GEOM with GUI, please set SALOME_BUILD_GUI=ON in GEOM module") + ENDIF(NOT SALOME_GEOM_BUILD_GUI) + ENDIF(SALOME_BUILD_GUI) ELSE(EXISTS ${GEOM_ROOT_DIR}) MESSAGE(FATAL_ERROR "We absolutely need a Salome GEOM, please define GEOM_ROOT_DIR") ENDIF(EXISTS ${GEOM_ROOT_DIR}) @@ -164,11 +172,13 @@ FIND_PACKAGE(SalomeCAS REQUIRED) IF(SALOME_SMESH_USE_CGNS) FIND_PACKAGE(SalomeCGNS) SALOME_LOG_OPTIONAL_PACKAGE(CGNS SALOME_SMESH_USE_CGNS) + ADD_DEFINITIONS(-DWITH_CGNS) ENDIF(SALOME_SMESH_USE_CGNS) IF(SALOME_SMESH_USE_TBB) FIND_PACKAGE(SalomeTBB) SALOME_LOG_OPTIONAL_PACKAGE(TBB SALOME_SMESH_USE_TBB) + ADD_DEFINITIONS(-DWITH_TBB) ENDIF(SALOME_SMESH_USE_TBB) FIND_PACKAGE(SalomeMEDFile REQUIRED) @@ -235,6 +245,12 @@ MARK_AS_ADVANCED(SALOME_INSTALL_PYTHON SALOME_INSTALL_PYTHON_SHARED) MARK_AS_ADVANCED(SALOME_INSTALL_AMCONFIG_LOCAL SALOME_INSTALL_DOC) MARK_AS_ADVANCED(SALOME_SMESH_INSTALL_RES_DATA SALOME_SMESH_INSTALL_PLUGINS) +# Accumulate environment variables for SMESH module +SALOME_ACCUMULATE_ENVIRONMENT(PYTHONPATH NOCHECK ${CMAKE_INSTALL_PREFIX}/${SALOME_INSTALL_BINS} + ${CMAKE_INSTALL_PREFIX}/${SALOME_INSTALL_PYTHON} + ${CMAKE_INSTALL_PREFIX}/${SALOME_INSTALL_PYTHON_SHARED}) +SALOME_ACCUMULATE_ENVIRONMENT(LD_LIBRARY_PATH NOCHECK ${CMAKE_INSTALL_PREFIX}/${SALOME_INSTALL_LIBS}) + # Sources # ======== @@ -298,6 +314,10 @@ SET(CGNS_ROOT_DIR "${CGNS_ROOT_DIR}") SET(TBB_ROOT_DIR "${TBB_ROOT_DIR}") SET(CONF_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/include" "${PROJECT_BINARY_DIR}/include") + +# Build variables that will be expanded when configuring SalomeConfig.cmake: +SALOME_CONFIGURE_PREPARE(CGNS TBB MEDFile) + CONFIGURE_PACKAGE_CONFIG_FILE(${PROJECT_NAME}Config.cmake.in ${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake INSTALL_DESTINATION "${SALOME_INSTALL_CMAKE_LOCAL}"