From 2327711cfa31b70d64ffcf23b7a901dad74c0412 Mon Sep 17 00:00:00 2001 From: bruneton Date: Tue, 18 Jun 2013 07:58:01 +0000 Subject: [PATCH] New CMake procedure. ** Here are the Git logs describing the change: Renamed two flags to: SALOME_BUILD_TESTS and SALOME_BUILD_DOC Versioning in root CMakeLists.txt New prerequisite detection for: PThread, Python, HDF5, MPI and SWIG. New prerequisite system for Sphinx, Doxygen, Graphviz, Boost. Rewrote OmniORB find logic. Rewrote LibBatch detection procedure. Renaming functino to avoid name conflict with HDF5. Fixed path detection for Graphiz and Doxygen. Added PTHREAD_LIBRARY where needed. Removed SWIG warning: specifying lang in typemap is deprecated. Rewrote FindCppUnit. Renamed flags. Option WITHONLYLAUNCHER renamed to SALOME_LAUNCHER_ONLY. Not tested. Added export logic. --- CMakeLists.txt | 314 +++++++++++------- bin/CMakeLists.txt | 6 +- bin/appliskel/CMakeLists.txt | 2 +- idl/CMakeLists.txt | 10 +- resources/CMakeLists.txt | 12 +- salome_adm/CMakeLists.txt | 2 +- salome_adm/cmake_files/CMakeLists.txt | 33 +- salome_adm/cmake_files/FindCppUnit.cmake | 64 ++++ salome_adm/cmake_files/FindGraphviz.cmake | 37 +++ salome_adm/cmake_files/FindOmniORB.cmake | 168 ++++++++++ salome_adm/cmake_files/FindPThread.cmake | 68 ++++ salome_adm/cmake_files/FindSalomeBoost.cmake | 31 ++ .../cmake_files/FindSalomeCppUnit.cmake | 28 ++ .../cmake_files/FindSalomeDoxygen.cmake | 28 ++ .../cmake_files/FindSalomeGraphviz.cmake | 28 ++ salome_adm/cmake_files/FindSalomeHDF5.cmake | 50 ++- .../cmake_files/FindSalomeLibBatch.cmake | 28 ++ .../cmake_files/FindSalomeLibXml2.cmake | 26 ++ salome_adm/cmake_files/FindSalomeMPI.cmake | 18 +- .../cmake_files/FindSalomeOmniORB.cmake | 27 ++ .../cmake_files/FindSalomePThread.cmake | 27 ++ salome_adm/cmake_files/FindSalomePython.cmake | 138 ++++++++ salome_adm/cmake_files/FindSalomeSWIG.cmake | 17 +- salome_adm/cmake_files/FindSalomeSphinx.cmake | 26 ++ salome_adm/cmake_files/FindSphinx.cmake | 37 +++ .../cmake_files/SalomeKERNELConfig.cmake.in | 96 ++++++ salome_adm/cmake_files/SalomeMacros.cmake | 207 +++++++++++- .../cmake_files/SalomeSetupPlatform.cmake | 107 ++++++ salome_adm/cmake_files/UseOmniORB.cmake | 92 +++++ .../cmake_files/deprecated/CMakeLists.txt | 2 +- src/Basics/CMakeLists.txt | 6 +- src/Basics/Test/CMakeLists.txt | 2 +- src/CMakeLists.txt | 65 ++-- src/Communication/CMakeLists.txt | 5 +- src/Communication_SWIG/CMakeLists.txt | 4 +- src/Communication_SWIG/libSALOME_Comm.i | 8 +- src/Container/CMakeLists.txt | 21 +- src/DF/CMakeLists.txt | 6 +- src/DSC/CMakeLists.txt | 4 +- src/DSC/DSC_Basic/CMakeLists.txt | 6 +- src/DSC/DSC_Python/CMakeLists.txt | 6 +- src/DSC/DSC_User/Basic/CMakeLists.txt | 5 +- src/DSC/DSC_User/CMakeLists.txt | 7 +- src/DSC/DSC_User/Datastream/CMakeLists.txt | 4 +- .../Datastream/Calcium/CMakeLists.txt | 8 +- .../DSC_User/Datastream/Calcium/calciumf.c | 1 + .../DSC_User/Datastream/Palm/CMakeLists.txt | 4 +- src/DSC/ParallelDSC/CMakeLists.txt | 4 +- src/GenericObj/CMakeLists.txt | 4 +- src/HDFPersist/CMakeLists.txt | 8 +- src/KERNEL_PY/CMakeLists.txt | 10 +- src/KERNEL_PY/kernel/CMakeLists.txt | 4 +- .../kernel/parametric/CMakeLists.txt | 2 +- src/KernelHelpers/CMakeLists.txt | 6 +- src/KernelHelpers/Test/CMakeLists.txt | 10 +- src/Launcher/CMakeLists.txt | 16 +- src/LifeCycleCORBA/CMakeLists.txt | 6 +- src/LifeCycleCORBA/Test/CMakeLists.txt | 10 +- src/LifeCycleCORBA_SWIG/CMakeLists.txt | 6 +- src/LifeCycleCORBA_SWIG/Test/CMakeLists.txt | 2 +- src/Logger/CMakeLists.txt | 8 +- src/Logger/Test/CMakeLists.txt | 2 +- src/MPIContainer/CMakeLists.txt | 9 +- src/ModuleCatalog/CMakeLists.txt | 9 +- src/ModuleGenerator/CMakeLists.txt | 2 +- src/NOTIFICATION_SWIG/CMakeLists.txt | 7 +- src/NamingService/CMakeLists.txt | 6 +- src/NamingService/Test/CMakeLists.txt | 10 +- src/Notification/CMakeLists.txt | 4 +- src/ParallelContainer/CMakeLists.txt | 8 +- src/Registry/CMakeLists.txt | 7 +- src/ResourcesManager/CMakeLists.txt | 10 +- src/SALOMEDS/CMakeLists.txt | 8 +- src/SALOMEDS/Test/CMakeLists.txt | 10 +- src/SALOMEDSClient/CMakeLists.txt | 4 +- src/SALOMEDSImpl/CMakeLists.txt | 6 +- src/SALOMEDSImpl/SALOMEDSImpl_Tool.cxx | 10 +- src/SALOMEDSImpl/Test/CMakeLists.txt | 10 +- src/SALOMELocalTrace/CMakeLists.txt | 7 +- src/SALOMELocalTrace/Test/CMakeLists.txt | 12 +- src/SALOMETraceCollector/CMakeLists.txt | 6 +- src/SALOMETraceCollector/Test/CMakeLists.txt | 11 +- src/TOOLSDS/CMakeLists.txt | 4 +- src/TestContainer/CMakeLists.txt | 6 +- src/TestMPIContainer/CMakeLists.txt | 6 +- src/UnitTests/CMakeLists.txt | 10 +- src/Utils/CMakeLists.txt | 8 +- src/Utils/Test/CMakeLists.txt | 10 +- 88 files changed, 1761 insertions(+), 428 deletions(-) create mode 100644 salome_adm/cmake_files/FindCppUnit.cmake create mode 100644 salome_adm/cmake_files/FindGraphviz.cmake create mode 100644 salome_adm/cmake_files/FindOmniORB.cmake create mode 100644 salome_adm/cmake_files/FindPThread.cmake create mode 100644 salome_adm/cmake_files/FindSalomeBoost.cmake create mode 100644 salome_adm/cmake_files/FindSalomeCppUnit.cmake create mode 100644 salome_adm/cmake_files/FindSalomeDoxygen.cmake create mode 100644 salome_adm/cmake_files/FindSalomeGraphviz.cmake create mode 100644 salome_adm/cmake_files/FindSalomeLibBatch.cmake create mode 100644 salome_adm/cmake_files/FindSalomeLibXml2.cmake create mode 100644 salome_adm/cmake_files/FindSalomeOmniORB.cmake create mode 100644 salome_adm/cmake_files/FindSalomePThread.cmake create mode 100644 salome_adm/cmake_files/FindSalomePython.cmake create mode 100644 salome_adm/cmake_files/FindSalomeSphinx.cmake create mode 100644 salome_adm/cmake_files/FindSphinx.cmake create mode 100644 salome_adm/cmake_files/SalomeKERNELConfig.cmake.in create mode 100644 salome_adm/cmake_files/SalomeSetupPlatform.cmake create mode 100644 salome_adm/cmake_files/UseOmniORB.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index d6431f5fb..338fc3f8e 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,142 +16,210 @@ # # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -PROJECT(SALOME_KERNEL) - CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8 FATAL_ERROR) - -IF(COMMAND cmake_policy) - cmake_policy(SET CMP0003 NEW) -ENDIF(COMMAND cmake_policy) - -# directories for packages detection -SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/salome_adm/cmake_files) - -find_package(PLATFORM) - -IF(APPLE) - SET(CMAKE_C_COMPILER gcc) - SET(CMAKE_CXX_COMPILER g++) - # because default is clang(llvm) with mountain lion at least -ENDIF(APPLE) - - -# Temporary step instead Find Calcium.cmake -SET(CALCIUM_IDL_INT_F77 long) -SET(CALCIUM_CORBA_INT_F77 CORBA::Long) -SET(LONG_OR_INT int) - -# Temporary definitions -SET(DOXYGEN_IS_OK 0) -IF(WINDOWS) - SET(CPPUNIT_IS_OK 0) -ENDIF(WINDOWS) -SET(WITH_LOCAL 1) -SET(WITH_BATCH 1) - -ENABLE_TESTING() -SET(VERSION "7.2.0") +PROJECT(SalomeKERNEL C CXX) + +# Ensure a proper linker behavior: +CMAKE_POLICY(SET CMP0003 NEW) + +# Versioning +# =========== +# Project name, upper case +STRING(TOUPPER ${PROJECT_NAME} PROJECT_NAME_UC) + +SET(${PROJECT_NAME_UC}_MAJOR_VERSION 2) +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}) +# Temporary backward compatibility: +SET(VERSION ${${PROJECT_NAME_UC}_VERSION}) SET(VERSION_DEV "0") -SET(BUILD_SHARED_LIBS true) - -#Defining all options first -option(SALOME_USE_MPI "Use MPI containers" OFF) -option(SALOME_USE_CORBA "Use distribute application with components" ON) -option(SALOME_USE_DOC "Generate documentation" ON) -option(SALOME_USE_TEST "Generate test" OFF) -option(SALOME_USE_LIBBATCH "Generate Launcher" ON) - -# Threads -SET(CMAKE_THREAD_PREFER_PTHREAD) -find_package(Threads REQUIRED) - -# required prerequisites - -find_package(SalomePYTHON) -find_package(SalomeSWIG) -find_package(SalomeLIBXML2) -find_package(SalomeHDF5) -find_package(SalomeBOOST) - -# optional prerequisites - -if(SALOME_USE_MPI OR HDF5_IS_PARALLEL OR HDF5_ENABLE_PARALLEL) - find_package(SalomeMPI) -endif(SALOME_USE_MPI OR HDF5_IS_PARALLEL OR HDF5_ENABLE_PARALLEL) - -if(SALOME_USE_CORBA) - find_package(OMNIORB) -endif(SALOME_USE_CORBA) - -if(SALOME_USE_TEST) - find_package(SalomeCPPUNIT) -endif(SALOME_USE_TEST) - -if(SALOME_USE_DOC) - find_package(SalomeDOXYGEN) - find_package(SalomeSPHINX) -endif(SALOME_USE_DOC) - -if(SALOME_USE_LIBBATCH) - find_package(SalomeLIBBATCH) -endif(SALOME_USE_LIBBATCH) - +# Our own set of macros: +LIST(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/salome_adm/cmake_files") INCLUDE(${CMAKE_SOURCE_DIR}/salome_adm/cmake_files/SalomeMacros.cmake) +# Platform setup +# ============== +INCLUDE(SalomeSetupPlatform) +# Always build libraries as shared objects: +SET(BUILD_SHARED_LIBS TRUE) +# Temporary step instead of Find Calcium.cmake SET(CALCIUM_IDL_INT_F77 long) SET(CALCIUM_CORBA_INT_F77 CORBA::Long) SET(LONG_OR_INT int) - - -SET(KERNEL_salomebin_BINS bin/salome) - -SET(KERNEL_salomelib_LIBS lib/salome) - -SET(KERNEL_salomeidl_IDLS idl/salome) - -SET(KERNEL_salomeinclude_HEADERS include/salome) - -SET(KERNEL_salomeres_DATA share/salome/resources/kernel) - -SET(KERNEL_salomeres_SCRIPTS share/salome/resources/kernel) - -SET(KERNEL_salomescript_SCRIPTS bin/salome) - -SET(KERNEL_salomescript_DATA bin/salome) - -SET(KERNEL_salomescript_PYTHON bin/salome) - -SET(KERNEL_appliskel_SCRIPTS bin/salome/appliskel) - -SET(KERNEL_appliskel_PYTHON bin/salome/appliskel) - -SET(KERNEL_pythondir lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages) - -SET(KERNEL_salomepythondir ${KERNEL_pythondir}/salome) - -SET(KERNEL_sharedpkgpython_PYTHON ${KERNEL_salomepythondir}/shared_modules) - -SET(KERNEL_salomeadmcmake salome_adm/cmake_files) - -IF(SALOME_USE_CORBA) +# Global definitions +ADD_DEFINITIONS(-DSIZEOF_FORTRAN_INTEGER=4 -DSIZEOF_INT=4) +## OmniORB already defines SIZEOF_LONG +# ADD_DEFINITIONS(-DSIZEOF_LONG=${SIZE_OF_LONG}) + +# User options +# ============ +OPTION(SALOME_USE_MPI "Use MPI containers" OFF) +OPTION(SALOME_BUILD_DOC "Generate SALOME KERNEL documentation" ON) +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" ON) +OPTION(SALOME_PACO_PARALLEL "Build with PACO in parallel" OFF) +OPTION(SALOME_LAUNCHER_ONLY "Build only the Launcher part" OFF) +MARK_AS_ADVANCED(SALOME_LIGHT_ONLY SALOME_USE_LIBBATCH SALOME_PACO_PARALLEL SALOME_LAUNCHER_ONLY) + +# Directories +# =========== +SET(SALOME_INSTALL_BINS bin/salome CACHE PATH "Install path: SALOME binaries") +SET(SALOME_INSTALL_LIBS lib/salome CACHE PATH "Install path: SALOME libs") +SET(SALOME_INSTALL_IDLS idl/salome CACHE PATH "Install path: SALOME IDL files") +SET(SALOME_INSTALL_HEADERS include/salome CACHE PATH "Install path: SALOME headers") +SET(SALOME_INSTALL_SCRIPT_SCRIPTS ${SALOME_INSTALL_BINS} CACHE PATH + "Install path: SALOME scripts") +SET(SALOME_INSTALL_SCRIPT_DATA ${SALOME_INSTALL_BINS} CACHE PATH + "Install path: SALOME script data") +SET(SALOME_INSTALL_SCRIPT_PYTHON ${SALOME_INSTALL_BINS} CACHE PATH + "Install path: SALOME Python scripts") +SET(SALOME_INSTALL_APPLISKEL_SCRIPTS ${SALOME_INSTALL_BINS}/appliskel CACHE PATH + "Install path: SALOME application skeleton - scripts") +SET(SALOME_INSTALL_APPLISKEL_PYTHON ${SALOME_INSTALL_BINS}/appliskel CACHE PATH + "Install path: SALOME application skeleton - Python") +SET(SALOME_INSTALL_CMAKE salome_adm/cmake_files CACHE PATH "Install path: SALOME CMake files") + +SET(_pydir lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages) +SET(SALOME_INSTALL_PYTHON ${_pydir}/salome CACHE PATH "Install path: SALOME Python stuff") +SET(SALOME_INSTALL_PYTHON_SHARED ${SALOME_INSTALL_PYTHON}/shared_modules CACHE PATH + "Install path: SALOME Python shared modules") + +# Kernel specific: +SET(SALOME_KERNEL_INSTALL_RES_DATA share/salome/resources/kernel CACHE PATH "Install path: SALOME KERNEL specific data") +SET(SALOME_KERNEL_INSTALL_RES_SCRIPTS share/salome/resources/kernel CACHE PATH "Install path: SALOME KERNEL specific scripts") + +MARK_AS_ADVANCED(SALOME_INSTALL_BINS SALOME_INSTALL_LIBS SALOME_INSTALL_IDLS SALOME_INSTALL_HEADERS) +MARK_AS_ADVANCED(SALOME_INSTALL_SCRIPT_SCRIPTS SALOME_INSTALL_SCRIPT_DATA SALOME_INSTALL_SCRIPT_PYTHON) +MARK_AS_ADVANCED(SALOME_INSTALL_APPLISKEL_SCRIPTS SALOME_INSTALL_APPLISKEL_PYTHON SALOME_INSTALL_CMAKE) +MARK_AS_ADVANCED(SALOME_INSTALL_PYTHON SALOME_INSTALL_PYTHON_SHARED SALOME_KERNEL_INSTALL_RES_DATA SALOME_KERNEL_INSTALL_RES_SCRIPTS) + +# Required prerequisites +# Find "big" prerequisites first - they reference themselves many others +# -> this can help finding the smaller prerequisites and detect conficts. +# ======================= + +FIND_PACKAGE(SalomeLibBatch REQUIRED) +FIND_PACKAGE(SalomePython REQUIRED) +FIND_PACKAGE(SalomePThread REQUIRED) +FIND_PACKAGE(SalomeSWIG REQUIRED) +FIND_PACKAGE(SalomeLibXml2 REQUIRED) + +# HDF5 requires a bit more work to ensure MPI is selected: +FIND_PACKAGE(SalomeHDF5 REQUIRED) +ADD_DEFINITIONS(-DH5_USE_16_API) +IF(WINDOWS) + ADD_DEFINITIONS(-D_HDF5USEDLL_) +ENDIF() +IF(HDF5_IS_PARALLEL AND NOT SALOME_USE_MPI) + MESSAGE(FATAL_ERROR "HDF5 is compiled with MPI, you have to set SALOME_USE_MPI to ON") +ENDIF() + +# Boost +FIND_PACKAGE(SalomeBoost REQUIRED) +IF(WIN32) + SET(BOOST_DEFINITIONS -DBOOST_DISABLE_ASSERTS) +ENDIF() + +# Optional prerequisites +# ====================== + +IF(NOT SALOME_LIGHT_ONLY) + FIND_PACKAGE(SalomeOmniORB REQUIRED) +ENDIF() +IF(SALOME_USE_MPI) + FIND_PACKAGE(SalomeMPI REQUIRED) + SET(MPI_INCLUDE_DIRS ${MPI_C_INCLUDE_PATH} ${MPI_CXX_INCLUDE_PATH}) + SET(MPI_LIBRARIES ${MPI_C_LIBRARIES} ${MPI_CXX_LIBRARIES}) +ENDIF() +IF(SALOME_BUILD_TESTS) + ENABLE_TESTING() + FIND_PACKAGE(SalomeCppUnit REQUIRED) +ENDIF() +IF(SALOME_BUILD_DOC) + FIND_PACKAGE(SalomeDoxygen REQUIRED) + FIND_PACKAGE(SalomeGraphviz) # Remains optional even here. + FIND_PACKAGE(SalomeSphinx REQUIRED) +ENDIF() + +# Sources +# ======== +IF(NOT SALOME_LIGHT_ONLY) ADD_SUBDIRECTORY(idl) -ENDIF(SALOME_USE_CORBA) - +ENDIF() ADD_SUBDIRECTORY(src) ADD_SUBDIRECTORY(resources) +ADD_SUBDIRECTORY(bin) +ADD_SUBDIRECTORY(salome_adm) +IF(SALOME_BUILD_DOC) + ADD_SUBDIRECTORY(doc) +ENDIF() -IF(NOT WITHONLYLAUNCHER) - ADD_SUBDIRECTORY(bin) - ADD_SUBDIRECTORY(salome_adm) -ENDIF(NOT WITHONLYLAUNCHER) - +# Header configuration +# ==================== SET(input ${CMAKE_CURRENT_SOURCE_DIR}/KERNEL_version.h.in) SET(output ${CMAKE_CURRENT_BINARY_DIR}/KERNEL_version.h) MESSAGE(STATUS "Creation of ${output}") CONFIGURE_FILE(${input} ${output} @ONLY) -INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/KERNEL_version.h DESTINATION ${KERNEL_salomeinclude_HEADERS}) - -IF(SALOME_USE_DOC) - ADD_SUBDIRECTORY(doc) -ENDIF(SALOME_USE_DOC) +INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/KERNEL_version.h DESTINATION ${SALOME_INSTALL_HEADERS}) + +# Configuration export +# ==================== +INCLUDE(CMakePackageConfigHelpers) + +# Add all targets to the build-tree export set +EXPORT(TARGETS SALOMEBasics + FILE ${PROJECT_BINARY_DIR}/${PROJECT_NAME}Targets.cmake) + +# Create the configuration files: +# - in the build tree: + +# Ensure the variables are always defined for the configure: +SET(CPPUNIT_ROOT_DIR "${CPPUNIT_ROOT_DIR}") +SET(GRAPHVIZ_ROOT_DIR "${GRAPHVIZ_ROOT_DIR}") +SET(DOXYGEN_ROOT_DIR "${DOXYGEN_ROOT_DIR}") +SET(SPHINX_ROOT_DIR "${SPHINX_ROOT_DIR}") +SET(MPI_ROOT_DIR "${MPI_ROOT_DIR}") +SET(OMNIORB_ROOT_DIR "${OMNIORB_ROOT_DIR}") +SET(LIBBATCH_ROOT_DIR "${LIBBATCH_ROOT_DIR}") + +SET(CONF_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/include" "${PROJECT_BINARY_DIR}/include") +CONFIGURE_PACKAGE_CONFIG_FILE(salome_adm/cmake_files/${PROJECT_NAME}Config.cmake.in + ${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake + INSTALL_DESTINATION "${SALOME_INSTALL_CMAKE}" + PATH_VARS CONF_INCLUDE_DIRS SALOME_INSTALL_CMAKE CMAKE_INSTALL_PREFIX + CPPUNIT_ROOT_DIR GRAPHVIZ_ROOT_DIR DOXYGEN_ROOT_DIR + SPHINX_ROOT_DIR MPI_ROOT_DIR OMNIORB_ROOT_DIR LIBBATCH_ROOT_DIR + PTHREAD_ROOT_DIR BOOST_ROOT_DIR HDF5_ROOT_DIR LIBXML2_ROOT_DIR + PYTHON_ROOT_DIR SWIG_ROOT_DIR) + +# - in the install tree: +# Get the relative path of the include directory so +# we can register it in the generated configuration files: +SET(CONF_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/${INSTALL_INCLUDE_DIR}") +CONFIGURE_PACKAGE_CONFIG_FILE(salome_adm/cmake_files/${PROJECT_NAME}Config.cmake.in + ${PROJECT_BINARY_DIR}/to_install/${PROJECT_NAME}Config.cmake + INSTALL_DESTINATION "${SALOME_INSTALL_CMAKE}" + PATH_VARS CONF_INCLUDE_DIRS SALOME_INSTALL_CMAKE CMAKE_INSTALL_PREFIX + CPPUNIT_ROOT_DIR GRAPHVIZ_ROOT_DIR DOXYGEN_ROOT_DIR + SPHINX_ROOT_DIR MPI_ROOT_DIR OMNIORB_ROOT_DIR LIBBATCH_ROOT_DIR + PTHREAD_ROOT_DIR BOOST_ROOT_DIR HDF5_ROOT_DIR LIBXML2_ROOT_DIR + PYTHON_ROOT_DIR SWIG_ROOT_DIR) + +WRITE_BASIC_PACKAGE_VERSION_FILE(${PROJECT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake + VERSION ${${PROJECT_NAME_UC}_VERSION} + COMPATIBILITY AnyNewerVersion) + +# Install the CMake configuration files: +INSTALL(FILES + "${PROJECT_BINARY_DIR}/to_install/${PROJECT_NAME}Config.cmake" + "${PROJECT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake" + DESTINATION "${SALOME_INSTALL_CMAKE}") + +# Install the export set for use with the install-tree +INSTALL(EXPORT salomeKernelTargets DESTINATION "${SALOME_INSTALL_CMAKE}") diff --git a/bin/CMakeLists.txt b/bin/CMakeLists.txt index 47f9440d5..414bedc12 100755 --- a/bin/CMakeLists.txt +++ b/bin/CMakeLists.txt @@ -21,14 +21,14 @@ ADD_SUBDIRECTORY(appliskel) CONFIGURE_FILE(VERSION.in VERSION @ONLY) -INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/VERSION DESTINATION ${KERNEL_salomebin_BINS}) +INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/VERSION DESTINATION ${SALOME_INSTALL_BINS}) # =============================================================== # Files to be installed # =============================================================== # These files are data, module or lib files -#INSTALL(FILES salome.launch DESTINATION ${KERNEL_salomescript_DATA}) +#INSTALL(FILES config_appli.xml salome.launch DESTINATION ${SALOME_INSTALL_SCRIPT_DATA}) # These files are executable scripts SET(SCRIPTS @@ -62,4 +62,4 @@ SET(SCRIPTS waitContainers.py waitNS.py ) -SALOME_INSTALL_SCRIPTS("${SCRIPTS}" ${KERNEL_salomescript_SCRIPTS}) +SALOME_INSTALL_SCRIPTS("${SCRIPTS}" ${SALOME_INSTALL_SCRIPT_SCRIPTS}) diff --git a/bin/appliskel/CMakeLists.txt b/bin/appliskel/CMakeLists.txt index 37cc335cc..9feeb7934 100755 --- a/bin/appliskel/CMakeLists.txt +++ b/bin/appliskel/CMakeLists.txt @@ -36,4 +36,4 @@ SET(SCRIPTS salome # this is the Python launcher (without .py extension to avoid conflicts when importing salome python package) ) -SALOME_INSTALL_SCRIPTS("${SCRIPTS}" ${KERNEL_salomescript_SCRIPTS}/appliskel) +SALOME_INSTALL_SCRIPTS("${SCRIPTS}" ${SALOME_INSTALL_SCRIPT_SCRIPTS}/appliskel) diff --git a/idl/CMakeLists.txt b/idl/CMakeLists.txt index dd8650143..7090a3bbe 100755 --- a/idl/CMakeLists.txt +++ b/idl/CMakeLists.txt @@ -17,7 +17,7 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -INCLUDE(${CMAKE_SOURCE_DIR}/salome_adm/cmake_files/UseOMNIORB.cmake) +INCLUDE(${CMAKE_SOURCE_DIR}/salome_adm/cmake_files/UseOmniORB.cmake) INCLUDE_DIRECTORIES( ${OMNIORB_INCLUDE_DIR} @@ -77,9 +77,9 @@ OMNIORB_ADD_MODULE(SalomeIDLKernel "${SalomeIDLKernel_IDLSOURCES}" "${IDL_INCLUD ADD_DEFINITIONS(${COMMON_FLAGS}) TARGET_LINK_LIBRARIES(SalomeIDLKernel ${OMNIORB_LIBRARIES}) -INSTALL(TARGETS SalomeIDLKernel DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS SalomeIDLKernel DESTINATION ${SALOME_INSTALL_LIBS}) -IF(WITH_PACO_PARALLEL) +IF(SALOME_PACO_PARALLEL) SET(SalomeParallelIDLKernel_IDLSOURCES SALOME_ComponentPaCO.idl SALOME_PortsPaCO.idl @@ -91,5 +91,5 @@ IF(WITH_PACO_PARALLEL) OMNIORB_ADD_MODULE(SalomeParallelIDLKernel "${SalomeIDLKernel_IDLSOURCES}" "${IDL_INCLUDE_DIRS}") TARGET_LINK_LIBRARIES(SalomeParallelIDLKernel ${OMNIORB_LIBRARIES}) - INSTALL(TARGETS SalomeParallelIDLKernel DESTINATION ${KERNEL_salomelib_LIBS}) -ENDIF(WITH_PACO_PARALLEL) + INSTALL(TARGETS SalomeParallelIDLKernel DESTINATION ${SALOME_INSTALL_LIBS}) +ENDIF() diff --git a/resources/CMakeLists.txt b/resources/CMakeLists.txt index 9b216c4e8..df7d256ee 100755 --- a/resources/CMakeLists.txt +++ b/resources/CMakeLists.txt @@ -22,18 +22,18 @@ # =============================================================== # These files are data, module or lib files -INSTALL(FILES CatalogModulePersonnel.xml_skel DESTINATION ${KERNEL_salomeres_DATA}) +INSTALL(FILES CatalogModulePersonnel.xml_skel DESTINATION ${SALOME_KERNEL_INSTALL_RES_DATA}) CONFIGURE_FILE(CatalogResources.xml.in CatalogResources.xml @ONLY) -INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/CatalogResources.xml DESTINATION ${KERNEL_salomeres_DATA}) +INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/CatalogResources.xml DESTINATION ${SALOME_KERNEL_INSTALL_RES_DATA}) -IF(NOT WITHONLYLAUNCHER) - INSTALL(FILES channel.cfg SALOMEDS_Resources DESTINATION ${KERNEL_salomeres_DATA}) +IF(NOT SALOME_LAUNCHER_ONLY) + INSTALL(FILES channel.cfg SALOMEDS_Resources DESTINATION ${SALOME_KERNEL_INSTALL_RES_DATA}) CONFIGURE_FILE(KERNELCatalog.xml.in KERNELCatalog.xml @ONLY) - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/KERNELCatalog.xml DESTINATION ${KERNEL_salomeres_DATA}) + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/KERNELCatalog.xml DESTINATION ${SALOME_KERNEL_INSTALL_RES_DATA}) -ENDIF(NOT WITHONLYLAUNCHER) +ENDIF() diff --git a/salome_adm/CMakeLists.txt b/salome_adm/CMakeLists.txt index f444bc264..0e2733cce 100755 --- a/salome_adm/CMakeLists.txt +++ b/salome_adm/CMakeLists.txt @@ -20,5 +20,5 @@ ADD_SUBDIRECTORY(unix) ADD_SUBDIRECTORY(cmake_files) -SALOME_CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/SALOMEconfig.ref.in" "${CMAKE_CURRENT_BINARY_DIR}/SALOMEconfig.h" INSTALL ${KERNEL_salomeinclude_HEADERS}) +SALOME_CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/SALOMEconfig.ref.in" "${CMAKE_CURRENT_BINARY_DIR}/SALOMEconfig.h" INSTALL ${SALOME_INSTALL_HEADERS}) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/SALOMEconfig.ref.in DESTINATION salome_adm/unix RENAME SALOMEconfig.h.in) \ No newline at end of file diff --git a/salome_adm/cmake_files/CMakeLists.txt b/salome_adm/cmake_files/CMakeLists.txt index 03e167cd0..caee7f68e 100755 --- a/salome_adm/cmake_files/CMakeLists.txt +++ b/salome_adm/cmake_files/CMakeLists.txt @@ -25,26 +25,31 @@ ADD_SUBDIRECTORY(deprecated) # These files are data, module or lib files SET(DATA - FindCPPUNIT.cmake + FindCppUnit.cmake + FindGraphviz.cmake FindKERNEL.cmake - FindOMNIORB.cmake - UseOMNIORB.cmake - FindPLATFORM.cmake - FindSPHINX.cmake - FindSalomeBOOST.cmake - FindSalomeCPPUNIT.cmake - FindSalomeDOXYGEN.cmake + FindOmniORB.cmake + FindPThread.cmake + FindSalomeBoost.cmake + FindSalomeCppUnit.cmake + FindSalomeDoxygen.cmake + FindSalomeGraphviz.cmake FindSalomeHDF5.cmake - FindSalomeLIBBATCH.cmake - FindSalomeLIBXML2.cmake + FindSalomeLibBatch.cmake + FindSalomeLibXml2.cmake FindSalomeMPI.cmake - FindSalomePYTHON.cmake - FindSalomeSPHINX.cmake + FindSalomeOmniORB.cmake + FindSalomePThread.cmake + FindSalomePython.cmake + FindSalomeSphinx.cmake FindSalomeSWIG.cmake + FindSphinx.cmake InstallAndCompilePythonFile.cmake + UseOmniORB.cmake SalomeMacros.cmake + SalomeSetupPlatform.cmake ) -INSTALL(FILES ${DATA} DESTINATION ${KERNEL_salomeadmcmake}) +INSTALL(FILES ${DATA} DESTINATION ${SALOME_INSTALL_CMAKE}) # These files are executable scripts -SALOME_INSTALL_SCRIPTS(prepare_generating_doc.py ${KERNEL_salomescript_SCRIPTS}) +SALOME_INSTALL_SCRIPTS(prepare_generating_doc.py ${SALOME_INSTALL_SCRIPT_SCRIPTS}) diff --git a/salome_adm/cmake_files/FindCppUnit.cmake b/salome_adm/cmake_files/FindCppUnit.cmake new file mode 100644 index 000000000..e1264dec4 --- /dev/null +++ b/salome_adm/cmake_files/FindCppUnit.cmake @@ -0,0 +1,64 @@ +# - Find CppUnit +# Sets the following variables: +# CPPUNIT_INCLUDE_DIR - path to the CppUnit include directory +# CPPUNIT_LIBRARIES - path to the CppUnit libraries to be linked against +# CPPUNIT_DEFINITIONS - specific CppUnit definitions to be added +# +# The header cppunit/extensions/HelperMacros.h is looked for. +# The following libraries are searched +# cppunit_dll, or cppunitd_dll (Windows) +# cppunit (Linux) +# + +######################################################################### +# 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 +# + +IF(NOT CppUnit_FIND_QUIETLY) + MESSAGE(STATUS "Looking for CppUnit ...") +ENDIF() + +# Headers +SET(CPPUNIT_INCLUDE_TO_FIND cppunit/extensions/HelperMacros.h) +FIND_PATH(CPPUNIT_INCLUDE_DIR ${CPPUNIT_INCLUDE_TO_FIND}) + +# Libraries +IF(WINDOWS) + IF(CMAKE_BUILD_TYPE STREQUAL Debug) + FIND_LIBRARY(CPPUNIT_LIBRARIES cppunitd_dll) + ELSE(CMAKE_BUILD_TYPE STREQUAL Debug) + FIND_LIBRARY(CPPUNIT_LIBRARIES cppunit_dll) + ENDIF(CMAKE_BUILD_TYPE STREQUAL Debug) +ELSE(WINDOWS) + FIND_LIBRARY(CPPUNIT_LIBRARIES cppunit) +ENDIF(WINDOWS) + +# Global variables +SET(CPPUNIT_DEFINITIONS) +IF(WINDOWS) + SET(CPPUNIT_DEFINITIONS -DCPPUNIT_DLL) +ENDIF(WINDOWS) + +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(CppUnit REQUIRED_VARS CPPUNIT_INCLUDE_DIR CPPUNIT_LIBRARIES) + + diff --git a/salome_adm/cmake_files/FindGraphviz.cmake b/salome_adm/cmake_files/FindGraphviz.cmake new file mode 100644 index 000000000..cf987bede --- /dev/null +++ b/salome_adm/cmake_files/FindGraphviz.cmake @@ -0,0 +1,37 @@ +# - Graphviz detection +# +# Output variable: GRAPHVIZ_EXECUTABLE +# +# The executable 'dot' is looked for and returned in the above variable. +# + +########################################################################### +# 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 +# +########################################################################### + +FIND_PROGRAM(GRAPHVIZ_EXECUTABLE dot) + +# Handle the standard arguments of the find_package() command: +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(Graphviz REQUIRED_VARS GRAPHVIZ_EXECUTABLE) + diff --git a/salome_adm/cmake_files/FindOmniORB.cmake b/salome_adm/cmake_files/FindOmniORB.cmake new file mode 100644 index 000000000..357c53256 --- /dev/null +++ b/salome_adm/cmake_files/FindOmniORB.cmake @@ -0,0 +1,168 @@ +# - Find OmniORB4 cmake module and Pyhon backends +# +# Sets the following variables: +# OMNIORB_FOUND - TRUE if OmniORB4 installation has been found +# OMNIORB_INCLUDE_DIR - OmniORB4 headers path +# OMNIORB_LIBRARIES - OmniORB4 libraries +# OMNIORB_VERSION - OmniORB4 version +# OMNIORB_IDL_COMPILER - OmniORB4 idl compiler command (omniidl) +# OMNIORB_NAMESERVER - OmniORB4 CORBA naming service (omniNames) +# OMNIORB_PYTHON_BACKEND +# and many other mainly used in UseOmniORB.cmake +# +# Detection is made through calls to +# find_library, find_program, find_path +# and can be guided by extending CMAKE_PREFIX_PATH. Given the CMake precedence +# rule this will take precedence over the standard system paths. +# See for example doc of find_library(). +# + +################################################################ +# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +# +# 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 +# +################################################################ + +# minimum OmniORB4 supported version +# 4.0.6 has known bug float/double marshalling using CORBA::Any +set(OMNIORB_MINIMUM_VERSION "4.1.2") + +############################################################################## +# find headers +############################################################################## +FIND_PATH(OMNIORB_INCLUDE_DIR omniORB4/CORBA.h) + +############################################################################## +# find libraries +############################################################################## +IF (WIN32) + FIND_LIBRARY(OMNIORB_LIBRARY_omniORB4 + NAMES ${CMAKE_STATIC_LIBRARY_PREFIX}omniORB4${CMAKE_STATIC_LIBRARY_SUFFIX} + PATHS lib/x86_win32) + FIND_LIBRARY( OMNIORB_LIBRARY_omnithread + NAMES ${CMAKE_STATIC_LIBRARY_PREFIX}omnithread${CMAKE_STATIC_LIBRARY_SUFFIX} + PATHS lib/x86_win32) + FIND_LIBRARY( OMNIORB_LIBRARY_omniDynamic4 + NAMES ${CMAKE_STATIC_LIBRARY_PREFIX}omniDynamic4${CMAKE_STATIC_LIBRARY_SUFFIX} + PATHS lib/x86_win32) +ELSE (WIN32) + FIND_LIBRARY(OMNIORB_LIBRARY_omniORB4 NAMES omniORB4) + FIND_LIBRARY(OMNIORB_LIBRARY_omnithread NAMES omnithread) + FIND_LIBRARY(OMNIORB_LIBRARY_omniDynamic4 NAMES omniDynamic4) +ENDIF (WIN32) + +# Optional libraries + +IF (WIN32) + FIND_LIBRARY( OMNIORB_LIBRARY_COS4 + NAMES ${CMAKE_STATIC_LIBRARY_PREFIX}COS4${CMAKE_STATIC_LIBRARY_SUFFIX} + PATHS lib/x86_win32 ) + FIND_LIBRARY( OMNIORB_LIBRARY_COSDynamic4 + NAMES ${CMAKE_STATIC_LIBRARY_PREFIX}COSDynamic4${CMAKE_STATIC_LIBRARY_SUFFIX} + PATHS lib/x86_win32) +ELSE (WIN32) + FIND_LIBRARY(OMNIORB_LIBRARY_COS4 NAMES COS4) + FIND_LIBRARY(OMNIORB_LIBRARY_COSDynamic4 NAMES COSDynamic4) +ENDIF (WIN32) + +############################################################################## +# find command line tools +############################################################################## +IF (WIN32) + FIND_PROGRAM( OMNIORB_IDL_COMPILER + NAMES omniidl PATHS bin/x86_win32 + DOC "What is the path where omniidl (the idl compiler) can be found") + FIND_PROGRAM( OMNIORB_OMNINAMES_COMMAND + NAMES omniNames PATHS bin/x86_win32 + DOC "What is the path where omniNames (the ORB server) can be found") +ELSE(WIN32) + FIND_PROGRAM(OMNIORB_IDL_COMPILER NAMES omniidl) + FIND_PROGRAM(OMNIORB_NAMESERVER NAMES omniNames) +ENDIF (WIN32) + +############################################################################## +# find python back-end +############################################################################## + +SET(_py_version "${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}") +SET(CMAKE_FIND_ROOT_PATH ${CMAKE_FIND_ROOT_PATH} ${CMAKE_PREFIX_PATH}) +FIND_PATH(OMNIORB_PYTHON_BACKEND + NAMES python.py + PATHS "/lib/python${_py_version}/site-packages/omniidl_be" "/usr/lib/omniidl/omniidl_be" + DOC "Path to python-backend directory (omniidl_be) including python.py file" ) + +############################################################################## +# Cook our stuff +############################################################################## + +MARK_AS_ADVANCED(OMNIORB_DIR OMNIORB_INCLUDE_DIR) +MARK_AS_ADVANCED(OMNIORB_LIBRARY_omniORB4 OMNIORB_LIBRARY_omnithread OMNIORB_LIBRARY_omniDynamic4) +MARK_AS_ADVANCED(OMNIORB_IDL_COMPILER OMNIORB_NAMESERVER OMNIORB_VERSION) +MARK_AS_ADVANCED(OMNIORB_LIBRARY_COS4 OMNIORB_LIBRARY_COSDynamic4 OMNIORB_PYTHON_BACKEND) + +SET(OMNIORB_LIBRARIES + ${OMNIORB_LIBRARY_omniORB4} + ${OMNIORB_LIBRARY_omnithread} + ${OMNIORB_LIBRARY_omniDynamic4}) + +IF(OMNIORB_LIBRARY_COS4) + LIST(APPEND OMNIORB_LIBRARIES ${OMNIORB_LIBRARY_COS4}) +ENDIF() +IF(OMNIORB_LIBRARY_COSDynamic4) + LIST(APPEND OMNIORB_LIBRARIES ${OMNIORB_LIBRARY_COSDynamic4}) +ENDIF() + +# Optionaly, extract the the version number from the acconfig.h file: +# The version check is done at the very bottom of this file. +IF( EXISTS ${OMNIORB_INCLUDE_DIR}/omniORB4/acconfig.h ) + FILE( READ ${OMNIORB_INCLUDE_DIR}/omniORB4/acconfig.h OMNIORB_ACCONFIG_H ) + STRING( REGEX MATCH "#define[\t ]+PACKAGE_VERSION[\t ]+\"([0-9]+.[0-9]+.[0-9]+)\"" OMNIORB_ACCONFIG_H "${OMNIORB_ACCONFIG_H}" ) + STRING( REGEX REPLACE ".*\"([0-9]+.[0-9]+.[0-9]+)\".*" "\\1" OMNIORB_VERSION "${OMNIORB_ACCONFIG_H}" ) +ELSE() + SET( OMNIORB_VERSION "NOT-FOUND" ) +ENDIF( EXISTS ${OMNIORB_INCLUDE_DIR}/omniORB4/acconfig.h ) + +SET(OMNIORB_IDLCXXFLAGS -Wba -nf) +SET(OMNIORB_IDLPYFLAGS -bpython) +IF (OMNIORB_PYTHON_BACKEND) + SET(OMNIORB_IDLPYFLAGS "-p ${OMNIORB_PYTHON_BACKEND} ${OMNIORB_IDLPYFLAGS}") +ENDIF() +SET(IDLCXXFLAGS ${OMNIORB_IDLCXXFLAGS}) +SET(IDLPYFLAGS ${OMNIORB_IDLPYFLAGS}) +SET(IDL_CLN_H .hh) +SET(IDL_SRV_H .hh) +SET(OMNIORB_DEFINITIONS "-D__x86__ -DCOMP_CORBA_DOUBLE -DCOMP_CORBA_LONG") +IF(WIN32) + SET(OMNIORB_DEFINITIONS "${OMNIORB_DEFINITIONS} -D__WIN32__") +ENDIF() +IF(APPLE) + SET(OMNIORB_DEFINITIONS "${OMNIORB_DEFINITIONS} -D__macos__")#for omnithread.h to be checked... +ENDIF() + +# Handle standard arguments: +INCLUDE(FindPackageHandleStandardArgs) +IF(OMNIORB_VERSION) + FIND_PACKAGE_HANDLE_STANDARD_ARGS(OmniORB + REQUIRED_VARS OMNIORB_INCLUDE_DIR OMNIORB_LIBRARY_omniORB4 OMNIORB_LIBRARY_omnithread + OMNIORB_LIBRARY_omniDynamic4 OMNIORB_IDL_COMPILER OMNIORB_PYTHON_BACKEND + VERSION_VAR OMNIORB_VERSION ) +ELSE() + FIND_PACKAGE_HANDLE_STANDARD_ARGS(OmniORB + REQUIRED_VARS OMNIORB_INCLUDE_DIR OMNIORB_LIBRARY_omniORB4 OMNIORB_LIBRARY_omnithread + OMNIORB_LIBRARY_omniDynamic4 OMNIORB_IDL_COMPILER OMNIORB_PYTHON_BACKEND) +ENDIF() diff --git a/salome_adm/cmake_files/FindPThread.cmake b/salome_adm/cmake_files/FindPThread.cmake new file mode 100644 index 000000000..5df33ace9 --- /dev/null +++ b/salome_adm/cmake_files/FindPThread.cmake @@ -0,0 +1,68 @@ +# - Find PThread +# This module finds an installed PThread using the variable PTHREAD_ROOT_DIR +# as a lookup path. +# It sets the following variables: +# PTHREAD_FOUND - set to true if PThread is found +# PTHREAD_INCLUDE_DIR - the directory where the include files are located +# PTHREAD_LIBRARIES - the path to PThread library +# +# The file "pthread.h" is looked for PTHREAD_INCLUDE_DIR. +# Libraries are searched with following names: +# pthread +# On Win32: +# pthreadVSE2 pthreadVC2 +# or in Debug mode: +# pthreadVSE2d pthreadVC2d +# + + +############################################################# +# 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 +# +############################################################# + +IF(NOT PThread_FIND_QUIETLY) + MESSAGE(STATUS "Looking for PThread...") +ENDIF () + +IF(WIN32) + SET(PTHREADS_INCLUDE_TO_FIND pthread.h) + FIND_PATH(PTHREAD_INCLUDE_DIR ${PTHREADS_INCLUDE_TO_FIND}) + # Default build type is assumed to be Release: + IF(NOT CMAKE_BUILD_TYPE STREQUAL Debug) + FIND_LIBRARY(PTHREAD_LIBRARIES pthreadVSE2 pthreadVC2) + ELSE() + FIND_LIBRARY(PTHREAD_LIBRARIES pthreadVSE2d pthreadVC2d) + ENDIF() +ELSE(WIN32) + FIND_PATH(PTHREAD_INCLUDE_DIR pthread.h) + FIND_LIBRARY(PTHREAD_LIBRARIES NAMES pthread) +ENDIF(WIN32) + +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(PThread REQUIRED_VARS PTHREAD_INCLUDE_DIR PTHREAD_LIBRARIES) + +IF(PTHREAD_FOUND) + IF(NOT PThread_FIND_QUIETLY) + MESSAGE(STATUS "PThread library: ${PTHREAD_LIBRARIES}") + ENDIF() +ENDIF() diff --git a/salome_adm/cmake_files/FindSalomeBoost.cmake b/salome_adm/cmake_files/FindSalomeBoost.cmake new file mode 100644 index 000000000..fc191f91a --- /dev/null +++ b/salome_adm/cmake_files/FindSalomeBoost.cmake @@ -0,0 +1,31 @@ +# Copyright (C) 2013 CEA/DEN, EDF R&D, OPEN CASCADE +# +# 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 +# +# Author: Adrien Bruneton +# + +# Boost detection dor Salome +# +# !! Please read the generic detection procedure in SalomeMacros.cmake !! +# +SET(Boost_USE_STATIC_LIBS OFF) +SET(Boost_USE_MULTITHREADED ON ) +SET(Boost_USE_STATIC_RUNTIME OFF) + +SALOME_FIND_PACKAGE_AND_DETECT_CONFLICTS(Boost Boost_INCLUDE_DIRS 1) +#MARK_AS_ADVANCED() diff --git a/salome_adm/cmake_files/FindSalomeCppUnit.cmake b/salome_adm/cmake_files/FindSalomeCppUnit.cmake new file mode 100644 index 000000000..81a903ee7 --- /dev/null +++ b/salome_adm/cmake_files/FindSalomeCppUnit.cmake @@ -0,0 +1,28 @@ +# Copyright (C) 2013 CEA/DEN, EDF R&D, OPEN CASCADE +# +# 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 +# +# Author: Adrien Bruneton +# + +# CppUnit detection for Salome +# +# !! Please read the generic detection procedure in SalomeMacros.cmake !! +# + +SALOME_FIND_PACKAGE_AND_DETECT_CONFLICTS(CppUnit CPPUNIT_INCLUDE_DIR 1) +MARK_AS_ADVANCED(CPPUNIT_INCLUDE_DIR CPPUNIT_LIBRARIES) diff --git a/salome_adm/cmake_files/FindSalomeDoxygen.cmake b/salome_adm/cmake_files/FindSalomeDoxygen.cmake new file mode 100644 index 000000000..430f1b438 --- /dev/null +++ b/salome_adm/cmake_files/FindSalomeDoxygen.cmake @@ -0,0 +1,28 @@ +# Copyright (C) 2013 CEA/DEN, EDF R&D, OPEN CASCADE +# +# 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 +# +# Author: Adrien Bruneton +# + +# Doxygen detection for salome +# +# !! Please read the generic detection procedure in SalomeMacros.cmake !! +# + +SALOME_FIND_PACKAGE_AND_DETECT_CONFLICTS(Doxygen DOXYGEN_EXECUTABLE 2) +#MARK_AS_ADVANCED() diff --git a/salome_adm/cmake_files/FindSalomeGraphviz.cmake b/salome_adm/cmake_files/FindSalomeGraphviz.cmake new file mode 100644 index 000000000..e9b02f7bb --- /dev/null +++ b/salome_adm/cmake_files/FindSalomeGraphviz.cmake @@ -0,0 +1,28 @@ +# Copyright (C) 2013 CEA/DEN, EDF R&D, OPEN CASCADE +# +# 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 +# +# Author: Adrien Bruneton +# + +# Graphviz detection for salome +# +# !! Please read the generic detection procedure in SalomeMacros.cmake !! +# + +SALOME_FIND_PACKAGE_AND_DETECT_CONFLICTS(Graphviz GRAPHVIZ_EXECUTABLE 2) +MARK_AS_ADVANCED(GRAPHVIZ_EXECUTABLE) diff --git a/salome_adm/cmake_files/FindSalomeHDF5.cmake b/salome_adm/cmake_files/FindSalomeHDF5.cmake index e59ea8115..00e7301fd 100644 --- a/salome_adm/cmake_files/FindSalomeHDF5.cmake +++ b/salome_adm/cmake_files/FindSalomeHDF5.cmake @@ -16,25 +16,41 @@ # # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # +# Author: Adrien Bruneton +# # HDF5 detection for Salome +# +# !! Please read the generic detection procedure in SalomeMacros.cmake !! +# +# --- HDF5 specificities ---- +# MPI root directory used for HDF5 compilation is exposed into MPI_ROOT_DIR_EXP +# + +SALOME_FIND_PACKAGE_AND_DETECT_CONFLICTS(HDF5 HDF5_INCLUDE_DIR 1) +MARK_AS_ADVANCED(FORCE HDF5_INCLUDE_DIR HDF5_LIB) -set(HDF5_ROOT_DIR $ENV{HDF5_ROOT_DIR} CACHE PATH "Path to Hdf5 directory") +# 7. Expose MPI configuration to the rest of the world +IF(HDF5_ENABLE_PARALLEL OR HDF5_IS_PARALLEL) + # Set only one reference boolean variable: + # (unfortunately what is found in /usr/share/cmake/Modules/FindHDF5.cmake + # and in the native HDF5-config.cmake differ!) + SET(HDF5_IS_PARALLEL TRUE) -# If HDF5 is compiled with CMake, we use the config file -if(EXISTS ${HDF5_ROOT_DIR}/share/cmake/hdf5) - INCLUDE(${HDF5_ROOT_DIR}/share/cmake/hdf5/hdf5-config.cmake) -endif(EXISTS ${HDF5_ROOT_DIR}/share/cmake/hdf5) + # HDF5 was compiled with MPI support + # Unfortunately HDF5 doesn't expose its MPI configuration easily ... + # We sniff the properties of the HDF5 target which should also be there: + GET_PROPERTY(_lib_lst TARGET hdf5 PROPERTY IMPORTED_LINK_INTERFACE_LIBRARIES_NOCONFIG) + FOREACH(s ${_lib_lst}) + STRING(FIND "${s}" "mpi." _res) # should cover WIN(?) and LINUX + IF(_res GREATER -1) + GET_FILENAME_COMPONENT(_tmp "${s}" PATH) # go up to levels + GET_FILENAME_COMPONENT(MPI_ROOT_DIR_EXP "${_tmp}" PATH) + BREAK() + ENDIF() + ENDFOREACH() + IF(NOT SalomeHDF5_FIND_QUIETLY) + MESSAGE(STATUS "HDF5 was compiled with MPI: ${MPI_ROOT_DIR_EXP}") + ENDIF() +ENDIF() -if(EXISTS ${HDF5_ROOT_DIR}) - set(CMAKE_INCLUDE_PATH ${HDF5_ROOT_DIR}/include) - set(CMAKE_LIBRARY_PATH ${HDF5_ROOT_DIR}/lib) - set(CMAKE_PROGRAM_PATH ${HDF5_ROOT_DIR}/bin) -endif(EXISTS ${HDF5_ROOT_DIR}) -find_package(HDF5 COMPONENTS C REQUIRED) -if (HDF5_FOUND) - set(HDF5_DEFINITIONS "-DH5_USE_16_API ${HDF5_DEFINITIONS}" ) - if(WINDOWS) - set(HDF5_DEFINITIONS "-D_HDF5USEDLL_ ${HDF5_DEFINITIONS}" ) - endif(WINDOWS) -endif(HDF5_FOUND) diff --git a/salome_adm/cmake_files/FindSalomeLibBatch.cmake b/salome_adm/cmake_files/FindSalomeLibBatch.cmake new file mode 100644 index 000000000..0c78aff75 --- /dev/null +++ b/salome_adm/cmake_files/FindSalomeLibBatch.cmake @@ -0,0 +1,28 @@ +# Copyright (C) 2013 CEA/DEN, EDF R&D, OPEN CASCADE +# +# 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 +# +# Author: Adrien Bruneton +# + +# LibBatch detection dor Salome +# +# !! Please read the generic detection procedure in SalomeMacros.cmake !! +# + +SALOME_FIND_PACKAGE_AND_DETECT_CONFLICTS(LibBatch LIBBATCH_ROOT_DIR_EXP 0) +#MARK_AS_ADVANCED() diff --git a/salome_adm/cmake_files/FindSalomeLibXml2.cmake b/salome_adm/cmake_files/FindSalomeLibXml2.cmake new file mode 100644 index 000000000..dfe4148e3 --- /dev/null +++ b/salome_adm/cmake_files/FindSalomeLibXml2.cmake @@ -0,0 +1,26 @@ +# Copyright (C) 2013 CEA/DEN, EDF R&D, OPEN CASCADE +# +# 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 +# + +# LibXml2 detection for SALOME +# +# !! Please read the generic detection procedure in SalomeMacros.cmake !! +# +SALOME_FIND_PACKAGE_AND_DETECT_CONFLICTS(LibXml2 LIBXML2_INCLUDE_DIR 2) +#MARK_AS_ADVANCED() + diff --git a/salome_adm/cmake_files/FindSalomeMPI.cmake b/salome_adm/cmake_files/FindSalomeMPI.cmake index b1fdb8894..43824c99f 100644 --- a/salome_adm/cmake_files/FindSalomeMPI.cmake +++ b/salome_adm/cmake_files/FindSalomeMPI.cmake @@ -16,17 +16,13 @@ # # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # +# Author: Adrien Bruneton +# # MPI detection for Salome +# +# !! Please read the generic detection procedure in SalomeMacros.cmake !! +# -set(MPI_ROOT_DIR $ENV{MPI_ROOT_DIR} CACHE PATH "Path to Mpi directory") -if(EXISTS ${MPI_ROOT_DIR}) - set(CMAKE_INCLUDE_PATH ${MPI_ROOT_DIR}/include) - set(CMAKE_LIBRARY_PATH ${MPI_ROOT_DIR}/lib) - set(CMAKE_PROGRAM_PATH ${MPI_ROOT_DIR}/bin) -endif(EXISTS ${MPI_ROOT_DIR}) -find_package(MPI REQUIRED) -if(HDF5_IS_PARALLEL OR HDF5_ENABLE_PARALLEL) - set(HDF5_INCLUDE_DIRS ${HDF5_INCLUDE_DIRS} ${MPI_C_INCLUDE_PATH} ${MPI_CXX_INCLUDE_PATH} ) - set(HDF5_LIBRARIES ${HDF5_LIBRARIES} ${MPI_C_LIBRARIES} ${MPI_CXX_LIBRARIES}) -endif(HDF5_IS_PARALLEL OR HDF5_ENABLE_PARALLEL) +SALOME_FIND_PACKAGE_AND_DETECT_CONFLICTS(MPI MPIEXEC 2) +MARK_AS_ADVANCED(MPI_EXTRA_LIBRARY MPI_LIBRARY) diff --git a/salome_adm/cmake_files/FindSalomeOmniORB.cmake b/salome_adm/cmake_files/FindSalomeOmniORB.cmake new file mode 100644 index 000000000..3b7d58218 --- /dev/null +++ b/salome_adm/cmake_files/FindSalomeOmniORB.cmake @@ -0,0 +1,27 @@ +# Copyright (C) 2013 CEA/DEN, EDF R&D, OPEN CASCADE +# +# 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 +# +# Author: Adrien Bruneton +# + +# omniORB detection for SALOME +# +# !! Please read the generic detection procedure in SalomeMacros.cmake !! +# +SALOME_FIND_PACKAGE_AND_DETECT_CONFLICTS(OmniORB OMNIORB_INCLUDE_DIR 1) +#MARK_AS_ADVANCED() diff --git a/salome_adm/cmake_files/FindSalomePThread.cmake b/salome_adm/cmake_files/FindSalomePThread.cmake new file mode 100644 index 000000000..4d1353fb5 --- /dev/null +++ b/salome_adm/cmake_files/FindSalomePThread.cmake @@ -0,0 +1,27 @@ +# Copyright (C) 2013 CEA/DEN, EDF R&D, OPEN CASCADE +# +# 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 +# +# Author: Adrien Bruneton +# + +# PThread detection for SALOME +# +# !! Please read the generic detection procedure in SalomeMacros.cmake !! +# +SALOME_FIND_PACKAGE_AND_DETECT_CONFLICTS(PThread PTHREAD_INCLUDE_DIR 1) +MARK_AS_ADVANCED(PTHREAD_LIBRARIES PTHREAD_INCLUDE_DIR) diff --git a/salome_adm/cmake_files/FindSalomePython.cmake b/salome_adm/cmake_files/FindSalomePython.cmake new file mode 100644 index 000000000..f20071707 --- /dev/null +++ b/salome_adm/cmake_files/FindSalomePython.cmake @@ -0,0 +1,138 @@ +# Copyright (C) 2013 CEA/DEN, EDF R&D, OPEN CASCADE +# +# 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 +# +# Author: Adrien Bruneton +# + +# Python libraries and interpreter detection for SALOME +# +# !! Please read the generic detection procedure in SalomeMacros.cmake !! +# +# The interpreter is found first, and if OK, the corresponding libraries are searched. +# We ensure the version of the libraries matches the one of the interpreter. +# + +# 1. Load environment or any previously detected Python +IF(DEFINED ENV{PYTHON_ROOT_DIR}) + FILE(TO_CMAKE_PATH "$ENV{PYTHON_ROOT_DIR}" _PYTHON_ROOT_DIR_ENV) + SET(_dflt_value "${_PYTHON_ROOT_DIR_ENV}") +ELSE() + # will be blank if no Python was previously loaded + SET(_dflt_value "${PYTHON_ROOT_DIR_EXP}") +ENDIF() + +# Make cache entry +SET(PYTHON_ROOT_DIR "${_dflt_value}" CACHE PATH "Path to Python directory (interpreter and libs)") + +# 2. Find package - config mode first (i.e. looking for XYZ-config.cmake) +IF(EXISTS "${PYTHON_ROOT_DIR}") + # Hope to find direclty a CMake config file there + SET(_CONF_DIR "${PYTHON_ROOT_DIR}/share/cmake") + + # Try find_package in config mode with a hard-coded guess. This + # has the priority. + FIND_PACKAGE(Python CONFIG QUIET PATHS "${_CONF_DIR}") + MARK_AS_ADVANCED(Python_DIR) + + IF (NOT PYTHON_FOUND) + LIST(APPEND CMAKE_PREFIX_PATH "${PYTHON_ROOT_DIR}") + ELSE() + MESSAGE(STATUS "Found Python in CONFIG mode!") + ENDIF() +ENDIF() + +# Otherwise try the standard way (module mode, with the standard CMake Find*** macro): +SALOME_FIND_PACKAGE(SalomePython PythonInterp MODULE) +SET(_found1 ${PYTHONINTERP_FOUND}) + +IF (PYTHONINTERP_FOUND) + # Now ensure we find the Python libraries matching the interpreter: + # This uses the variable PYTHON_EXECUTABLE + GET_FILENAME_COMPONENT(_python_dir "${PYTHON_EXECUTABLE}" PATH) + GET_FILENAME_COMPONENT(CMAKE_INCLUDE_PATH "${_python_dir}/../include/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}" ABSOLUTE) + GET_FILENAME_COMPONENT(CMAKE_LIBRARY_PATH "${_python_dir}/../lib" ABSOLUTE) + # For a Windows install, this might look more like this: + IF(WIN32) + LIST(APPEND CMAKE_LIBRARY_PATH "${_python_dir}/libs" ABSOLUTE) + LIST(APPEND CMAKE_INCLUDE_PATH "${_python_dir}/include" ABSOLUTE) + ENDIF() + # Override the EXACT and VERSION settings of the SalomePython module + # to force the next call to SALOME_FIND_PACKAGE() to find the exact matching + # version: + SET(_old_EXACT ${SalomePython_FIND_VERSION_EXACT}) + SET(_old_VERSION "${SalomePython_FIND_VERSION}") + SET(SalomePython_FIND_VERSION_EXACT TRUE) + SET(SalomePython_FIND_VERSION "${PYTHON_VERSION_STRING}") + # Prepare call to FIND_PACKAGE(PythonLibs) and ensure priority is given to + # the location found for the interpreter: + GET_FILENAME_COMPONENT(_tmp "${_python_dir}" PATH) +# SET(PYTHON_LIBRARY ${_tmp}/lib) +# SET(PYTHON_INCLUDE_DIR ${_tmp}/include) + SALOME_FIND_PACKAGE(SalomePython PythonLibs MODULE) + # Restore variables: + SET(SalomePython_FIND_VERSION_EXACT ${_old_EXACT}) + SET(SalomePython_FIND_VERSION "${_old_VERSION}") +ENDIF() + +# Set the FOUND flag for SalomePython: +SET(SALOMEPYTHON_FOUND FALSE) +IF (_found1 AND PYTHONLIBS_FOUND) + SET(SALOMEPYTHON_FOUND TRUE) +ENDIF() + +IF (SALOMEPYTHON_FOUND) + MESSAGE(STATUS "Python interpreter and Python libraries found:") + MESSAGE(STATUS "Python libraries: ${PYTHON_LIBRARY}") + MESSAGE(STATUS "Python include dir: ${PYTHON_INCLUDE_DIR}") + + # 3. Set the root dir which was finally retained + # For Python this is the grand-parent of the + # include directory: + GET_FILENAME_COMPONENT(_tmp_ROOT_DIR "${PYTHON_INCLUDE_DIR}" PATH) + GET_FILENAME_COMPONENT(_tmp_ROOT_DIR "${_tmp_ROOT_DIR}" PATH) + + # 4. Warn if CMake found something not located under ENV(XYZ_ROOT_DIR) + IF(DEFINED ENV{PYTHON_ROOT_DIR}) + SALOME_CHECK_EQUAL_PATHS(_res "${_tmp_ROOT_DIR}" "${_PYTHON_ROOT_DIR_ENV}") + IF(NOT _res) + MESSAGE(WARNING "Python was found, but not a the path given by the " +"environment PYTHON_ROOT_DIR! Is the variable correctly set?") + ELSE() + MESSAGE(STATUS "Python found directory matches what was specified in the PYTHON_ROOT_DIR, all good!") + ENDIF() + ENDIF() + + # 5. Conflict detection + # 5.1 From another prerequisite using Python + IF(PYTHON_ROOT_DIR_EXP) + SALOME_CHECK_EQUAL_PATHS(_res "${_tmp_ROOT_DIR}" "${PYTHON_ROOT_DIR_EXP}") + IF(NOT _res) + MESSAGE(WARNING "Warning: Python: detected version conflicts with a previously found Python!" + "The two paths are " ${_tmp_ROOT_DIR} " vs " ${PYTHON_ROOT_DIR_EXP}) + ELSE() + MESSAGE(STATUS "Python directory matches what was previously exposed by another prereq, all good!") + ENDIF() + ENDIF() + + # 6. Specifics + ## None here +ELSE() + MESSAGE(STATUS "Python was only partially (or not at all) found .") +ENDIF() + + diff --git a/salome_adm/cmake_files/FindSalomeSWIG.cmake b/salome_adm/cmake_files/FindSalomeSWIG.cmake index 86549f63a..80c7b6595 100644 --- a/salome_adm/cmake_files/FindSalomeSWIG.cmake +++ b/salome_adm/cmake_files/FindSalomeSWIG.cmake @@ -16,13 +16,12 @@ # # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # +# Author: Adrien Bruneton +# -# Swig detection for Salome - -set(SWIG_ROOT_DIR $ENV{SWIG_ROOT_DIR} CACHE PATH "Path to Swig directory") -if(EXISTS ${SWIG_ROOT_DIR}) - set(CMAKE_INCLUDE_PATH ${SWIG_ROOT_DIR}/include) - set(CMAKE_LIBRARY_PATH ${SWIG_ROOT_DIR}/lib) - set(CMAKE_PROGRAM_PATH ${SWIG_ROOT_DIR}/bin) -endif(EXISTS ${SWIG_ROOT_DIR}) -find_package(SWIG REQUIRED) +# SWIG detection for SALOME +# +# !! Please read the generic detection procedure in SalomeMacros.cmake !! +# +SALOME_FIND_PACKAGE_AND_DETECT_CONFLICTS(SWIG SWIG_EXECUTABLE 2) +MARK_AS_ADVANCED(SWIG_EXECUTABLE SWIG_VERSION) diff --git a/salome_adm/cmake_files/FindSalomeSphinx.cmake b/salome_adm/cmake_files/FindSalomeSphinx.cmake new file mode 100644 index 000000000..3aa6527e7 --- /dev/null +++ b/salome_adm/cmake_files/FindSalomeSphinx.cmake @@ -0,0 +1,26 @@ +# Copyright (C) 2013 CEA/DEN, EDF R&D, OPEN CASCADE +# +# 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 +# + +# Sphinx detection for Salome +# +# !! Please read the generic detection procedure in SalomeMacros.cmake !! +# + +SALOME_FIND_PACKAGE_AND_DETECT_CONFLICTS(Sphinx SPHINX_EXECUTABLE 2) +MARK_AS_ADVANCED(SPHINX_EXECUTABLE) diff --git a/salome_adm/cmake_files/FindSphinx.cmake b/salome_adm/cmake_files/FindSphinx.cmake new file mode 100644 index 000000000..ac0c954ee --- /dev/null +++ b/salome_adm/cmake_files/FindSphinx.cmake @@ -0,0 +1,37 @@ +# - Sphinx detection +# +# Output variable: SPHINX_EXECUTABLE +# +# The executable 'sphinx-build' is looked for and returned in the above variable. +# + +########################################################################### +# 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 +# +########################################################################### + +FIND_PROGRAM(SPHINX_EXECUTABLE sphinx-build) + +# Handle the standard arguments of the find_package() command: +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(Sphinx REQUIRED_VARS SPHINX_EXECUTABLE) + diff --git a/salome_adm/cmake_files/SalomeKERNELConfig.cmake.in b/salome_adm/cmake_files/SalomeKERNELConfig.cmake.in new file mode 100644 index 000000000..b9de34346 --- /dev/null +++ b/salome_adm/cmake_files/SalomeKERNELConfig.cmake.in @@ -0,0 +1,96 @@ +# - 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 +# +# Other stuff specific to this package: +# 1. Some flags: +# LIBBATCH_LOCAL_SUBMISSION - boolean indicating whether LibBatch was built with the +# local submission support. +# LIBBATCH_PYTHON_WRAPPING - boolean indicating whether the Python wrapping was built. +# LIBBATCH_PYTHONPATH - (if above is True) path to the Python wrapping. + +############################################################### +# 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 batch AND NOT @PROJECT_NAME@_BINARY_DIR) + INCLUDE("@PACKAGE_SALOME_INSTALL_CMAKE@/@PROJECT_NAME@Targets.cmake") +ENDIF() + +# Package root dir: +SET_AND_CHECK(KERNEL_ROOT_DIR_EXP "@PACKAGE_CMAKE_INSTALL_PREFIX@") + +#### Now the specificities + +# Options exported by the package: +SET(SALOME_USE_MPI @SALOME_USE_MPI@) +SET(SALOME_BUILD_DOC @SALOME_BUILD_DOC@) +SET(SALOME_BUILD_TESTS @SALOME_BUILD_TESTS@) +SET(SALOME_LIGHT_ONLY @SALOME_LIGHT_ONLY@) + +# Prerequisites: +IF(SALOME_BUILD_TESTS) + SET_AND_CHECK(CPPUNIT_ROOT_DIR_EXP "@PACKAGE_CPPUNIT_ROOT_DIR@") +ENDIF() +IF(SALOME_BUILD_DOC) + SET_AND_CHECK(GRAPHVIZ_ROOT_DIR_EXP "@PACKAGE_GRAPHVIZ_ROOT_DIR@") + SET_AND_CHECK(DOXYGEN_ROOT_DIR_EXP "@PACKAGE_DOXYGEN_ROOT_DIR@") + SET_AND_CHECK(SPHINX_ROOT_DIR_EXP "@PACKAGE_SPHINX_ROOT_DIR@") +ENDIF() +IF(SALOME_USE_MPI) + SET_AND_CHECK(MPI_ROOT_DIR_EXP "@PACKAGE_MPI_ROOT_DIR@") +ENDIF() +IF(NOT SALOME_LIGHT_ONLY) + SET_AND_CHECK(OMNIORB_ROOT_DIR_EXP "@PACKAGE_OMNIORB_ROOT_DIR@") +ENDIF() +IF(SALOME_USE_LIBBATCH) + SET_AND_CHECK(LIBBATCH_ROOT_DIR_EXP "@PACKAGE_LIBBATCH_ROOT_DIR@") +ENDIF() + +SET_AND_CHECK(PTHREAD_ROOT_DIR_EXP "@PACKAGE_PTHREAD_ROOT_DIR@") +SET_AND_CHECK(BOOST_ROOT_DIR_EXP "@PACKAGE_BOOST_ROOT_DIR@") +SET_AND_CHECK(HDF5_ROOT_DIR_EXP "@PACKAGE_HDF5_ROOT_DIR@") +SET_AND_CHECK(LIBXML2_ROOT_DIR_EXP "@PACKAGE_LIBXML2_ROOT_DIR@") +SET_AND_CHECK(PYTHON_ROOT_DIR_EXP "@PACKAGE_PYTHON_ROOT_DIR@") +SET_AND_CHECK(SWIG_ROOT_DIR_EXP "@PACKAGE_SWIG_ROOT_DIR@") + +# 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_PYTHON "@SALOME_INSTALL_PYTHON@") +SET_AND_CHECK(SALOME_INSTALL_PYTHON_SHARED "@SALOME_INSTALL_PYTHON_SHARED@") diff --git a/salome_adm/cmake_files/SalomeMacros.cmake b/salome_adm/cmake_files/SalomeMacros.cmake index 377d5c723..ea4337aec 100755 --- a/salome_adm/cmake_files/SalomeMacros.cmake +++ b/salome_adm/cmake_files/SalomeMacros.cmake @@ -16,6 +16,8 @@ # # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # +# Author: A.Geay, V. Sandler, A. Bruneton +# #---------------------------------------------------------------------------- # LIST_CONTAINS is a macro useful for determining whether a list has a @@ -160,4 +162,207 @@ MACRO(SALOME_CONFIGURE_FILE IN_FILE OUT_FILE) IF(SALOME_CONFIGURE_FILE_INSTALL) INSTALL(FILES ${OUT_FILE} DESTINATION ${SALOME_CONFIGURE_FILE_INSTALL}) ENDIF(SALOME_CONFIGURE_FILE_INSTALL) -ENDMACRO(SALOME_CONFIGURE_FILE) \ No newline at end of file +ENDMACRO(SALOME_CONFIGURE_FILE) + + +####################################################################################### +# Useful macros for SALOME own package detection system +# + +### +# SALOME_CHECK_EQUAL_PATHS(result path1 path2) +# Check if two paths are identical, resolving links. If the paths do not exist a simple +# text comparison is performed. +# result is a boolean. +### +MACRO(SALOME_CHECK_EQUAL_PATHS varRes path1 path2) + SET("${varRes}" OFF) + IF(EXISTS "${path1}") + GET_FILENAME_COMPONENT(_tmp1 "${path1}" REALPATH) + ELSE() + SET(_tmp1 "${path1}") + ENDIF() + + IF(EXISTS "${path2}") + GET_FILENAME_COMPONENT(_tmp2 "${path2}" REALPATH) + ELSE() + SET(_tmp2 "${path2}") + ENDIF() + + IF("${_tmp1}" STREQUAL "${_tmp2}") + SET("${varRes}" ON) + ENDIF() +# MESSAGE(${${varRes}}) +ENDMACRO() + + +#### +# SALOME_FIND_PACKAGE(englobingPackageName standardPackageName modus) +# Encapsulate the call to the standard FIND_PACKAGE(standardPackageName) passing all the options +# given when calling the command FIND_PACKAGE(customPackageName) +# Modus is either MODULE or CONFIG (cf standard FIND_PACKAGE() documentation). +# This macro is to be called from within the FindCustomPackage.cmake file. +#### +MACRO(SALOME_FIND_PACKAGE englobPkg stdPkg mode) + # Only bother if the package was not already found: + # Some old packages use the lower case version - standard should be to always use + # upper case: + STRING(TOUPPER ${stdPkg} stdPkgUC) + IF(NOT (${stdPkg}_FOUND OR ${stdPkgUC}_FOUND)) + IF(${englobPkg}_FIND_QUIETLY) + SET(_tmp_quiet "QUIET") + ELSE() + SET(_tmp_quiet) + ENDIF() + IF(${englobPkg}_FIND_REQUIRED) + SET(_tmp_req "REQUIRED") + ELSE() + SET(_tmp_req) + ENDIF() + IF(${englobPkg}_FIND_VERSION_EXACT) + SET(_tmp_exact "EXACT") + ELSE() + SET(_tmp_exact) + ENDIF() + IF(${englobPkg}_FIND_COMPONENTS) + STRING(REPLACE ";" " " _tmp_compo ${${englobPkg}_FIND_COMPONENTS}) + ELSE() + SET(_tmp_compo) + ENDIF() + + # Call the root FIND_PACKAGE(): + IF(_tmp_compo) + FIND_PACKAGE(${stdPkg} ${${englobPkg}_FIND_VERSION} ${_tmp_exact} ${mode} ${_tmp_quiet} ${_tmp_req} COMPONENTS ${_tmp_compo}) + ELSE() + FIND_PACKAGE(${stdPkg} ${${englobPkg}_FIND_VERSION} ${_tmp_exact} ${mode} ${_tmp_quiet} ${_tmp_req}) + ENDIF() + ENDIF() +ENDMACRO() + + +####################################################################" +# SALOME_FIND_PACKAGE_DETECT_CONFLICTS(pkg referenceVariable upCount) +# pkg : name of the system package to be detected +# referenceVariable: variable containing a path that can be browsed up to +# retrieve the package root directory (xxx_ROOT_DIR) +# upCount : number of times we have to go up from the path +# to obtain the package root directory. +# +# For example: SALOME_FIND_PACKAGE_DETECT_CONFLICTS(SWIG SWIG_EXECUTABLE 2) +# +# Generic detection (and conflict check) procedure for package XYZ: +# 1. Load a potential env variable XYZ_ROOT_DIR as a default choice for the cache entry XYZ_ROOT_DIR +# If empty, load a potential XYZ_ROOT_DIR_EXP as default value (path exposed by another package depending +# directly on XYZ) +# 2. Invoke FIND_PACKAGE() in this order: +# * in CONFIG mode first (if possible): priority is given to a potential +# "XYZ-config.cmake" file +# * then switch to the standard MODULE mode, appending on CMAKE_PREFIX_PATH +# the above XYZ_ROOT_DIR variable +# 3. Extract the path actually found into a temp variable _XYZ_TMP_DIR +# 4. Warn if XYZ_ROOT_DIR is set and doesn't match what was found (e.g. when CMake found the system installation +# instead of what is pointed to by XYZ_ROOT_DIR - happens when a typo in the content of XYZ_ROOT_DIR). +# 5. Conflict detection: +# * check the temp variable against a potentially existing XYZ_ROOT_DIR_EXP +# 6. Finally expose what was *actually* found in XYZ_ROOT_DIR. +# 7. Specific stuff: for example exposing a prerequisite of XYZ to the rest of the world for future +# conflict detection. This is added after the call to the macro by the callee. +# +MACRO(SALOME_FIND_PACKAGE_AND_DETECT_CONFLICTS pkg referenceVariable upCount) + STRING(TOUPPER ${pkg} pkg_UC) + + # 1. Load environment or any previously detected root dir for the package + IF(DEFINED ENV{${pkg_UC}_ROOT_DIR}) + FILE(TO_CMAKE_PATH "$ENV{${pkg_UC}_ROOT_DIR}" _${pkg_UC}_ROOT_DIR_ENV) + SET(_dflt_value "${_${pkg_UC}_ROOT_DIR_ENV}") + ELSE() + # will be blank if no package was previously loaded + SET(_dflt_value "${${pkg_UC}_ROOT_DIR_EXP}") + ENDIF() + + # Make cache entry + SET(${pkg_UC}_ROOT_DIR "${_dflt_value}" CACHE PATH "Path to ${pkg_UC} directory") + + # 2. Find package - config mode first (i.e. looking for XYZ-config.cmake) + IF(EXISTS "${${pkg_UC}_ROOT_DIR}") + # Hope to find direclty a CMake config file there + SET(_CONF_DIR "${${pkg_UC}_ROOT_DIR}/share/cmake") + + # Try find_package in config mode with a hard-coded guess. This + # has the priority. + STRING(TOLOWER ${pkg} _pkg_lc) + FIND_PACKAGE(${pkg} NO_MODULE QUIET PATHS "${_CONF_DIR}" "${_CONF_DIR}/${pkg}" + "${_CONF_DIR}/${_pkg_lc}") + MARK_AS_ADVANCED(${pkg}_DIR) + + IF (NOT (${pkg_UC}_FOUND OR ${pkg}_FOUND)) + LIST(APPEND CMAKE_PREFIX_PATH "${${pkg_UC}_ROOT_DIR}") + ELSE() + MESSAGE(STATUS "Found ${pkg} in CONFIG mode!") + ENDIF() + ENDIF() + + # Otherwise try the standard way (module mode, with the standard CMake Find*** macro): + SALOME_FIND_PACKAGE("Salome${pkg}" ${pkg} MODULE) + #MESSAGE("dbg ${pkg_UC} / ${PTHREAD_FOUND} / ${${pkg_UC}_FOUND}") + # Set the "FOUND" variable for the SALOME wrapper: + IF(${pkg_UC}_FOUND OR ${pkg}_FOUND) + SET(SALOME${pkg_UC}_FOUND TRUE) + ELSE() + SET(SALOME${pkg_UC}_FOUND FALSE) + ENDIF() + + IF (${pkg_UC}_FOUND OR ${pkg}_FOUND) + # 3. Set the root dir which was finally retained by going up "upDir" times + # from the given reference path. The variable "referenceVariable" may be a list + # - we take its first element. + # Note the double de-reference of "referenceVariable": + LIST(LENGTH "${${referenceVariable}}" _tmp_len) + IF(_tmp_len) + LIST(GET "${${referenceVariable}}" 0 _tmp_ROOT_DIR) + ELSE() + SET(_tmp_ROOT_DIR "${${referenceVariable}}") + ENDIF() + IF(${upCount}) + MATH(EXPR _rge "${upCount}-1") + FOREACH(_unused RANGE ${_rge}) + GET_FILENAME_COMPONENT(_tmp_ROOT_DIR "${_tmp_ROOT_DIR}" PATH) + ENDFOREACH() + ENDIF() + + # 4. Warn if CMake found something not located under ENV(XYZ_ROOT_DIR) + IF(DEFINED ENV{${pkg_UC}_ROOT_DIR}) + SALOME_CHECK_EQUAL_PATHS(_res "${_tmp_ROOT_DIR}" "${_${pkg_UC}_ROOT_DIR_ENV}") + IF(NOT _res) + MESSAGE(WARNING "${pkg} was found, but not at the path given by the " + "environment ${pkg_UC}_ROOT_DIR! Is the variable correctly set? " + "The two paths are: ${_tmp_ROOT_DIR} and: ${_${pkg_UC}_ROOT_DIR_ENV}") + + ELSE() + MESSAGE(STATUS "${pkg} found directory matches what was specified in the ${pkg_UC}_ROOT_DIR variable, all good!") + ENDIF() + ELSE() + MESSAGE(STATUS "Environment variable ${pkg_UC}_ROOT_DIR is not defined. The system installation was found.") + ENDIF() + + # 5. Conflict detection + # 5.1 From another prerequisite using the package + IF(${pkg_UC}_ROOT_DIR_EXP) + SALOME_CHECK_EQUAL_PATHS(_res "${_tmp_ROOT_DIR}" "${${pkg_UC}_ROOT_DIR_EXP}") + IF(NOT _res) + MESSAGE(WARNING "Warning: ${pkg}: detected version conflicts with a previously found ${pkg}!" + "The two paths are " ${_tmp_ROOT_DIR} " vs " ${${pkg_UC}_ROOT_DIR_EXP}) + ELSE() + MESSAGE(STATUS "${pkg} directory matches what was previously exposed by another prereq, all good!") + ENDIF() + ENDIF() + + # 6. Save the found installation + # + SET(${pkg_UC}_ROOT_DIR "${_tmp_ROOT_DIR}") + + ELSE() + MESSAGE(STATUS "${pkg} was not found.") + ENDIF() +ENDMACRO(SALOME_FIND_PACKAGE_AND_DETECT_CONFLICTS) + diff --git a/salome_adm/cmake_files/SalomeSetupPlatform.cmake b/salome_adm/cmake_files/SalomeSetupPlatform.cmake new file mode 100644 index 000000000..7c511fa6b --- /dev/null +++ b/salome_adm/cmake_files/SalomeSetupPlatform.cmake @@ -0,0 +1,107 @@ +# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +# +# 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 +# + +## Detect architecture +IF(WIN32) + SET(MACHINE WINDOWS) +ELSE() + SET(MACHINE PCLINUX) +ENDIF() + +## Test for 64 bits +IF(CMAKE_SIZEOF_VOID_P EQUAL 8) + SET(MACHINE_IS_64 TRUE) +ELSE() + SET(MACHINE_IS_64 FALSE) +ENDIF() + +## Force CMAKE_BUILD_TYPE to Release if not set +IF(NOT CMAKE_BUILD_TYPE) + SET(CMAKE_BUILD_TYPE $ENV{CMAKE_BUILD_TYPE}) +ENDIF(NOT CMAKE_BUILD_TYPE) +IF(NOT CMAKE_BUILD_TYPE) + SET(CMAKE_BUILD_TYPE Release) +ENDIF(NOT CMAKE_BUILD_TYPE) + +## Make all warnings errors on non-windows platforms +# CURRENTLY DISABLED +IF(NOT (WIN32 OR APPLE)) + SET(ADD_WERROR ON) + SET(NAMES ACCEPT_SALOME_WARNINGS ACCEPT_${MODULE}_WARNINGS I_AM_A_TROLL_I_DO_NOT_FIX_${MODULE}_WARNINGS) + FOREACH(name ${NAMES}) + SET(VAL $ENV{${name}}) + IF("${VAL}" STREQUAL "0") + SET(ADD_WERROR ON) + ENDIF() + IF("${VAL}" STREQUAL "1") + SET(ADD_WERROR OFF) + ENDIF() + ENDFOREACH() + + IF(ADD_WERROR) +# SET(CMAKE_C_FLAGS "-Werror") +# SET(CMAKE_CXX_FLAGS "-Werror") + ENDIF() +ENDIF() + +## TODO: remove this ? +#IF(WIN32) +# MARK_AS_ADVANCED(CLEAR CMAKE_CONFIGURATION_TYPES) +# SET(CMAKE_CONFIGURATION_TYPES ${CMAKE_BUILD_TYPE} CACHE STRING "compilation types" FORCE) +#ELSE() +# IF(CMAKE_BUILD_TYPE STREQUAL Debug) +# SET(CMAKE_C_FLAGS_DEBUG "-g") +# SET(CMAKE_CXX_FLAGS_DEBUG "-g") +# ENDIF(CMAKE_BUILD_TYPE STREQUAL Debug) +# IF(CMAKE_BUILD_TYPE STREQUAL Release) +# SET(CMAKE_C_FLAGS_RELEASE "-O1 -DNDEBUG") +# SET(CMAKE_CXX_FLAGS_RELEASE "-O1 -DNDEBUG") +# ENDIF(CMAKE_BUILD_TYPE STREQUAL Release) +#ENDIF() + + +IF(WIN32) + ## Windows specific: + ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS) # To disable windows warnings for strcpy, fopen, ... + ADD_DEFINITIONS(-D_SCL_SECURE_NO_WARNINGS) # To disable windows warnings std::copy, std::transform, ... + ADD_DEFINITIONS(-DWNT -DWIN32) + ADD_DEFINITIONS(-D_WIN32_WINNT=0x0500) # Windows 2000 or later API is required + ADD_DEFINITIONS(-DPPRO_NT) # For medfile + #ADD_DEFINITIONS(-D_USE_MATH_DEFINES) # for MEDMEM + + SET(PLATFORM_LIBS Ws2_32.lib) + LIST(APPEND PLATFORM_LIBS Userenv.lib) # At least for GEOM suit + + IF(MACHINE_IS_64) + ADD_DEFINITIONS(-D_SECURE_SCL=0 -D_SECURE_SCL_THROWS=0) + ADD_DEFINITIONS(-D_HAS_ITERATOR_DEBUGGING=0) # To avoid runtime error during checking iterators + SET(SIZE_OF_LONG "4") # set sizeof(long) to 4 byte + ENDIF() +ELSE() + ## Linux specific: + SET(PLATFORM_LIBS dl) # Dynamic loading (dlopen, dlsym) +ENDIF() + +## Apple specific: +IF(APPLE) + SET(CMAKE_C_COMPILER gcc) + SET(CMAKE_CXX_COMPILER g++) + # because default is clang(llvm) with mountain lion at least +ENDIF() + diff --git a/salome_adm/cmake_files/UseOmniORB.cmake b/salome_adm/cmake_files/UseOmniORB.cmake new file mode 100644 index 000000000..1efa8b206 --- /dev/null +++ b/salome_adm/cmake_files/UseOmniORB.cmake @@ -0,0 +1,92 @@ +# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +# +# 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 +# + +INSTALL( CODE " +SET(INSTALL_PYIDL_DIR lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages/salome) # R1 CHECK +IF(WINDOWS) + SET(INSTALL_PYIDL_DIR bin/salome) # R1 CHECK +ENDIF(WINDOWS) + +MACRO(OMNIORB_COMPILE_IDL_FORPYTHON_ON_INSTALL MYOMNIORBIDLPYTHON MYIDLPYFLAGS MYIDLFILE MYFULLDIR) + FILE(MAKE_DIRECTORY \${MYFULLDIR}) + STRING(REPLACE \" \" \";\" MYIDLPYFLAGS2 \${MYIDLPYFLAGS}) + MESSAGE(STATUS \"Compiling \${MYIDLFILE} into \${MYFULLDIR}\") + EXECUTE_PROCESS(COMMAND \${MYOMNIORBIDLPYTHON} \${MYIDLPYFLAGS2} -C\${MYFULLDIR} \${MYIDLFILE}) +ENDMACRO(OMNIORB_COMPILE_IDL_FORPYTHON_ON_INSTALL) +") + +# This MACRO uses the following vars +# - OMNIORB_IDL : the idl tool (given by default by FindOMNIORB.cmake) +# - OMNIORB_IDLCXXFLAGS : the options (include excluded) to give to omniidl generator (given by default by FindOMNIORB.cmake) +# +# MYMODULE is a string that will be used to create a target with sources containing *.cc coming from the compilation of ${MYIDLFILES} +# MYIDLFILES containing all idl files to be compiled. +# MYIDLCXXFLAGS containing all directories (only directories) where to find *.idl which depend ${MYIDLFILES}. +# TYPE contains type of the library +MACRO(OMNIORB_ADD_MODULE MYMODULE MYIDLFILES MYIDLCXXFLAGS TYPE) + SET(MYSOURCES) + FOREACH(input ${MYIDLFILES}) + GET_FILENAME_COMPONENT(base ${input} NAME_WE) +# STRING(REGEX REPLACE ".idl" "" base ${input}) + SET(OMNIORB_IDLCXXFLAGS2 "${OMNIORB_IDLCXXFLAGS}") + SET(src ${CMAKE_CURRENT_BINARY_DIR}/${base}SK.cc) + SET(MYSOURCES ${MYSOURCES} ${src}) + SET(outputs ${src}) + SET(dynsrc ${CMAKE_CURRENT_BINARY_DIR}/${base}DynSK.cc) + SET(MYSOURCES ${MYSOURCES} ${dynsrc}) + SET(outputs ${outputs} ${dynsrc}) + SET(inc ${CMAKE_CURRENT_BINARY_DIR}/${base}.hh) + SET(outputs ${outputs} ${inc}) + GET_FILENAME_COMPONENT(path ${input} PATH) + IF(NOT path) + SET(input ${CMAKE_CURRENT_SOURCE_DIR}/${input}) + ENDIF(NOT path) + SET(flags ${OMNIORB_IDLCXXFLAGS2}) + STRING(REGEX MATCH "-bcxx" ISBCXX ${flags}) + IF(NOT ISBCXX) + SET(flags -bcxx ${flags}) + ENDIF(NOT ISBCXX) + FOREACH(f ${MYIDLCXXFLAGS}) + SET(flags ${flags} "-I${f}") + ENDFOREACH(f ${MYIDLCXXFLAGS}) + ADD_CUSTOM_COMMAND(OUTPUT ${outputs} + COMMAND ${OMNIORB_IDL_COMPILER} ${flags} ${input} + MAIN_DEPENDENCY ${input}) + SET(IDLPYFLAGS ${flags}) + INSTALL(FILES ${input} DESTINATION idl/salome) + SET(IDL_HEADER ${CMAKE_CURRENT_BINARY_DIR}/${base}.hh) + INSTALL(FILES ${IDL_HEADER} DESTINATION include/salome) + SET(flags) + FOREACH(f ${MYIDLCXXFLAGS}) + SET(flags "${flags} -I${f}") + ENDFOREACH(f ${MYIDLCXXFLAGS}) + STRING(REGEX MATCH "-bpython" ISBPYTHON ${flags}) + IF(NOT ISBPYTHON) + SET(flags "-bpython ${flags}") + ENDIF(NOT ISBPYTHON) + SET(IDLPYFLAGS ${flags}) + STRING(REPLACE "\\" "/" IDLPYFLAGS ${IDLPYFLAGS}) + IF(OMNIORB_PYTHON_BACKEND) + SET(IDLPYFLAGS "${IDLPYFLAGS} -p${OMNIORB_PYTHON_BACKEND}") + INSTALL(CODE "OMNIORB_COMPILE_IDL_FORPYTHON_ON_INSTALL( \"${OMNIORB_IDL_COMPILER}\" \"${IDLPYFLAGS}\" \"${input}\" \"${CMAKE_INSTALL_PREFIX}/\${INSTALL_PYIDL_DIR}\" )") + ENDIF(OMNIORB_PYTHON_BACKEND) + ENDFOREACH(input ${MYIDLFILES}) + ADD_LIBRARY(${MYMODULE} ${TYPE} ${MYSOURCES}) + +ENDMACRO(OMNIORB_ADD_MODULE) diff --git a/salome_adm/cmake_files/deprecated/CMakeLists.txt b/salome_adm/cmake_files/deprecated/CMakeLists.txt index 64f94d31d..7bc826014 100755 --- a/salome_adm/cmake_files/deprecated/CMakeLists.txt +++ b/salome_adm/cmake_files/deprecated/CMakeLists.txt @@ -39,4 +39,4 @@ SET(DATA install_python_from_idl.cmake install_and_compile_python_file.cmake ) -INSTALL(FILES ${DATA} DESTINATION ${KERNEL_salomeadmcmake}/deprecated) +INSTALL(FILES ${DATA} DESTINATION ${SALOME_INSTALL_CMAKE}/deprecated) diff --git a/src/Basics/CMakeLists.txt b/src/Basics/CMakeLists.txt index cf6ec1cc6..362eb7874 100755 --- a/src/Basics/CMakeLists.txt +++ b/src/Basics/CMakeLists.txt @@ -28,9 +28,9 @@ SET(SALOMEBasics_SOURCES ) ADD_LIBRARY(SALOMEBasics ${SALOMEBasics_SOURCES}) -INSTALL(TARGETS SALOMEBasics DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS SALOMEBasics EXPORT salomeKernelTargets DESTINATION ${SALOME_INSTALL_LIBS}) -TARGET_LINK_LIBRARIES(SALOMEBasics ${CMAKE_THREAD_LIBS_INIT} ${PLATFORM_LIBS}) +TARGET_LINK_LIBRARIES(SALOMEBasics ${PLATFORM_LIBS}) FILE(GLOB SALOMEBasics_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") -INSTALL(FILES ${SALOMEBasics_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${SALOMEBasics_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/Basics/Test/CMakeLists.txt b/src/Basics/Test/CMakeLists.txt index 56306f4b2..e69cfaf8c 100755 --- a/src/Basics/Test/CMakeLists.txt +++ b/src/Basics/Test/CMakeLists.txt @@ -18,4 +18,4 @@ # FILE(GLOB SALOMEBasics_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") -INSTALL(FILES ${SALOMEBasics_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${SALOMEBasics_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 3b355f818..15d7bcadd 100755 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -52,11 +52,14 @@ SET(SUBDIR_CORBA DSC ) +SET(SUBDIR_MPI MPIContainer TestMPIContainer) +SET(SUBDIR_PARALLEL ParallelContainer) + +# CppUnit directories: SET(SUBDIR_CPPUNIT_BASE Basics/Test SALOMELocalTrace/Test ) - SET(SUBDIR_CPPUNIT_CORBA Logger/Test SALOMETraceCollector/Test @@ -68,52 +71,32 @@ SET(SUBDIR_CPPUNIT_CORBA SALOMEDS/Test KernelHelpers/Test ) - SET(SUBDIR_CPPUNIT_GENERAL UnitTests) -SET(SUBDIR_MPI MPIContainer TestMPIContainer) -SET(SUBDIR_PARALLEL ParallelContainer) -IF(WITHONLYLAUNCHER) +IF(SALOME_LAUNCHER_ONLY) SET(SUBDIRS Basics ResourcesManager Launcher) -ELSE(WITHONLYLAUNCHER) +ELSE() SET(SUBDIRS ${SUBDIR_BASE}) -ENDIF(WITHONLYLAUNCHER) - -IF(SALOME_USE_CORBA) - SET(SUBDIRS ${SUBDIRS} ${SUBDIR_CORBA}) -ENDIF(SALOME_USE_CORBA) + IF(NOT SALOME_LIGHT_ONLY) + LIST(APPEND SUBDIRS ${SUBDIR_CORBA}) + ENDIF() -IF(SALOME_USE_MPI) - SET(SUBDIRS - ${SUBDIRS} - ${SUBDIR_MPI} - ) + IF(SALOME_USE_MPI) + LIST(APPEND SUBDIRS ${SUBDIR_MPI}) ENDIF(SALOME_USE_MPI) -IF(CPPUNIT_IS_OK) - IF(SALOME_USE_CORBA) - SET(SUBDIRS - ${SUBDIRS} - ${SUBDIR_CPPUNIT_BASE} - ${SUBDIR_CPPUNIT_CORBA} - ${SUBDIR_CPPUNIT_GENERAL} - ) - ELSE(SALOME_USE_CORBA) - SET(SUBDIRS - ${SUBDIRS} - ${SUBDIR_CPPUNIT_BASE} - ${SUBDIR_CPPUNIT_GENERAL} - ) - ENDIF(SALOME_USE_CORBA) -ENDIF(CPPUNIT_IS_OK) +IF(SALOME_BUILD_TESTS) + LIST(APPEND SUBDIRS ${SUBDIR_CPPUNIT_BASE} ${SUBDIR_CPPUNIT_GENERAL}) + IF(NOT SALOME_LIGHT_ONLY) + LIST(APPEND SUBDIRS ${SUBDIR_CPPUNIT_CORBA}) + ENDIF() + ENDIF() -IF(WITH_PACO_PARALLEL) - SET(SUBDIRS - ${SUBDIRS} - ${SUBDIR_PARALLEL} - ) -ENDIF(WITH_PACO_PARALLEL) + IF(SALOME_PACO_PARALLEL) + LIST(APPEND SUBDIRS ${SUBDIR_PARALLEL}) + ENDIF() +ENDIF() -FOREACH(DIR ${SUBDIRS}) - ADD_SUBDIRECTORY(${DIR}) -ENDFOREACH(DIR ${SUBDIRS}) +FOREACH(_dir ${SUBDIRS}) + ADD_SUBDIRECTORY(${_dir}) +ENDFOREACH() diff --git a/src/Communication/CMakeLists.txt b/src/Communication/CMakeLists.txt index 766720401..3cf617e71 100755 --- a/src/Communication/CMakeLists.txt +++ b/src/Communication/CMakeLists.txt @@ -18,7 +18,6 @@ # INCLUDE_DIRECTORIES( - ${PTHREAD_INCLUDE_DIRS} ${OMNIORB_INCLUDE_DIR} ${MPI_CXX_INCLUDE_PATH} ${PYTHON_INCLUDE_DIRS} @@ -51,7 +50,7 @@ ADD_DEFINITIONS(${OMNIORB_DEFINITIONS} ${MPI_CXX_COMPILE_FLAGS}) ADD_LIBRARY(SalomeCommunication ${SalomeCommunication_SOURCES}) TARGET_LINK_LIBRARIES(SalomeCommunication ${COMMON_LIBS}) -INSTALL(TARGETS SalomeCommunication DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS SalomeCommunication DESTINATION ${SALOME_INSTALL_LIBS}) SET(COMMON_HEADERS_HXX MatrixClient.hxx @@ -66,4 +65,4 @@ SET(COMMON_HEADERS_HXX SenderFactory.hxx ) -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/Communication_SWIG/CMakeLists.txt b/src/Communication_SWIG/CMakeLists.txt index 82f2f5df8..eb35c76bd 100755 --- a/src/Communication_SWIG/CMakeLists.txt +++ b/src/Communication_SWIG/CMakeLists.txt @@ -59,5 +59,5 @@ ENDIF(${MACHINE} STREQUAL WINDOWS) ADD_DEPENDENCIES(_libSALOME_Comm SalomeIDLKernel) -INSTALL(TARGETS _libSALOME_Comm DESTINATION ${KERNEL_salomepythondir}) -INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libSALOME_Comm.py DESTINATION ${KERNEL_salomepythondir}) +INSTALL(TARGETS _libSALOME_Comm DESTINATION ${SALOME_INSTALL_PYTHON}) +INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libSALOME_Comm.py DESTINATION ${SALOME_INSTALL_PYTHON}) diff --git a/src/Communication_SWIG/libSALOME_Comm.i b/src/Communication_SWIG/libSALOME_Comm.i index 3c5107c9b..924b65a07 100644 --- a/src/Communication_SWIG/libSALOME_Comm.i +++ b/src/Communication_SWIG/libSALOME_Comm.i @@ -32,7 +32,7 @@ #include "SenderFactory.hxx" %} -%typemap(python,in) SALOME::SenderDouble_ptr +%typemap(in) SALOME::SenderDouble_ptr { PyObject* pdict = PyDict_New(); PyDict_SetItemString(pdict, "__builtins__", PyEval_GetBuiltins()); @@ -62,7 +62,7 @@ $1 = t; } -%typemap(python,in) SALOME::SenderInt_ptr +%typemap(in) SALOME::SenderInt_ptr { PyObject* pdict = PyDict_New(); PyDict_SetItemString(pdict, "__builtins__", PyEval_GetBuiltins()); @@ -92,7 +92,7 @@ $1 = t; } -%typemap(python,out) SALOME::SenderDouble_ptr +%typemap(out) SALOME::SenderDouble_ptr { PyObject* pdict = PyDict_New(); PyDict_SetItemString(pdict, "__builtins__", PyEval_GetBuiltins()); @@ -110,7 +110,7 @@ $result = PyObject_CallMethod(orb, (char*)"string_to_object", (char*)"O", tmp); } -%typemap(python,out) SALOME::SenderInt_ptr +%typemap(out) SALOME::SenderInt_ptr { PyObject* pdict = PyDict_New(); PyDict_SetItemString(pdict, "__builtins__", PyEval_GetBuiltins()); diff --git a/src/Container/CMakeLists.txt b/src/Container/CMakeLists.txt index b6b654456..b6e1aa077 100755 --- a/src/Container/CMakeLists.txt +++ b/src/Container/CMakeLists.txt @@ -18,8 +18,8 @@ # INCLUDE_DIRECTORIES( - ${PTHREAD_INCLUDE_DIRS} ${OMNIORB_INCLUDE_DIR} + ${PTHREAD_INCLUDE_DIR} ${HDF5_INCLUDE_DIRS} ${LIBXML2_INCLUDE_DIR} ${PYTHON_INCLUDE_DIRS} @@ -67,13 +67,13 @@ IF(WITH_MPI_SEQ_CONTAINER) ) ENDIF(WITH_MPI_SEQ_CONTAINER) -IF(WITH_PACO_PARALLEL) +IF(SALOME_PACO_PARALLEL) ADD_DEFINITIONS(-DWITH_PACO_PARALLEL ${PACO_DEFINITIONS}) SET(COMMON_LIBS ${COMMON_LIBS} ${PACO_LIBS} ) -ENDIF(WITH_PACO_PARALLEL) +ENDIF() SET(SalomeContainer_SOURCES Component_i.cxx @@ -86,26 +86,27 @@ SET(SalomeContainer_SOURCES ) ADD_LIBRARY(SalomeContainer ${SalomeContainer_SOURCES}) -TARGET_LINK_LIBRARIES(SalomeContainer ${COMMON_LIBS}) -INSTALL(TARGETS SalomeContainer DESTINATION ${KERNEL_salomelib_LIBS}) +TARGET_LINK_LIBRARIES(SalomeContainer ${COMMON_LIBS} ${PTHREAD_LIBRARIES}) +INSTALL(TARGETS SalomeContainer DESTINATION ${SALOME_INSTALL_LIBS}) SET(SALOME_Container_LIBS SalomeContainer SALOMEBasics ${COMMON_LIBS} ${HDF5_LIBRARIES} + ${MPI_LIBRARIES} ) ADD_EXECUTABLE(SALOME_Container SALOME_Container.cxx SALOME_Container_SignalsHandler.cxx) TARGET_LINK_LIBRARIES(SALOME_Container ${SALOME_Container_LIBS}) -IF(SALOME_USE_TEST) +IF(SALOME_BUILD_TESTS) ADD_EXECUTABLE(TestSalome_file TestSalome_file.cxx) TARGET_LINK_LIBRARIES(TestSalome_file SALOMETraceCollectorTest ${SALOME_Container_LIBS}) -ENDIF(SALOME_USE_TEST) -INSTALL(TARGETS SALOME_Container DESTINATION ${KERNEL_salomebin_BINS}) +ENDIF() +INSTALL(TARGETS SALOME_Container DESTINATION ${SALOME_INSTALL_BINS}) # Executable scripts to be installed -SALOME_INSTALL_SCRIPTS("${SCRIPTS}" ${KERNEL_salomescript_PYTHON}) +SALOME_INSTALL_SCRIPTS("${SCRIPTS}" ${SALOME_INSTALL_SCRIPT_PYTHON}) FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/DF/CMakeLists.txt b/src/DF/CMakeLists.txt index 14090dad8..2ddd3a6eb 100755 --- a/src/DF/CMakeLists.txt +++ b/src/DF/CMakeLists.txt @@ -32,11 +32,11 @@ SET(DF_SOURCES ) ADD_LIBRARY(DF ${DF_SOURCES}) -INSTALL(TARGETS DF DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS DF DESTINATION ${SALOME_INSTALL_LIBS}) ADD_EXECUTABLE(testDF testDF.cxx) TARGET_LINK_LIBRARIES(testDF DF) -INSTALL(TARGETS testDF DESTINATION ${KERNEL_salomebin_BINS}) +INSTALL(TARGETS testDF DESTINATION ${SALOME_INSTALL_BINS}) FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/DSC/CMakeLists.txt b/src/DSC/CMakeLists.txt index 0dfb61338..1dfb7dbe7 100755 --- a/src/DSC/CMakeLists.txt +++ b/src/DSC/CMakeLists.txt @@ -28,11 +28,11 @@ IF(NOT WINDOWS) ) ENDIF(NOT WINDOWS) -IF(WITH_PACO_PARALLEL) +IF(SALOME_PACO_PARALLEL) SET(SUBDIR_PAR ParallelDSC ) -ENDIF(WITH_PACO_PARALLEL) +ENDIF() SET(SUBDIRS ${SUBDIRS_COMMON} diff --git a/src/DSC/DSC_Basic/CMakeLists.txt b/src/DSC/DSC_Basic/CMakeLists.txt index 87c9437d7..ae453c04d 100755 --- a/src/DSC/DSC_Basic/CMakeLists.txt +++ b/src/DSC/DSC_Basic/CMakeLists.txt @@ -41,7 +41,7 @@ ADD_DEFINITIONS(${OMNIORB_DEFINITIONS}) ADD_LIBRARY(SalomeDSCContainer ${SalomeDSCContainer_SOURCES}) TARGET_LINK_LIBRARIES(SalomeDSCContainer SalomeContainer ${OMNIORB_LIBRARIES}) -INSTALL(TARGETS SalomeDSCContainer DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS SalomeDSCContainer DESTINATION ${SALOME_INSTALL_LIBS}) SET(SALOME_ConnectionManagerServer_SOURCES SALOME_ConnectionManagerServer.cxx @@ -58,7 +58,7 @@ SET(SALOME_ConnectionManagerServer_LIBS ADD_EXECUTABLE(SALOME_ConnectionManagerServer ${SALOME_ConnectionManagerServer_SOURCES}) TARGET_LINK_LIBRARIES(SALOME_ConnectionManagerServer ${SALOME_ConnectionManagerServer_LIBS}) -INSTALL(TARGETS SALOME_ConnectionManagerServer DESTINATION ${KERNEL_salomebin_BINS}) +INSTALL(TARGETS SALOME_ConnectionManagerServer DESTINATION ${SALOME_INSTALL_BINS}) FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/DSC/DSC_Python/CMakeLists.txt b/src/DSC/DSC_Python/CMakeLists.txt index c394e817a..7030cb9c2 100755 --- a/src/DSC/DSC_Python/CMakeLists.txt +++ b/src/DSC/DSC_Python/CMakeLists.txt @@ -57,10 +57,10 @@ SET(_calcium_LIBS SWIG_ADD_MODULE(calcium python calcium.i) SWIG_LINK_LIBRARIES(calcium ${_calcium_LIBS}) -INSTALL(TARGETS _calcium DESTINATION ${KERNEL_salomepythondir}) +INSTALL(TARGETS _calcium DESTINATION ${SALOME_INSTALL_PYTHON}) SET(SCRIPTS dsccalcium.py ) -SALOME_INSTALL_SCRIPTS( ${SCRIPTS} ${KERNEL_salomepythondir}) -INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/calcium.py DESTINATION ${KERNEL_salomepythondir}) +SALOME_INSTALL_SCRIPTS( ${SCRIPTS} ${SALOME_INSTALL_PYTHON}) +INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/calcium.py DESTINATION ${SALOME_INSTALL_PYTHON}) diff --git a/src/DSC/DSC_User/Basic/CMakeLists.txt b/src/DSC/DSC_User/Basic/CMakeLists.txt index 5fff9e825..4c44968b9 100755 --- a/src/DSC/DSC_User/Basic/CMakeLists.txt +++ b/src/DSC/DSC_User/Basic/CMakeLists.txt @@ -19,6 +19,7 @@ INCLUDE_DIRECTORIES( ${OMNIORB_INCLUDE_DIR} + ${PTHREAD_INCLUDE_DIR} ${CMAKE_BINARY_DIR}/idl ${CMAKE_BINARY_DIR}/salome_adm ${CMAKE_SOURCE_DIR}/src/DSC/DSC_Basic @@ -39,7 +40,7 @@ SET(SalomeDSCSupervBasic_SOURCES ADD_DEFINITIONS(${OMNIORB_DEFINITIONS}) ADD_LIBRARY(SalomeDSCSupervBasic ${SalomeDSCSupervBasic_SOURCES}) TARGET_LINK_LIBRARIES(SalomeDSCSupervBasic SalomeDSCSuperv) -INSTALL(TARGETS SalomeDSCSupervBasic DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS SalomeDSCSupervBasic DESTINATION ${SALOME_INSTALL_LIBS}) FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/DSC/DSC_User/CMakeLists.txt b/src/DSC/DSC_User/CMakeLists.txt index 247743b12..6811ab425 100755 --- a/src/DSC/DSC_User/CMakeLists.txt +++ b/src/DSC/DSC_User/CMakeLists.txt @@ -45,10 +45,11 @@ SET(SalomeDSCSuperv_SOURCES ADD_LIBRARY(SalomeDSCSuperv ${SalomeDSCSuperv_SOURCES}) TARGET_LINK_LIBRARIES(SalomeDSCSuperv SalomeDSCContainer ${PLATFORM_LIBS}) -INSTALL(TARGETS SalomeDSCSuperv DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS SalomeDSCSuperv DESTINATION ${SALOME_INSTALL_LIBS}) ADD_EXECUTABLE(test_DSC_Exception test_DSC_Exception.cxx) -TARGET_LINK_LIBRARIES(test_DSC_Exception OpUtil SALOMELocalTrace ${OMNIORB_LIBRARIES} ${PLATFORM_LIBS}) +TARGET_LINK_LIBRARIES(test_DSC_Exception OpUtil SALOMELocalTrace + ${OMNIORB_LIBRARIES} ${PLATFORM_LIBS} ${PTHREAD_LIBRARIES}) FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/DSC/DSC_User/Datastream/CMakeLists.txt b/src/DSC/DSC_User/Datastream/CMakeLists.txt index 30e6916e6..4087321ad 100755 --- a/src/DSC/DSC_User/Datastream/CMakeLists.txt +++ b/src/DSC/DSC_User/Datastream/CMakeLists.txt @@ -40,7 +40,7 @@ ADD_DEFINITIONS(${BOOST_DEFINITIONS}) ADD_LIBRARY(SalomeDatastream fake.cc) TARGET_LINK_LIBRARIES(SalomeDatastream ${COMMON_LIBS}) -INSTALL(TARGETS SalomeDatastream DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS SalomeDatastream DESTINATION ${SALOME_INSTALL_LIBS}) SET(COMMON_HEADERS_HXX AdjacentFunctor.hxx @@ -56,4 +56,4 @@ SET(COMMON_HEADERS_HXX IteratorTraits.hxx ) -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/DSC/DSC_User/Datastream/Calcium/CMakeLists.txt b/src/DSC/DSC_User/Datastream/Calcium/CMakeLists.txt index a991ca8fc..94c2baa4e 100755 --- a/src/DSC/DSC_User/Datastream/Calcium/CMakeLists.txt +++ b/src/DSC/DSC_User/Datastream/Calcium/CMakeLists.txt @@ -56,9 +56,9 @@ SET(SalomeCalcium_SOURCES ADD_DEFINITIONS(${BOOST_DEFINITIONS} ${OMNIORB_DEFINITIONS}) ADD_LIBRARY(SalomeCalcium ${SalomeCalcium_SOURCES}) -TARGET_LINK_LIBRARIES(SalomeCalcium SalomeDSCSuperv SalomeContainer ${CMAKE_THREAD_LIBS_INIT} ${OMNIORB_LIBRARIES} ${PLATFORM_LIBS}) +TARGET_LINK_LIBRARIES(SalomeCalcium SalomeDSCSuperv SalomeContainer ${OMNIORB_LIBRARIES} ${PLATFORM_LIBS}) -INSTALL(TARGETS SalomeCalcium DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS SalomeCalcium DESTINATION ${SALOME_INSTALL_LIBS}) SET(CalciumC_SOURCES CalciumC.c @@ -68,7 +68,7 @@ SET(CalciumC_SOURCES ADD_LIBRARY(CalciumC ${CalciumC_SOURCES}) TARGET_LINK_LIBRARIES(CalciumC SalomeDSCSuperv SalomeCalcium) -INSTALL(TARGETS CalciumC DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS CalciumC DESTINATION ${SALOME_INSTALL_LIBS}) ADD_EXECUTABLE(test_DataIdContainer_Calcium test_DataIdContainer.cxx) TARGET_LINK_LIBRARIES(test_DataIdContainer_Calcium SalomeDSCSuperv SalomeContainer SalomeCalcium OpUtil SALOMELocalTrace ${OMNIORB_LIBRARIES} ${PLATFORM_LIBS}) @@ -114,4 +114,4 @@ SET(COMMON_HEADERS ${CMAKE_CURRENT_BINARY_DIR}/CalciumProvidesPort.hxx ${CMAKE_CURRENT_BINARY_DIR}/calcium_integer_port_uses.hxx ) -INSTALL(FILES ${COMMON_HEADERS} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/DSC/DSC_User/Datastream/Calcium/calciumf.c b/src/DSC/DSC_User/Datastream/Calcium/calciumf.c index e3c93eaae..72c04e20d 100644 --- a/src/DSC/DSC_User/Datastream/Calcium/calciumf.c +++ b/src/DSC/DSC_User/Datastream/Calcium/calciumf.c @@ -24,6 +24,7 @@ #include "calciumf.h" #include "CalciumFortranInt.h" #include +#include // to get SIZEOF_LONG #ifdef __cplusplus extern "C" { diff --git a/src/DSC/DSC_User/Datastream/Palm/CMakeLists.txt b/src/DSC/DSC_User/Datastream/Palm/CMakeLists.txt index 887784f3d..d5abec22f 100755 --- a/src/DSC/DSC_User/Datastream/Palm/CMakeLists.txt +++ b/src/DSC/DSC_User/Datastream/Palm/CMakeLists.txt @@ -38,12 +38,12 @@ ADD_DEFINITIONS(${OMNIORB_DEFINITIONS}) ADD_LIBRARY(SalomePalm palm_port_factory.cxx) TARGET_LINK_LIBRARIES(SalomePalm SalomeDSCSuperv ${OMNIORB_LIBRARIES}) -INSTALL(TARGETS SalomePalm DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS SalomePalm DESTINATION ${SALOME_INSTALL_LIBS}) ADD_EXECUTABLE(test_DataIdContainer_Palm test_DataIdContainer.cxx) ADD_DEPENDENCIES(test_DataIdContainer_Palm SalomeIDLKernel) TARGET_LINK_LIBRARIES(test_DataIdContainer_Palm ${OMNIORB_LIBRARIES}) FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/DSC/ParallelDSC/CMakeLists.txt b/src/DSC/ParallelDSC/CMakeLists.txt index 41b58b4d3..1bd293567 100755 --- a/src/DSC/ParallelDSC/CMakeLists.txt +++ b/src/DSC/ParallelDSC/CMakeLists.txt @@ -48,7 +48,7 @@ SET(SalomeParallelDSCContainer_SOURCES ADD_LIBRARY(SalomeParallelDSCContainer ${SalomeParallelDSCContainer_SOURCES}) SET_TARGET_PROPERTIES(SalomeParallelDSCContainer PROPERTIES COMPILE_FLAGS "${COMMON_FLAGS}") -INSTALL(TARGETS SalomeParallelDSCContainer DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS SalomeParallelDSCContainer DESTINATION ${SALOME_INSTALL_LIBS}) FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/GenericObj/CMakeLists.txt b/src/GenericObj/CMakeLists.txt index 5fa40f80c..ee80444e9 100755 --- a/src/GenericObj/CMakeLists.txt +++ b/src/GenericObj/CMakeLists.txt @@ -29,7 +29,7 @@ INCLUDE_DIRECTORIES( ADD_DEFINITIONS(${OMNIORB_DEFINITIONS}) ADD_LIBRARY(SalomeGenericObj SALOME_GenericObj_i.cc) TARGET_LINK_LIBRARIES(SalomeGenericObj SALOMELocalTrace SalomeIDLKernel) -INSTALL(TARGETS SalomeGenericObj DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS SalomeGenericObj DESTINATION ${SALOME_INSTALL_LIBS}) -INSTALL(FILES SALOME_GenericObj_i.hh SALOME_GenericObj_wrap.hxx DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES SALOME_GenericObj_i.hh SALOME_GenericObj_wrap.hxx DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/HDFPersist/CMakeLists.txt b/src/HDFPersist/CMakeLists.txt index b6dee8df2..2bb895025 100755 --- a/src/HDFPersist/CMakeLists.txt +++ b/src/HDFPersist/CMakeLists.txt @@ -19,17 +19,17 @@ INCLUDE_DIRECTORIES( ${HDF5_INCLUDE_DIRS} + ${MPI_INCLUDE_DIRS} ) - FILE(GLOB SalomeHDFPersist_SOURCES_C "${CMAKE_CURRENT_SOURCE_DIR}/HDF*.c") FILE(GLOB SalomeHDFPersist_SOURCES_CC "${CMAKE_CURRENT_SOURCE_DIR}/HDF*.cc") SET(SalomeHDFPersist_SOURCES ${SalomeHDFPersist_SOURCES_C} ${SalomeHDFPersist_SOURCES_CC}) ADD_DEFINITIONS(${HDF5_DEFINITIONS}) ADD_LIBRARY(SalomeHDFPersist ${SalomeHDFPersist_SOURCES}) -TARGET_LINK_LIBRARIES(SalomeHDFPersist ${HDF5_LIBRARIES} ${PLATFORM_LIBS}) -INSTALL(TARGETS SalomeHDFPersist DESTINATION ${KERNEL_salomelib_LIBS}) +TARGET_LINK_LIBRARIES(SalomeHDFPersist ${HDF5_LIBRARIES} ${MPI_LIBRARIES} ${PLATFORM_LIBS}) +INSTALL(TARGETS SalomeHDFPersist DESTINATION ${SALOME_INSTALL_LIBS}) FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") FILE(GLOB COMMON_HEADERS_H "${CMAKE_CURRENT_SOURCE_DIR}/*.h") @@ -37,4 +37,4 @@ SET(COMMON_HEADERS ${COMMON_HEADERS_HXX} ${COMMON_HEADERS_H} ) -INSTALL(FILES ${COMMON_HEADERS} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/KERNEL_PY/CMakeLists.txt b/src/KERNEL_PY/CMakeLists.txt index b3d4ca39e..760e32203 100755 --- a/src/KERNEL_PY/CMakeLists.txt +++ b/src/KERNEL_PY/CMakeLists.txt @@ -25,8 +25,7 @@ SET(salomepython_PYTHON omnipatch.py ) -IF(SALOME_USE_CORBA) - SET(salomepython_PYTHON +SET(salomepython_PYTHON ${salomepython_PYTHON} Help.py PyInterp.py @@ -42,8 +41,7 @@ IF(SALOME_USE_CORBA) salome_pynode.py salome_genericobj.py ) -ENDIF(SALOME_USE_CORBA) -SALOME_INSTALL_SCRIPTS("${salomepython_PYTHON}" ${KERNEL_salomepythondir}) -SALOME_INSTALL_SCRIPTS(kernel_shared_modules.py ${KERNEL_sharedpkgpython_PYTHON}) -SALOME_INSTALL_SCRIPTS(__init__.py ${KERNEL_salomepythondir}/salome) +SALOME_INSTALL_SCRIPTS("${salomepython_PYTHON}" ${SALOME_INSTALL_PYTHON}) +SALOME_INSTALL_SCRIPTS(kernel_shared_modules.py ${SALOME_INSTALL_PYTHON_SHARED}) +SALOME_INSTALL_SCRIPTS(__init__.py ${SALOME_INSTALL_PYTHON}/salome) diff --git a/src/KERNEL_PY/kernel/CMakeLists.txt b/src/KERNEL_PY/kernel/CMakeLists.txt index bad4e662c..8689aa9b9 100755 --- a/src/KERNEL_PY/kernel/CMakeLists.txt +++ b/src/KERNEL_PY/kernel/CMakeLists.txt @@ -45,5 +45,5 @@ SET(mypkgpython_PYTHON studyedit.py services.py ) -SALOME_INSTALL_SCRIPTS("${mypkgpython_PYTHON}" ${KERNEL_salomepythondir}/salome/kernel) -INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/logconfig.py DESTINATION ${KERNEL_salomepythondir}/salome/kernel) \ No newline at end of file +SALOME_INSTALL_SCRIPTS("${mypkgpython_PYTHON}" ${SALOME_INSTALL_PYTHON}/salome/kernel) +INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/logconfig.py DESTINATION ${SALOME_INSTALL_PYTHON}/salome/kernel) \ No newline at end of file diff --git a/src/KERNEL_PY/kernel/parametric/CMakeLists.txt b/src/KERNEL_PY/kernel/parametric/CMakeLists.txt index 39cdba399..aea3fd4ee 100755 --- a/src/KERNEL_PY/kernel/parametric/CMakeLists.txt +++ b/src/KERNEL_PY/kernel/parametric/CMakeLists.txt @@ -25,4 +25,4 @@ SET(mypkgpython_PYTHON ) # Executable scripts to be installed -SALOME_INSTALL_SCRIPTS("${mypkgpython_PYTHON}" ${KERNEL_salomepythondir}/salome/kernel/parametric) +SALOME_INSTALL_SCRIPTS("${mypkgpython_PYTHON}" ${SALOME_INSTALL_PYTHON}/salome/kernel/parametric) diff --git a/src/KernelHelpers/CMakeLists.txt b/src/KernelHelpers/CMakeLists.txt index 17003030c..20e8550e7 100755 --- a/src/KernelHelpers/CMakeLists.txt +++ b/src/KernelHelpers/CMakeLists.txt @@ -55,11 +55,11 @@ ADD_DEFINITIONS(${OMNIORB_DEFINITIONS}) ADD_LIBRARY(SalomeKernelHelpers ${SalomeKernelHelpers_SOURCES}) TARGET_LINK_LIBRARIES(SalomeKernelHelpers ${SalomeKernelHelpers_LIBS}) -INSTALL(TARGETS SalomeKernelHelpers DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS SalomeKernelHelpers DESTINATION ${SALOME_INSTALL_LIBS}) ADD_EXECUTABLE(KernelHelpersUseCases KernelHelpersUseCases.cxx) TARGET_LINK_LIBRARIES(KernelHelpersUseCases SalomeKernelHelpers ${SalomeKernelHelpers_LIBS}) -INSTALL(TARGETS KernelHelpersUseCases DESTINATION ${KERNEL_salomebin_BINS}) +INSTALL(TARGETS KernelHelpersUseCases DESTINATION ${SALOME_INSTALL_BINS}) FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/KernelHelpers/Test/CMakeLists.txt b/src/KernelHelpers/Test/CMakeLists.txt index ade92585b..bf348765a 100755 --- a/src/KernelHelpers/Test/CMakeLists.txt +++ b/src/KernelHelpers/Test/CMakeLists.txt @@ -35,7 +35,7 @@ INCLUDE_DIRECTORIES( ) SET(SalomeKernelHelpersTest_LIBS - ${CPPUNIT_LIBS} + ${CPPUNIT_LIBRARIES} SalomeKernelHelpers ${OMNIORB_LIBRARIES} SalomeNS @@ -53,15 +53,15 @@ ADD_DEFINITIONS(${CPPUNIT_DEFINITIONS} ${OMNIORB_DEFINITIONS}) ADD_LIBRARY(SalomeKernelHelpersTest KernelHelpersUnitTests.cxx) TARGET_LINK_LIBRARIES(SalomeKernelHelpersTest ${SalomeKernelHelpersTest_LIBS}) -INSTALL(TARGETS SalomeKernelHelpersTest DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS SalomeKernelHelpersTest DESTINATION ${SALOME_INSTALL_LIBS}) ADD_EXECUTABLE(TestKernelHelpers TestKernelHelpers.cxx) TARGET_LINK_LIBRARIES(TestKernelHelpers SalomeKernelHelpersTest ${SalomeKernelHelpersTest_LIBS}) ADD_TEST(TestKernelHelpers TestKernelHelpers) -INSTALL(TARGETS TestKernelHelpers DESTINATION ${KERNEL_salomebin_BINS}) +INSTALL(TARGETS TestKernelHelpers DESTINATION ${SALOME_INSTALL_BINS}) # Executable scripts to be installed -SALOME_INSTALL_SCRIPTS(TestKernelHelpers.py ${KERNEL_salomescript_PYTHON}) +SALOME_INSTALL_SCRIPTS(TestKernelHelpers.py ${SALOME_INSTALL_SCRIPT_PYTHON}) FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/Launcher/CMakeLists.txt b/src/Launcher/CMakeLists.txt index 5d74e2dc3..55c3399c2 100755 --- a/src/Launcher/CMakeLists.txt +++ b/src/Launcher/CMakeLists.txt @@ -72,7 +72,7 @@ SET(Launcher_SOURCES ADD_LIBRARY(Launcher ${Launcher_SOURCES}) TARGET_LINK_LIBRARIES(Launcher ResourcesManager ${LIBBATCH_LIBRARIES} ${MPI_CXX_LIBRARIES} ${LIBXML2_LIBS}) -INSTALL(TARGETS Launcher DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS Launcher DESTINATION ${SALOME_INSTALL_LIBS}) SET(TestLauncher_LIBS ${LIBXML2_LIBRARIES} @@ -84,12 +84,12 @@ SET(TestLauncher_LIBS ADD_EXECUTABLE(TestLauncher TestLauncher.cxx) TARGET_LINK_LIBRARIES(TestLauncher ${TestLauncher_LIBS}) -INSTALL(TARGETS TestLauncher DESTINATION ${KERNEL_salomebin_BINS}) +INSTALL(TARGETS TestLauncher DESTINATION ${SALOME_INSTALL_BINS}) -IF(NOT WITHONLYLAUNCHER) +IF(NOT SALOME_LAUNCHER_ONLY) ADD_LIBRARY(SalomeLauncher BatchTest.cxx SALOME_Launcher.cxx) TARGET_LINK_LIBRARIES(SalomeLauncher Launcher ${COMMON_LIBS}) - INSTALL(TARGETS SalomeLauncher DESTINATION ${KERNEL_salomelib_LIBS}) + INSTALL(TARGETS SalomeLauncher DESTINATION ${SALOME_INSTALL_LIBS}) SET(SALOME_LauncherServer_LIBS Launcher @@ -103,12 +103,10 @@ IF(NOT WITHONLYLAUNCHER) ${PYTHON_LIBRARIES} ) - - ADD_EXECUTABLE(SALOME_LauncherServer SALOME_LauncherServer.cxx) TARGET_LINK_LIBRARIES(SALOME_LauncherServer ${SALOME_LauncherServer_LIBS}) - INSTALL(TARGETS SALOME_LauncherServer DESTINATION ${KERNEL_salomebin_BINS}) -ENDIF(NOT WITHONLYLAUNCHER) + INSTALL(TARGETS SALOME_LauncherServer DESTINATION ${SALOME_INSTALL_BINS}) +ENDIF() FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/LifeCycleCORBA/CMakeLists.txt b/src/LifeCycleCORBA/CMakeLists.txt index 3c607d476..e3c545cb4 100755 --- a/src/LifeCycleCORBA/CMakeLists.txt +++ b/src/LifeCycleCORBA/CMakeLists.txt @@ -52,7 +52,7 @@ ADD_DEFINITIONS(${LIBXML2_DEFINITIONS} ${OMNIORB_DEFINITIONS}) ADD_LIBRARY(SalomeLifeCycleCORBA SALOME_LifeCycleCORBA.cxx SALOME_FileTransferCORBA.cxx) TARGET_LINK_LIBRARIES(SalomeLifeCycleCORBA ${COMMON_LIBS}) -INSTALL(TARGETS SalomeLifeCycleCORBA DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS SalomeLifeCycleCORBA DESTINATION ${SALOME_INSTALL_LIBS}) ADD_EXECUTABLE(Test_LifeCycleCORBA Test_LifeCycleCORBA.cxx) TARGET_LINK_LIBRARIES(Test_LifeCycleCORBA SalomeLifeCycleCORBA Registry SalomeNotification SalomeContainer ${COMMON_LIBS} ${OMNIORB_LIBRARIES}) @@ -60,7 +60,7 @@ TARGET_LINK_LIBRARIES(Test_LifeCycleCORBA SalomeLifeCycleCORBA Registry SalomeNo ADD_EXECUTABLE(TestContainerManager TestContainerManager.cxx) TARGET_LINK_LIBRARIES(TestContainerManager SalomeLifeCycleCORBA Registry SalomeNotification SalomeContainer ${COMMON_LIBS} ${OMNIORB_LIBRARIES}) -INSTALL(TARGETS Test_LifeCycleCORBA TestContainerManager DESTINATION ${KERNEL_salomebin_BINS}) +INSTALL(TARGETS Test_LifeCycleCORBA TestContainerManager DESTINATION ${SALOME_INSTALL_BINS}) FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/LifeCycleCORBA/Test/CMakeLists.txt b/src/LifeCycleCORBA/Test/CMakeLists.txt index 5ab47b61e..032d133de 100755 --- a/src/LifeCycleCORBA/Test/CMakeLists.txt +++ b/src/LifeCycleCORBA/Test/CMakeLists.txt @@ -38,7 +38,7 @@ INCLUDE_DIRECTORIES( ) SET(COMMON_LIBS - ${CPPUNIT_LIBS} + ${CPPUNIT_LIBRARIES} SALOMEBasics SalomeResourcesManager SalomeContainer @@ -59,14 +59,14 @@ ADD_DEFINITIONS(${CPPUNIT_DEFINITIONS} ${OMNIORB_DEFINITIONS}) ADD_LIBRARY(LifeCycleCORBATest LifeCycleCORBATest.cxx) TARGET_LINK_LIBRARIES(LifeCycleCORBATest ${COMMON_LIBS}) -INSTALL(TARGETS LifeCycleCORBATest DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS LifeCycleCORBATest DESTINATION ${SALOME_INSTALL_LIBS}) ADD_EXECUTABLE(TestLifeCycleCORBA TestLifeCycleCORBA.cxx) TARGET_LINK_LIBRARIES(TestLifeCycleCORBA LifeCycleCORBATest NamingServiceTest SalomeLifeCycleCORBA ${COMMON_LIBS}) -INSTALL(TARGETS TestLifeCycleCORBA DESTINATION ${KERNEL_salomebin_BINS}) +INSTALL(TARGETS TestLifeCycleCORBA DESTINATION ${SALOME_INSTALL_BINS}) # Executable scripts to be installed -SALOME_INSTALL_SCRIPTS(TestLifeCycleCORBA.py ${KERNEL_salomescript_PYTHON}) +SALOME_INSTALL_SCRIPTS(TestLifeCycleCORBA.py ${SALOME_INSTALL_SCRIPT_PYTHON}) FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/LifeCycleCORBA_SWIG/CMakeLists.txt b/src/LifeCycleCORBA_SWIG/CMakeLists.txt index 5507ccd76..b66c7396f 100755 --- a/src/LifeCycleCORBA_SWIG/CMakeLists.txt +++ b/src/LifeCycleCORBA_SWIG/CMakeLists.txt @@ -46,10 +46,10 @@ IF(${MACHINE} STREQUAL WINDOWS) SET_TARGET_PROPERTIES(_libSALOME_LifeCycleCORBA PROPERTIES DEBUG_OUTPUT_NAME _libSALOME_LifeCycleCORBA_d) ENDIF(${MACHINE} STREQUAL WINDOWS) -INSTALL(TARGETS _libSALOME_LifeCycleCORBA DESTINATION ${KERNEL_salomepythondir}) +INSTALL(TARGETS _libSALOME_LifeCycleCORBA DESTINATION ${SALOME_INSTALL_PYTHON}) SET(SCRIPTS LifeCycleCORBA.py TestLifeCycleCORBA.py ) -SALOME_INSTALL_SCRIPTS("${SCRIPTS}" ${KERNEL_salomescript_PYTHON}) -INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libSALOME_LifeCycleCORBA.py DESTINATION ${KERNEL_salomepythondir}) +SALOME_INSTALL_SCRIPTS("${SCRIPTS}" ${SALOME_INSTALL_SCRIPT_PYTHON}) +INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libSALOME_LifeCycleCORBA.py DESTINATION ${SALOME_INSTALL_PYTHON}) diff --git a/src/LifeCycleCORBA_SWIG/Test/CMakeLists.txt b/src/LifeCycleCORBA_SWIG/Test/CMakeLists.txt index 7e1daaabd..8ab7ed9bf 100755 --- a/src/LifeCycleCORBA_SWIG/Test/CMakeLists.txt +++ b/src/LifeCycleCORBA_SWIG/Test/CMakeLists.txt @@ -25,4 +25,4 @@ SET(SCRIPTS TestLifeCycleCORBA_SWIG.py ) -SALOME_INSTALL_SCRIPTS("${SCRIPTS}" ${KERNEL_salomescript_PYTHON}) +SALOME_INSTALL_SCRIPTS("${SCRIPTS}" ${SALOME_INSTALL_SCRIPT_PYTHON}) diff --git a/src/Logger/CMakeLists.txt b/src/Logger/CMakeLists.txt index e1a97e984..d2c9d8c7f 100755 --- a/src/Logger/CMakeLists.txt +++ b/src/Logger/CMakeLists.txt @@ -28,7 +28,7 @@ ADD_DEFINITIONS(${OMNIORB_DEFINITIONS}) ADD_LIBRARY(SalomeLoggerServer SALOME_Trace.cxx SALOME_Logger_Server.cxx) TARGET_LINK_LIBRARIES(SalomeLoggerServer SalomeIDLKernel ${OMNIORB_LIBRARIES} ${PLATFORM_LIBS}) -INSTALL(TARGETS SalomeLoggerServer DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS SalomeLoggerServer DESTINATION ${SALOME_INSTALL_LIBS}) SET(SALOME_Logger_Server_SOURCES SALOME_Logger_Server_main.cxx @@ -43,9 +43,9 @@ SET(SALOME_Logger_Server_LIBS ADD_EXECUTABLE(SALOME_Logger_Server ${SALOME_Logger_Server_SOURCES}) TARGET_LINK_LIBRARIES(SALOME_Logger_Server ${SALOME_Logger_Server_LIBS}) -INSTALL(TARGETS SALOME_Logger_Server DESTINATION ${KERNEL_salomebin_BINS}) +INSTALL(TARGETS SALOME_Logger_Server DESTINATION ${SALOME_INSTALL_BINS}) # Executable scripts to be installed -SALOME_INSTALL_SCRIPTS(SALOME_Trace.py ${KERNEL_salomescript_PYTHON}) +SALOME_INSTALL_SCRIPTS(SALOME_Trace.py ${SALOME_INSTALL_SCRIPT_PYTHON}) -INSTALL(FILES SALOME_Trace.hxx DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES SALOME_Trace.hxx DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/Logger/Test/CMakeLists.txt b/src/Logger/Test/CMakeLists.txt index e1434ba7c..53dbbfbe9 100755 --- a/src/Logger/Test/CMakeLists.txt +++ b/src/Logger/Test/CMakeLists.txt @@ -18,4 +18,4 @@ # # Executable scripts to be installed -SALOME_INSTALL_SCRIPTS(TestKiller.py ${KERNEL_salomescript_PYTHON}) +SALOME_INSTALL_SCRIPTS(TestKiller.py ${SALOME_INSTALL_SCRIPT_PYTHON}) diff --git a/src/MPIContainer/CMakeLists.txt b/src/MPIContainer/CMakeLists.txt index aa3c25479..01ec296b4 100755 --- a/src/MPIContainer/CMakeLists.txt +++ b/src/MPIContainer/CMakeLists.txt @@ -19,6 +19,7 @@ INCLUDE_DIRECTORIES( ${MPI_CXX_INCLUDE_PATH} + ${PTHREAD_INCLUDE_DIR} ${PYTHON_INCLUDE_DIRS} ${OMNIORB_INCLUDE_DIR} ${CMAKE_BINARY_DIR}/salome_adm @@ -52,7 +53,7 @@ ADD_DEFINITIONS(${MPI_CXX_COMPILE_FLAGS} ${OMNIORB_DEFINITIONS}) ADD_LIBRARY(SalomeMPIContainer MPIObject_i.cxx MPIContainer_i.cxx) TARGET_LINK_LIBRARIES(SalomeMPIContainer ${COMMON_LIBS}) -INSTALL(TARGETS SalomeMPIContainer DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS SalomeMPIContainer DESTINATION ${SALOME_INSTALL_LIBS}) ADD_EXECUTABLE(SALOME_MPIContainer SALOME_MPIContainer.cxx) TARGET_LINK_LIBRARIES(SALOME_MPIContainer SalomeMPIContainer ${COMMON_LIBS} ${PYTHON_LIBRARIES} ${MPI_CXX_LIBRARIES}) @@ -60,9 +61,9 @@ TARGET_LINK_LIBRARIES(SALOME_MPIContainer SalomeMPIContainer ${COMMON_LIBS} ${PY ADD_EXECUTABLE(testMPI2 testMPI2.cxx) TARGET_LINK_LIBRARIES(testMPI2 ${MPI_CXX_LIBRARIES}) -INSTALL(TARGETS SALOME_MPIContainer testMPI2 DESTINATION ${KERNEL_salomebin_BINS}) +INSTALL(TARGETS SALOME_MPIContainer testMPI2 DESTINATION ${SALOME_INSTALL_BINS}) -INSTALL(FILES launch_testMPI2.csh DESTINATION ${KERNEL_salomescript_SCRIPTS}) +INSTALL(FILES launch_testMPI2.csh DESTINATION ${SALOME_INSTALL_SCRIPT_SCRIPTS}) FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/ModuleCatalog/CMakeLists.txt b/src/ModuleCatalog/CMakeLists.txt index 5d0bce9f2..187d3a076 100755 --- a/src/ModuleCatalog/CMakeLists.txt +++ b/src/ModuleCatalog/CMakeLists.txt @@ -37,6 +37,7 @@ SET(COMMON_LIBS SALOMEBasics SalomeIDLKernel ${LIBXML2_LIBRARIES} + ${PTHREAD_LIBRARIES} ) SET(SalomeCatalog_SOURCES @@ -49,7 +50,7 @@ ADD_DEFINITIONS(${LIBXML2_DEFINITIONS} ${OMNIORB_DEFINITIONS}) ADD_LIBRARY(SalomeCatalog ${SalomeCatalog_SOURCES}) TARGET_LINK_LIBRARIES(SalomeCatalog ${COMMON_LIBS}) -INSTALL(TARGETS SalomeCatalog DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS SalomeCatalog DESTINATION ${SALOME_INSTALL_LIBS}) ADD_EXECUTABLE(SALOME_ModuleCatalog_Server SALOME_ModuleCatalog_Server.cxx) TARGET_LINK_LIBRARIES(SALOME_ModuleCatalog_Server SalomeCatalog ${COMMON_LIBS} ${OMNIORB_LIBRARIES}) @@ -57,10 +58,10 @@ TARGET_LINK_LIBRARIES(SALOME_ModuleCatalog_Server SalomeCatalog ${COMMON_LIBS} $ ADD_EXECUTABLE(SALOME_ModuleCatalog_Client SALOME_ModuleCatalog_Client.cxx) TARGET_LINK_LIBRARIES(SALOME_ModuleCatalog_Client SalomeCatalog ${COMMON_LIBS} ${OMNIORB_LIBRARIES}) -INSTALL(TARGETS SALOME_ModuleCatalog_Server SALOME_ModuleCatalog_Client DESTINATION ${KERNEL_salomebin_BINS}) +INSTALL(TARGETS SALOME_ModuleCatalog_Server SALOME_ModuleCatalog_Client DESTINATION ${SALOME_INSTALL_BINS}) # Executable scripts to be installed -SALOME_INSTALL_SCRIPTS(TestModuleCatalog.py ${KERNEL_salomescript_PYTHON}) +SALOME_INSTALL_SCRIPTS(TestModuleCatalog.py ${SALOME_INSTALL_SCRIPT_PYTHON}) FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/ModuleGenerator/CMakeLists.txt b/src/ModuleGenerator/CMakeLists.txt index 1724b4eaa..d8813bd30 100755 --- a/src/ModuleGenerator/CMakeLists.txt +++ b/src/ModuleGenerator/CMakeLists.txt @@ -22,4 +22,4 @@ CONFIGURE_FILE(testIDLparser.in testIDLparser @ONLY) # =============================================================== # Files to be installed # =============================================================== -SALOME_INSTALL_SCRIPTS(IDLparser.py ${KERNEL_salomescript_PYTHON}) +SALOME_INSTALL_SCRIPTS(IDLparser.py ${SALOME_INSTALL_SCRIPT_PYTHON}) diff --git a/src/NOTIFICATION_SWIG/CMakeLists.txt b/src/NOTIFICATION_SWIG/CMakeLists.txt index 22f237d99..d3dd28d9b 100755 --- a/src/NOTIFICATION_SWIG/CMakeLists.txt +++ b/src/NOTIFICATION_SWIG/CMakeLists.txt @@ -34,6 +34,9 @@ INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR}/../SALOMELocalTrace ) +# SWIG module name differs from file name - avoid unnecessary rebuild: +SET_SOURCE_FILES_PROPERTIES(NOTIFICATION.i PROPERTIES SWIG_MODULE_NAME libNOTIFICATION) + SWIG_ADD_MODULE(libNOTIFICATION python NOTIFICATION.i NOTIFICATION_Swig.cxx) SWIG_LINK_LIBRARIES(libNOTIFICATION ${PYTHON_LIBRARIES} SalomeNotification) ADD_DEFINITIONS(${OMNIORB_DEFINITIONS} ${PLATFORM_DEFINITIONS}) @@ -42,8 +45,8 @@ IF(${MACHINE} STREQUAL WINDOWS) SET_TARGET_PROPERTIES(_libNOTIFICATION PROPERTIES DEBUG_OUTPUT_NAME _libNOTIFICATION_d) ENDIF(${MACHINE} STREQUAL WINDOWS) -INSTALL(TARGETS _libNOTIFICATION DESTINATION ${KERNEL_salomepythondir}) +INSTALL(TARGETS _libNOTIFICATION DESTINATION ${SALOME_INSTALL_PYTHON}) FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") INSTALL(FILES ${COMON_HEADERS_HXX} DESTINATION ${MED_salomeinclude_HEADERS}) -INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libNOTIFICATION.py DESTINATION ${KERNEL_salomepythondir}) +INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libNOTIFICATION.py DESTINATION ${SALOME_INSTALL_PYTHON}) diff --git a/src/NamingService/CMakeLists.txt b/src/NamingService/CMakeLists.txt index 8f2dd10c8..9c949bfdd 100755 --- a/src/NamingService/CMakeLists.txt +++ b/src/NamingService/CMakeLists.txt @@ -39,10 +39,10 @@ ADD_LIBRARY(SalomeNS ${SalomeNS_SOURCES}) ADD_DEPENDENCIES(SalomeNS SalomeIDLKernel) TARGET_LINK_LIBRARIES(SalomeNS OpUtil) -INSTALL(TARGETS SalomeNS DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS SalomeNS DESTINATION ${SALOME_INSTALL_LIBS}) # Executable scripts to be installed -SALOME_INSTALL_SCRIPTS(SALOME_NamingServicePy.py ${KERNEL_salomescript_PYTHON}) +SALOME_INSTALL_SCRIPTS(SALOME_NamingServicePy.py ${SALOME_INSTALL_SCRIPT_PYTHON}) FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/NamingService/Test/CMakeLists.txt b/src/NamingService/Test/CMakeLists.txt index 09d4d869e..63a009fcb 100755 --- a/src/NamingService/Test/CMakeLists.txt +++ b/src/NamingService/Test/CMakeLists.txt @@ -36,7 +36,7 @@ INCLUDE_DIRECTORIES( # This local variable defines the list of dependant libraries common to all target in this package. SET(COMMON_LIBS - ${CPPUNIT_LIBS} + ${CPPUNIT_LIBRARIES} SalomeNS SalomeLifeCycleCORBA ${OMNIORB_LIBRARIES} @@ -47,7 +47,7 @@ ADD_DEFINITIONS(${CPPUNIT_DEFINITIONS} ${OMNIORB_DEFINITIONS}) ADD_LIBRARY(NamingServiceTest NamingServiceTest.cxx) TARGET_LINK_LIBRARIES(NamingServiceTest ${COMMON_LIBS}) -INSTALL(TARGETS NamingServiceTest DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS NamingServiceTest DESTINATION ${SALOME_INSTALL_LIBS}) SET(TestNamingService_LIBS NamingServiceTest @@ -64,10 +64,10 @@ SET(TestNamingService_LIBS ADD_EXECUTABLE(TestNamingService TestNamingService.cxx) TARGET_LINK_LIBRARIES(TestNamingService ${TestNamingService_LIBS}) -INSTALL(TARGETS TestNamingService DESTINATION ${KERNEL_salomebin_BINS}) +INSTALL(TARGETS TestNamingService DESTINATION ${SALOME_INSTALL_BINS}) # Executable scripts to be installed -SALOME_INSTALL_SCRIPTS(TestNamingService.py ${KERNEL_salomescript_PYTHON}) +SALOME_INSTALL_SCRIPTS(TestNamingService.py ${SALOME_INSTALL_SCRIPT_PYTHON}) FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/Notification/CMakeLists.txt b/src/Notification/CMakeLists.txt index cbf472e9d..165b00fee 100755 --- a/src/Notification/CMakeLists.txt +++ b/src/Notification/CMakeLists.txt @@ -43,8 +43,8 @@ ADD_DEFINITIONS(${OMNIORB_DEFINITIONS} ${PLATFORM_DEFINITIONS}) ADD_LIBRARY(SalomeNotification ${SalomeNotification_SOURCES}) TARGET_LINK_LIBRARIES(SalomeNotification ${COMMON_LIBS}) -INSTALL(TARGETS SalomeNotification DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS SalomeNotification DESTINATION ${SALOME_INSTALL_LIBS}) FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") SET(COMMON_HEADERS ${COMMON_HEADERS_HXX} CosNotifyShorthands.h) -INSTALL(FILES ${COMMON_HEADERS} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/ParallelContainer/CMakeLists.txt b/src/ParallelContainer/CMakeLists.txt index e81da59cb..b411598ab 100755 --- a/src/ParallelContainer/CMakeLists.txt +++ b/src/ParallelContainer/CMakeLists.txt @@ -63,7 +63,7 @@ ADD_DEFINITIONS(${ONMIORB_DEFINITIONS} ${MPI_CXX_COMPILE_FLAGS} ${PACO_DEFINITIO ADD_LIBRARY(SalomeParallelContainer ${SalomeParallelContainer_SOURCES}) TARGET_LINK_LIBRARIES(SalomeParallelContainer ${COMMON_LIBS} ${MPI_CXX_LIBRARIES}) -INSTALL(TARGETS Registry DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS Registry DESTINATION ${SALOME_INSTALL_LIBS}) IF(SALOME_USE_MPI) SET(SALOME_ParallelContainerProxyMpi_LIBS @@ -80,7 +80,7 @@ IF(SALOME_USE_MPI) ADD_EXECUTABLE(SALOME_ParallelContainerNodeMpi SALOME_ParallelContainerNodeMpi.cxx) TARGET_LINK_LIBRARIES(SALOME_ParallelContainerNodeMpi ${SALOME_ParallelContainerProxyMpi_LIBS}) - INSTALL(TARGETS SALOME_ParallelContainerProxyMpi SALOME_ParallelContainerNodeMpi DESTINATION ${KERNEL_salomebin_BINS}) + INSTALL(TARGETS SALOME_ParallelContainerProxyMpi SALOME_ParallelContainerNodeMpi DESTINATION ${SALOME_INSTALL_BINS}) ENDIF(SALOME_USE_MPI) SET(SALOME_ParallelContainerProxyDummy_LIBS @@ -96,8 +96,8 @@ TARGET_LINK_LIBRARIES(SALOME_ParallelContainerProxyDummy ${SALOME_ParallelContai ADD_EXECUTABLE(SALOME_ParallelContainerNodeDummy SALOME_ParallelContainerNodeDummy.cxx) TARGET_LINK_LIBRARIES(SALOME_ParallelContainerNodeDummy ${SALOME_ParallelContainerProxyDummy_LIBS}) -INSTALL(TARGETS SALOME_ParallelContainerNodeDummy SALOME_ParallelContainerProxyDummy DESTINATION ${KERNEL_salomebin_BINS}) +INSTALL(TARGETS SALOME_ParallelContainerNodeDummy SALOME_ParallelContainerProxyDummy DESTINATION ${SALOME_INSTALL_BINS}) FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/Registry/CMakeLists.txt b/src/Registry/CMakeLists.txt index 53395b6f8..3423d9168 100755 --- a/src/Registry/CMakeLists.txt +++ b/src/Registry/CMakeLists.txt @@ -31,7 +31,7 @@ INCLUDE_DIRECTORIES( ADD_LIBRARY(Registry RegistryConnexion.cxx RegistryService.cxx) ADD_DEFINITIONS(${OMNIORB_DEFINITIONS}) TARGET_LINK_LIBRARIES(Registry SalomeNS OpUtil SALOMELocalTrace SalomeIDLKernel ${PLATFORM_LIBS}) -INSTALL(TARGETS Registry DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS Registry DESTINATION ${SALOME_INSTALL_LIBS}) SET(SALOME_Registry_Server_LIBS SalomeIDLKernel @@ -41,11 +41,12 @@ SET(SALOME_Registry_Server_LIBS SALOMELocalTrace SALOMEBasics ${PLATFORM_LIBS} + ${PTHREAD_LIBRARIES} ) ADD_EXECUTABLE(SALOME_Registry_Server SALOME_Registry_Server.cxx) TARGET_LINK_LIBRARIES(SALOME_Registry_Server ${SALOME_Registry_Server_LIBS}) -INSTALL(TARGETS SALOME_Registry_Server DESTINATION ${KERNEL_salomebin_BINS}) +INSTALL(TARGETS SALOME_Registry_Server DESTINATION ${SALOME_INSTALL_BINS}) FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/ResourcesManager/CMakeLists.txt b/src/ResourcesManager/CMakeLists.txt index 29261cf9f..90c542519 100755 --- a/src/ResourcesManager/CMakeLists.txt +++ b/src/ResourcesManager/CMakeLists.txt @@ -50,13 +50,13 @@ ADD_DEFINITIONS(${OMNIORB_DEFINITIONS} ${LIBXML2_DEFINITIONS} ${PLATFORM_DEFINIT ADD_LIBRARY(ResourcesManager ${ResourcesManager_SOURCES}) TARGET_LINK_LIBRARIES(ResourcesManager SALOMEBasics OpUtil ${LIBXML2_LIBRARIES}) -INSTALL(TARGETS ResourcesManager DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS ResourcesManager DESTINATION ${SALOME_INSTALL_LIBS}) -IF(NOT WITHONLYLAUNCHER) +IF(NOT SALOME_LAUNCHER_ONLY) ADD_LIBRARY(SalomeResourcesManager SALOME_ResourcesManager.cxx) TARGET_LINK_LIBRARIES(SalomeResourcesManager ResourcesManager ${COMMON_LIBS}) - INSTALL(TARGETS SalomeResourcesManager DESTINATION ${KERNEL_salomelib_LIBS}) -ENDIF(NOT WITHONLYLAUNCHER) + INSTALL(TARGETS SalomeResourcesManager DESTINATION ${SALOME_INSTALL_LIBS}) +ENDIF() FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/SALOMEDS/CMakeLists.txt b/src/SALOMEDS/CMakeLists.txt index 018ca842a..43b9c7722 100755 --- a/src/SALOMEDS/CMakeLists.txt +++ b/src/SALOMEDS/CMakeLists.txt @@ -146,7 +146,7 @@ SET(SalomeDS_SOURCES ADD_LIBRARY(SalomeDS ${SalomeDS_SOURCES}) TARGET_LINK_LIBRARIES(SalomeDS ${COMMON_LIBS}) -INSTALL(TARGETS SalomeDS DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS SalomeDS DESTINATION ${SALOME_INSTALL_LIBS}) ADD_EXECUTABLE(SALOMEDS_Server SALOMEDS_Server.cxx) TARGET_LINK_LIBRARIES(SALOMEDS_Server SalomeDS SALOMEBasics ${COMMON_LIBS} ${OMNIORB_LIBRARIES}) @@ -154,10 +154,10 @@ TARGET_LINK_LIBRARIES(SALOMEDS_Server SalomeDS SALOMEBasics ${COMMON_LIBS} ${OMN ADD_EXECUTABLE(SALOMEDS_Client SALOMEDS_Client.cxx) TARGET_LINK_LIBRARIES(SALOMEDS_Client SalomeDS SALOMEBasics ${COMMON_LIBS} ${OMNIORB_LIBRARIES}) -INSTALL(TARGETS SALOMEDS_Server SALOMEDS_Client DESTINATION ${KERNEL_salomebin_BINS}) +INSTALL(TARGETS SALOMEDS_Server SALOMEDS_Client DESTINATION ${SALOME_INSTALL_BINS}) # Executable scripts to be installed -SALOME_INSTALL_SCRIPTS(SALOME_DriverPy.py ${KERNEL_salomescript_PYTHON}) +SALOME_INSTALL_SCRIPTS(SALOME_DriverPy.py ${SALOME_INSTALL_SCRIPT_PYTHON}) SET(COMMON_HEADERS_HXX SALOMEDS_StudyManager_i.hxx @@ -176,4 +176,4 @@ SET(COMMON_HEADERS_HXX SALOMEDS_wrap.hxx SALOMEDS_Attributes_wrap.hxx ) -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/SALOMEDS/Test/CMakeLists.txt b/src/SALOMEDS/Test/CMakeLists.txt index 8d89af412..79b0ae8c1 100755 --- a/src/SALOMEDS/Test/CMakeLists.txt +++ b/src/SALOMEDS/Test/CMakeLists.txt @@ -44,7 +44,7 @@ INCLUDE_DIRECTORIES( # This local variable defines the list of dependant libraries common to all target in this package. SET(COMMON_LIBS - ${CPPUNIT_LIBS} + ${CPPUNIT_LIBRARIES} SALOMEBasics SalomeResourcesManager SalomeContainer @@ -72,14 +72,14 @@ ENDIF(WINDOWS) ADD_LIBRARY(SALOMEDSTest SALOMEDSTest.cxx) TARGET_LINK_LIBRARIES(SALOMEDSTest ${COMMON_LIBS}) -INSTALL(TARGETS SALOMEDSTest DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS SALOMEDSTest DESTINATION ${SALOME_INSTALL_LIBS}) ADD_EXECUTABLE(TestSALOMEDS TestSALOMEDS.cxx) TARGET_LINK_LIBRARIES(TestSALOMEDS SALOMEDSTest SALOMEBasics ${COMMON_LIBS} ${OMNIORB_LIBRARIES}) -INSTALL(TARGETS TestSALOMEDS DESTINATION ${KERNEL_salomebin_BINS}) +INSTALL(TARGETS TestSALOMEDS DESTINATION ${SALOME_INSTALL_BINS}) # Executable scripts to be installed -SALOME_INSTALL_SCRIPTS(TestSALOMEDS.py ${KERNEL_salomescript_PYTHON}) +SALOME_INSTALL_SCRIPTS(TestSALOMEDS.py ${SALOME_INSTALL_SCRIPT_PYTHON}) FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/SALOMEDSClient/CMakeLists.txt b/src/SALOMEDSClient/CMakeLists.txt index 15700b0ba..08f44c0f4 100755 --- a/src/SALOMEDSClient/CMakeLists.txt +++ b/src/SALOMEDSClient/CMakeLists.txt @@ -28,7 +28,7 @@ ADD_DEFINITIONS(${OMNIORB_DEFINITIONS}) ADD_LIBRARY(SalomeDSClient SALOMEDSClient_ClientFactory.cxx) TARGET_LINK_LIBRARIES(SalomeDSClient SalomeIDLKernel) -INSTALL(TARGETS SalomeDSClient DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS SalomeDSClient DESTINATION ${SALOME_INSTALL_LIBS}) FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/SALOMEDSImpl/CMakeLists.txt b/src/SALOMEDSImpl/CMakeLists.txt index 805a1c036..9a22e8c43 100755 --- a/src/SALOMEDSImpl/CMakeLists.txt +++ b/src/SALOMEDSImpl/CMakeLists.txt @@ -94,11 +94,11 @@ SET(SalomeDSImpl_SOURCES ADD_LIBRARY(SalomeDSImpl ${SalomeDSImpl_SOURCES}) TARGET_LINK_LIBRARIES(SalomeDSImpl SALOMELocalTrace ${COMMON_LIBS} ${PLATFORM_LIBS}) -INSTALL(TARGETS SalomeDSImpl DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS SalomeDSImpl DESTINATION ${SALOME_INSTALL_LIBS}) ADD_EXECUTABLE(testDS testDS.cxx) TARGET_LINK_LIBRARIES(testDS SalomeDSImpl ${COMMON_LIBS} ${PLATFORM_LIBS}) -INSTALL(TARGETS testDS DESTINATION ${KERNEL_salomebin_BINS}) +INSTALL(TARGETS testDS DESTINATION ${SALOME_INSTALL_BINS}) FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") SET(NOINST_HEADERS_HXX @@ -108,4 +108,4 @@ SET(NOINST_HEADERS_HXX FOREACH(HEADER ${NOINST_HEADERS_HXX}) LIST(REMOVE_ITEM COMMON_HEADERS_HXX ${CMAKE_CURRENT_SOURCE_DIR}/${HEADER}) ENDFOREACH(HEADER ${NOINST_HEADERS_HXX}) -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/SALOMEDSImpl/SALOMEDSImpl_Tool.cxx b/src/SALOMEDSImpl/SALOMEDSImpl_Tool.cxx index c91f5aeb5..521526e41 100644 --- a/src/SALOMEDSImpl/SALOMEDSImpl_Tool.cxx +++ b/src/SALOMEDSImpl/SALOMEDSImpl_Tool.cxx @@ -50,7 +50,7 @@ #endif -bool Exists(const std::string thePath) +bool SALOMEDS_Exists(const std::string thePath) { #ifdef WIN32 if ( GetFileAttributes ( thePath.c_str() ) == 0xFFFFFFFF ) { @@ -106,8 +106,8 @@ std::string SALOMEDSImpl_Tool::GetTmpDir() std::string aDir = aTmpDir; - if(Exists(aDir)) { - for(aRND = 0; Exists(aDir); aRND++) { + if(SALOMEDS_Exists(aDir)) { + for(aRND = 0; SALOMEDS_Exists(aDir); aRND++) { sprintf(buffer, "%d", aRND); aDir = aTmpDir+buffer; //Build a unique directory name } @@ -143,7 +143,7 @@ void SALOMEDSImpl_Tool::RemoveTemporaryFiles(const std::string& theDirectory, for(i=1; i<=aLength; i++) { std::string aFile(aDirName); aFile += theFiles[i-1]; - if(!Exists(aFile)) continue; + if(!SALOMEDS_Exists(aFile)) continue; #ifdef WIN32 DeleteFile(aFile.c_str()); @@ -153,7 +153,7 @@ void SALOMEDSImpl_Tool::RemoveTemporaryFiles(const std::string& theDirectory, } if(IsDirDeleted) { - if(Exists(aDirName)) { + if(SALOMEDS_Exists(aDirName)) { #ifdef WIN32 RemoveDirectory(aDirName.c_str()); #else diff --git a/src/SALOMEDSImpl/Test/CMakeLists.txt b/src/SALOMEDSImpl/Test/CMakeLists.txt index 110833dff..2d4c1e7ba 100755 --- a/src/SALOMEDSImpl/Test/CMakeLists.txt +++ b/src/SALOMEDSImpl/Test/CMakeLists.txt @@ -40,7 +40,7 @@ INCLUDE_DIRECTORIES( # This local variable defines the list of dependant libraries common to all target in this package. SET(COMMON_LIBS - ${CPPUNIT_LIBS} + ${CPPUNIT_LIBRARIES} SALOMEBasics SalomeResourcesManager SalomeContainer @@ -62,14 +62,14 @@ ADD_DEFINITIONS(${CPPUNIT_DEFINITIONS} ${OMNIORB_DEFINITIONS} ${BOOST_DEFINITION ADD_LIBRARY(SALOMEDSImplTest SALOMEDSImplTest.cxx) TARGET_LINK_LIBRARIES(SALOMEDSImplTest ${COMMON_LIBS}) -INSTALL(TARGETS SALOMEDSImplTest DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS SALOMEDSImplTest DESTINATION ${SALOME_INSTALL_LIBS}) ADD_EXECUTABLE(TestSALOMEDSImpl TestSALOMEDSImpl.cxx) TARGET_LINK_LIBRARIES(TestSALOMEDSImpl SALOMEDSImplTest SalomeDSImpl NamingServiceTest ${COMMON_LIBS}) -INSTALL(TARGETS TestSALOMEDSImpl DESTINATION ${KERNEL_salomebin_BINS}) +INSTALL(TARGETS TestSALOMEDSImpl DESTINATION ${SALOME_INSTALL_BINS}) # Executable scripts to be installed -SALOME_INSTALL_SCRIPTS(TestSALOMEDSImpl.py ${KERNEL_salomescript_PYTHON}) +SALOME_INSTALL_SCRIPTS(TestSALOMEDSImpl.py ${SALOME_INSTALL_SCRIPT_PYTHON}) FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/SALOMELocalTrace/CMakeLists.txt b/src/SALOMELocalTrace/CMakeLists.txt index 4a7259b1f..b061b3db2 100755 --- a/src/SALOMELocalTrace/CMakeLists.txt +++ b/src/SALOMELocalTrace/CMakeLists.txt @@ -18,6 +18,7 @@ # INCLUDE_DIRECTORIES( + ${PTHREAD_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/../Basics ) @@ -41,7 +42,7 @@ SET(SALOMELocalTrace_SOURCES ) ADD_LIBRARY(SALOMELocalTrace ${SALOMELocalTrace_SOURCES}) -TARGET_LINK_LIBRARIES(SALOMELocalTrace SALOMEBasics ${PLATFORM_LIBS} ${CMAKE_THREAD_LIBS_INIT}) -INSTALL(TARGETS SALOMELocalTrace DESTINATION ${KERNEL_salomelib_LIBS}) +TARGET_LINK_LIBRARIES(SALOMELocalTrace SALOMEBasics ${PLATFORM_LIBS} ${PTHREAD_LIBRARIES}) +INSTALL(TARGETS SALOMELocalTrace DESTINATION ${SALOME_INSTALL_LIBS}) -INSTALL(FILES ${COMMON_HEADERS} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/SALOMELocalTrace/Test/CMakeLists.txt b/src/SALOMELocalTrace/Test/CMakeLists.txt index da5197d6a..32da76427 100755 --- a/src/SALOMELocalTrace/Test/CMakeLists.txt +++ b/src/SALOMELocalTrace/Test/CMakeLists.txt @@ -27,15 +27,15 @@ INCLUDE_DIRECTORIES( ADD_DEFINITIONS(${CPPUNIT_DEFINITIONS}) ADD_LIBRARY(SALOMELocalTraceTest SALOMELocalTraceTest.cxx) -TARGET_LINK_LIBRARIES(SALOMELocalTraceTest SALOMELocalTrace ${CPPUNIT_LIBS} ${CMAKE_THREAD_LIBS_INIT} ${PLATFORM_LIBS}) -INSTALL(TARGETS SALOMELocalTraceTest DESTINATION ${KERNEL_salomelib_LIBS}) +TARGET_LINK_LIBRARIES(SALOMELocalTraceTest SALOMELocalTrace ${CPPUNIT_LIBRARIES} ${PTHREAD_LIBRARIES} ${PLATFORM_LIBS}) +INSTALL(TARGETS SALOMELocalTraceTest DESTINATION ${SALOME_INSTALL_LIBS}) ADD_EXECUTABLE(TestSALOMELocalTrace TestSALOMELocalTrace.cxx) -TARGET_LINK_LIBRARIES(TestSALOMELocalTrace SALOMELocalTraceTest SALOMELocalTrace SALOMEBasics ${CPPUNIT_LIBS} ${PLATFORM_LIBS}) -INSTALL(TARGETS TestSALOMELocalTrace DESTINATION ${KERNEL_salomebin_BINS}) +TARGET_LINK_LIBRARIES(TestSALOMELocalTrace SALOMELocalTraceTest SALOMELocalTrace SALOMEBasics ${CPPUNIT_LIBRARIES} ${PLATFORM_LIBS}) +INSTALL(TARGETS TestSALOMELocalTrace DESTINATION ${SALOME_INSTALL_BINS}) # Executable scripts to be installed -SALOME_INSTALL_SCRIPTS(TestSALOMELocalTrace.py ${KERNEL_salomescript_PYTHON}) +SALOME_INSTALL_SCRIPTS(TestSALOMELocalTrace.py ${SALOME_INSTALL_SCRIPT_PYTHON}) FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/SALOMETraceCollector/CMakeLists.txt b/src/SALOMETraceCollector/CMakeLists.txt index 986cb7428..7f83b5dc9 100755 --- a/src/SALOMETraceCollector/CMakeLists.txt +++ b/src/SALOMETraceCollector/CMakeLists.txt @@ -29,8 +29,8 @@ INCLUDE_DIRECTORIES( ADD_DEFINITIONS(${OMNIORB_DEFINITIONS} ${PTHREAD_DEFINITIONS}) ADD_LIBRARY(with_loggerTraceCollector SALOMETraceCollector.cxx TraceCollector_WaitForServerReadiness.cxx) -TARGET_LINK_LIBRARIES(with_loggerTraceCollector SALOMELocalTrace SalomeIDLKernel ${OMNIORB_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) -INSTALL(TARGETS with_loggerTraceCollector DESTINATION ${KERNEL_salomelib_LIBS}) +TARGET_LINK_LIBRARIES(with_loggerTraceCollector SALOMELocalTrace SalomeIDLKernel ${OMNIORB_LIBRARIES} ${PTHREAD_LIBRARIES}) +INSTALL(TARGETS with_loggerTraceCollector DESTINATION ${SALOME_INSTALL_LIBS}) FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/SALOMETraceCollector/Test/CMakeLists.txt b/src/SALOMETraceCollector/Test/CMakeLists.txt index 8d90228dd..aab133700 100755 --- a/src/SALOMETraceCollector/Test/CMakeLists.txt +++ b/src/SALOMETraceCollector/Test/CMakeLists.txt @@ -30,22 +30,23 @@ SET(COMMON_LIBS SALOMELocalTraceTest SALOMELocalTrace SALOMEBasics - ${CMAKE_THREAD_LIBS_INIT} + ${PTHREAD_LIBRARIES} ${PLATFORM_LIBS} + ${CPPUNIT_LIBRARIES} ) ADD_DEFINITIONS(${CPPUNIT_DEFINITIONS} ${PLATFORM_DEFINITIONS}) ADD_LIBRARY(SALOMETraceCollectorTest SALOMETraceCollectorTest.cxx) TARGET_LINK_LIBRARIES(SALOMETraceCollectorTest ${COMMON_LIBS}) -INSTALL(TARGETS SALOMETraceCollectorTest DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS SALOMETraceCollectorTest DESTINATION ${SALOME_INSTALL_LIBS}) ADD_EXECUTABLE(TestSALOMETraceCollector TestSALOMETraceCollector.cxx) TARGET_LINK_LIBRARIES(TestSALOMETraceCollector SALOMETraceCollectorTest ${COMMON_LIBS}) -INSTALL(TARGETS TestSALOMETraceCollector DESTINATION ${KERNEL_salomebin_BINS}) +INSTALL(TARGETS TestSALOMETraceCollector DESTINATION ${SALOME_INSTALL_BINS}) # Executable scripts to be installed -SALOME_INSTALL_SCRIPTS(TestSALOMETraceCollector.py ${KERNEL_salomescript_PYTHON}) +SALOME_INSTALL_SCRIPTS(TestSALOMETraceCollector.py ${SALOME_INSTALL_SCRIPT_PYTHON}) FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/TOOLSDS/CMakeLists.txt b/src/TOOLSDS/CMakeLists.txt index 222a0ac60..3fddefd3e 100755 --- a/src/TOOLSDS/CMakeLists.txt +++ b/src/TOOLSDS/CMakeLists.txt @@ -32,7 +32,7 @@ INCLUDE_DIRECTORIES( ADD_LIBRARY(TOOLSDS SALOMEDS_Tool.cxx) ADD_DEFINITIONS(${OMNIORB_DEFINITIONS} ${HDF5_DEFINITIONS} ${BOOST_DEFINITIONS}) TARGET_LINK_LIBRARIES(TOOLSDS OpUtil SalomeIDLKernel ${OMNIORB_LIBRARIES}) -INSTALL(TARGETS TOOLSDS DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS TOOLSDS DESTINATION ${SALOME_INSTALL_LIBS}) FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/TestContainer/CMakeLists.txt b/src/TestContainer/CMakeLists.txt index a1c960eed..da4c08f20 100755 --- a/src/TestContainer/CMakeLists.txt +++ b/src/TestContainer/CMakeLists.txt @@ -56,7 +56,7 @@ ADD_DEFINITIONS(${OMNIORB_DEFINITIONS}) ADD_LIBRARY(SalomeTestComponentEngine ${SalomeTestComponentEngine_SOURCES}) TARGET_LINK_LIBRARIES(SalomeTestComponentEngine ${COMMON_LIBS}) -INSTALL(TARGETS SalomeTestComponentEngine DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS SalomeTestComponentEngine DESTINATION ${SALOME_INSTALL_LIBS}) ADD_EXECUTABLE(TestLogger TestLogger.cxx) TARGET_LINK_LIBRARIES(TestLogger SalomeTestComponentEngine SALOMEBasics ${COMMON_LIBS} ${OMNIORB_LIBRARIES}) @@ -64,11 +64,11 @@ TARGET_LINK_LIBRARIES(TestLogger SalomeTestComponentEngine SALOMEBasics ${COMMON ADD_EXECUTABLE(TestContainer TestContainer.cxx) TARGET_LINK_LIBRARIES(TestContainer SalomeTestComponentEngine SALOMEBasics ${COMMON_LIBS} ${OMNIORB_LIBRARIES}) -INSTALL(TARGETS TestLogger TestContainer DESTINATION ${KERNEL_salomebin_BINS}) +INSTALL(TARGETS TestLogger TestContainer DESTINATION ${SALOME_INSTALL_BINS}) # Executable scripts to be installed SET(SCRIPTS SALOME_TestComponentPy.py TestLogger.py ) -SALOME_INSTALL_SCRIPTS("${SCRIPTS}" ${KERNEL_salomescript_PYTHON}) +SALOME_INSTALL_SCRIPTS("${SCRIPTS}" ${SALOME_INSTALL_SCRIPT_PYTHON}) diff --git a/src/TestMPIContainer/CMakeLists.txt b/src/TestMPIContainer/CMakeLists.txt index 3b0e4cb3d..736511664 100755 --- a/src/TestMPIContainer/CMakeLists.txt +++ b/src/TestMPIContainer/CMakeLists.txt @@ -53,11 +53,11 @@ SET(COMMON_LIBS ADD_LIBRARY(SalomeTestMPIComponentEngine TestMPIComponentEngine.cxx) TARGET_LINK_LIBRARIES(SalomeTestMPIComponentEngine ${COMMON_LIBS}) -INSTALL(TARGETS SalomeTestMPIComponentEngine DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS SalomeTestMPIComponentEngine DESTINATION ${SALOME_INSTALL_LIBS}) ADD_EXECUTABLE(TestMPIContainer TestMPIContainer.cxx) TARGET_LINK_LIBRARIES(TestMPIContainer SalomeTestMPIComponentEngine ${COMMON_LIBS} ${MPI_CXX_LIBRARIES}) -INSTALL(TARGETS TestMPIContainer DESTINATION ${KERNEL_salomebin_BINS}) +INSTALL(TARGETS TestMPIContainer DESTINATION ${SALOME_INSTALL_BINS}) FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/UnitTests/CMakeLists.txt b/src/UnitTests/CMakeLists.txt index 5d537822b..f01aae568 100755 --- a/src/UnitTests/CMakeLists.txt +++ b/src/UnitTests/CMakeLists.txt @@ -31,7 +31,7 @@ INCLUDE_DIRECTORIES( # =============================================================== # Executable scripts to be installed -SALOME_INSTALL_SCRIPTS(UnitTests.py ${KERNEL_salomescript_SCRIPTS}) +SALOME_INSTALL_SCRIPTS(UnitTests.py ${SALOME_INSTALL_SCRIPT_SCRIPTS}) # =============================================================== # Executables targets @@ -40,14 +40,13 @@ SALOME_INSTALL_SCRIPTS(UnitTests.py ${KERNEL_salomescript_SCRIPTS}) ADD_DEFINITIONS(${CPPUNIT_DEFINITIONS}) SET(COMMON_LIBS - ${CPPUNIT_LIBS} + ${CPPUNIT_LIBRARIES} SALOMEBasics SALOMELocalTrace SALOMELocalTraceTest ) -IF(SALOME_USE_CORBA) - INCLUDE_DIRECTORIES( +INCLUDE_DIRECTORIES( ${OMNIORB_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/../SALOMETraceCollector ${CMAKE_CURRENT_SOURCE_DIR}/../SALOMETraceCollector/Test @@ -88,8 +87,7 @@ IF(SALOME_USE_CORBA) SalomeIDLKernel ${OMNIORB_LIBRARIES} ) -ENDIF(SALOME_USE_CORBA) ADD_EXECUTABLE(UnitTests UnitTests.cxx) TARGET_LINK_LIBRARIES(UnitTests ${COMMON_LIBS}) -INSTALL(TARGETS UnitTests DESTINATION ${KERNEL_salomebin_BINS}) +INSTALL(TARGETS UnitTests DESTINATION ${SALOME_INSTALL_BINS}) diff --git a/src/Utils/CMakeLists.txt b/src/Utils/CMakeLists.txt index 5503b5d15..fa670120b 100755 --- a/src/Utils/CMakeLists.txt +++ b/src/Utils/CMakeLists.txt @@ -40,14 +40,14 @@ SET(OpUtil_SOURCES ADD_DEFINITIONS(${OMNIORB_DEFINITIONS} ${PTHREAD_DEFINITIONS}) ADD_LIBRARY(OpUtil ${OpUtil_SOURCES}) -TARGET_LINK_LIBRARIES(OpUtil SALOMELocalTrace SalomeIDLKernel ${OMNIORB_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) -INSTALL(TARGETS OpUtil DESTINATION ${KERNEL_salomelib_LIBS}) +TARGET_LINK_LIBRARIES(OpUtil SALOMELocalTrace SalomeIDLKernel ${OMNIORB_LIBRARIES} ${PTHREAD_LIBRARIES}) +INSTALL(TARGETS OpUtil DESTINATION ${SALOME_INSTALL_LIBS}) SET(COMMON_SCRIPTS Utils_Identity.py SALOME_utilities.py ) -SALOME_INSTALL_SCRIPTS("${COMMON_SCRIPTS}" ${KERNEL_salomescript_PYTHON}) +SALOME_INSTALL_SCRIPTS("${COMMON_SCRIPTS}" ${SALOME_INSTALL_SCRIPT_PYTHON}) FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/Utils/Test/CMakeLists.txt b/src/Utils/Test/CMakeLists.txt index 4462a4bf4..5c1c9a612 100755 --- a/src/Utils/Test/CMakeLists.txt +++ b/src/Utils/Test/CMakeLists.txt @@ -31,7 +31,7 @@ INCLUDE_DIRECTORIES( ) SET(COMMON_LIBS - ${CPPUNIT_LIBS} + ${CPPUNIT_LIBRARIES} OpUtil SALOMELocalTraceTest SALOMELocalTrace @@ -44,14 +44,14 @@ ADD_DEFINITIONS(${CPPUNIT_DEFINITIONS}) ADD_LIBRARY(UtilsTest UtilsTest.cxx) TARGET_LINK_LIBRARIES(UtilsTest ${COMMON_LIBS} ) -INSTALL(TARGETS UtilsTest DESTINATION ${KERNEL_salomelib_LIBS}) +INSTALL(TARGETS UtilsTest DESTINATION ${SALOME_INSTALL_LIBS}) ADD_EXECUTABLE(TestUtils TestUtils.cxx) SET_TARGET_PROPERTIES(TestUtils PROPERTIES COMPILE_FLAGS "${CPPUNIT_DEFINITIONS} ${PLATFORM_DEFINITIONS}") TARGET_LINK_LIBRARIES(TestUtils ${COMMON_LIBS} UtilsTest ${OMNIORB_LIBRARIES}) -INSTALL(TARGETS TestUtils DESTINATION ${KERNEL_salomebin_BINS}) +INSTALL(TARGETS TestUtils DESTINATION ${SALOME_INSTALL_BINS}) -SALOME_INSTALL_SCRIPTS(TestUtils.py ${KERNEL_salomescript_PYTHON}) +SALOME_INSTALL_SCRIPTS(TestUtils.py ${SALOME_INSTALL_SCRIPT_PYTHON}) FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) -- 2.30.2