X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=CMakeLists.txt;h=b7882201c11d5e48d487a62afc5d1ce104b7e1f5;hb=05ec10d279b05182810ae9343ed6690e4e7f5dd2;hp=79a9cd0c7e282cac2edfb30f6f96a60752b26a7a;hpb=cda7408fd5043f4e91e70e79edb0a5caf548d519;p=modules%2Fkernel.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 79a9cd0c7..b7882201c 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2016 CEA/DEN, EDF R&D, OPEN CASCADE +# Copyright (C) 2012-2023 CEA, EDF, OPEN CASCADE # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -19,26 +19,27 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8 FATAL_ERROR) INCLUDE(CMakeDependentOption) +# Project name +# ============ +# original PROJECT(SalomeKERNEL C CXX) +# upper case +STRING(TOUPPER ${PROJECT_NAME} PROJECT_NAME_UC) -# Ensure a proper linker behavior: -CMAKE_POLICY(SET CMP0003 NEW) +# Common CMake macros +# =================== +SET(CONFIGURATION_ROOT_DIR $ENV{CONFIGURATION_ROOT_DIR} CACHE PATH "Path to the Salome CMake configuration files") +IF(EXISTS ${CONFIGURATION_ROOT_DIR}) + LIST(APPEND CMAKE_MODULE_PATH "${CONFIGURATION_ROOT_DIR}/cmake") + INCLUDE(SalomeMacros NO_POLICY_SCOPE) +ELSE() + MESSAGE(FATAL_ERROR "We absolutely need the Salome CMake configuration files, please define CONFIGURATION_ROOT_DIR !") +ENDIF() # Versioning # =========== -# Project name, upper case -STRING(TOUPPER ${PROJECT_NAME} PROJECT_NAME_UC) - -SET(${PROJECT_NAME_UC}_MAJOR_VERSION 8) -SET(${PROJECT_NAME_UC}_MINOR_VERSION 0) -SET(${PROJECT_NAME_UC}_PATCH_VERSION 0) -SET(${PROJECT_NAME_UC}_VERSION - ${${PROJECT_NAME_UC}_MAJOR_VERSION}.${${PROJECT_NAME_UC}_MINOR_VERSION}.${${PROJECT_NAME_UC}_PATCH_VERSION}) -SET(${PROJECT_NAME_UC}_VERSION_DEV 1) - -# Our own set of macros: -LIST(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/salome_adm/cmake_files") -INCLUDE(SalomeMacros) +SALOME_SETUP_VERSION(9.11.0) +MESSAGE(STATUS "Building ${PROJECT_NAME_UC} ${${PROJECT_NAME_UC}_VERSION} from \"${${PROJECT_NAME_UC}_GIT_SHA1}\"") # Platform setup # ============== @@ -58,6 +59,7 @@ OPTION(SALOME_BUILD_TESTS "Build SALOME tests" ON) # Advanced: OPTION(SALOME_LIGHT_ONLY "Build SALOME Light only (no CORBA)" OFF) OPTION(SALOME_USE_LIBBATCH "Use LibBatch in KERNEL" OFF) +OPTION(SALOME_USE_64BIT_IDS "Size of IDs to refer cells and nodes. 32 bits when OFF (default), 64 bits when ON." OFF) CMAKE_DEPENDENT_OPTION(SALOME_PACO_PARALLEL "Build with PACO (implies SALOME_USE_MPI)" OFF "NOT SALOME_LIGHT_ONLY" OFF) CMAKE_DEPENDENT_OPTION(SALOME_USE_MPI "Use MPI containers" OFF @@ -68,7 +70,7 @@ MARK_AS_ADVANCED(SALOME_LIGHT_ONLY SALOME_USE_LIBBATCH SALOME_PACO_PARALLEL) # Required prerequisites # Find "big" prerequisites first - they reference themselves many others -# -> this can help finding the smaller prerequisites and detect conficts. +# -> this can help finding the smaller prerequisites and detect conflicts. # ======================= # Exception: LibBatch is optional but is loaded first, as it can @@ -78,7 +80,10 @@ IF(SALOME_USE_LIBBATCH) SALOME_LOG_OPTIONAL_PACKAGE(LibBatch SALOME_USE_LIBBATCH) ENDIF() -FIND_PACKAGE(SalomePython REQUIRED) +FIND_PACKAGE(SalomePythonInterp REQUIRED) +FIND_PACKAGE(SalomePythonLibs REQUIRED) +FIND_PACKAGE(SalomeNumPySciPy) +FIND_PACKAGE(SalomePsutil REQUIRED) FIND_PACKAGE(SalomePThread REQUIRED) FIND_PACKAGE(SalomeSWIG REQUIRED) FIND_PACKAGE(SalomeLibXml2 REQUIRED) @@ -178,6 +183,11 @@ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/CTestTestfileInstall.cmake DESTINATION ${KERNEL_TEST_DIR} RENAME CTestTestfile.cmake) + +IF(SALOME_LIGHT_ONLY) + ADD_DEFINITIONS(-DSALOME_LIGHT) +ENDIF() + # Sources # ======== IF(NOT SALOME_LIGHT_ONLY) @@ -193,7 +203,6 @@ ENDIF() # Header configuration # ==================== -SALOME_XVERSION(${PROJECT_NAME}) SALOME_CONFIGURE_FILE(KERNEL_version.h.in KERNEL_version.h INSTALL ${SALOME_INSTALL_HEADERS}) # Configuration export @@ -204,7 +213,7 @@ INCLUDE(CMakePackageConfigHelpers) # They all have to be INSTALL'd with the option "EXPORT ${PROJECT_NAME}TargetGroup" SET(_${PROJECT_NAME}_exposed_targets - SALOMEBasics SALOMELocalTrace SalomeHDFPersist OpUtil) + SALOMELog SALOMEBasics ArgvKeeper SALOMELocalTrace SalomeHDFPersist OpUtil) # CORBA specific targets: IF(NOT SALOME_LIGHT_ONLY) @@ -212,7 +221,7 @@ IF(NOT SALOME_LIGHT_ONLY) DF SalomeLoggerServer with_loggerTraceCollector SalomeNS SalomeGenericObj Registry SalomeCatalog ResourcesManager SalomeResourcesManager SalomeNotification SalomeContainer SalomeSDS Launcher SalomeLauncher - SalomeLifeCycleCORBA SalomeDSClient TOOLSDS SalomeKernelHelpers + SalomeLifeCycleCORBA SalomeDSClient TOOLSDS SalomeKernelHelpers SalomeORB SalomeDSImpl SalomeDS SalomeCommunication SalomeDSCContainer) # Temporary solution for package src\DSC on windows IF(NOT WIN32)