Salome HOME
Update copyrights 2014.
[tools/medcoupling.git] / CMakeLists.txt
index a83242507fcea6b86ffaf45796ef6ea8f55c71dc..e081f9a44c030864eb8c33d0438fa08083149fc0 100644 (file)
@@ -1,9 +1,9 @@
-# Copyright (C) 2012-2013  CEA/DEN, EDF R&D
+# Copyright (C) 2012-2014  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.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -29,14 +29,11 @@ CMAKE_POLICY(SET CMP0003 NEW)
 STRING(TOUPPER ${PROJECT_NAME} PROJECT_NAME_UC)
 
 SET(${PROJECT_NAME_UC}_MAJOR_VERSION 7)
-SET(${PROJECT_NAME_UC}_MINOR_VERSION 2)
+SET(${PROJECT_NAME_UC}_MINOR_VERSION 3)
 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(XVERSION 0x0${${PROJECT_NAME_UC}_MAJOR_VERSION}0${${PROJECT_NAME_UC}_MINOR_VERSION}0${${PROJECT_NAME_UC}_PATCH_VERSION})
-SET(VERSION_DEV "0")
+SET(${PROJECT_NAME_UC}_VERSION_DEV 1)
 
 #
 # Kernel detection comes before user options to be
@@ -56,13 +53,19 @@ IF(NOT SALOME_MED_STANDALONE)
     MESSAGE(FATAL_ERROR "We absolutely need a Salome KERNEL, please define KERNEL_ROOT_DIR or turn option SALOME_MED_STANDALONE to ON !")
   ENDIF(EXISTS ${KERNEL_ROOT_DIR})
   LIST(APPEND CMAKE_MODULE_PATH "${KERNEL_ROOT_DIR}/salome_adm/cmake_files")
-  FIND_PACKAGE(SalomePThread REQUIRED) # for MEDCouplingCorba/Test for EDF
-  FIND_PACKAGE(SalomeOmniORB REQUIRED)
 ELSE(NOT SALOME_MED_STANDALONE)
   LIST(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/adm_local_without_kernel/cmake_files")
   INCLUDE(SalomeMacros)
 ENDIF(NOT SALOME_MED_STANDALONE)
 
+# Platform setup
+# ==============
+INCLUDE(SalomeSetupPlatform)
+
+IF(NOT SALOME_MED_STANDALONE)
+  FIND_PACKAGE(SalomePThread REQUIRED) # for MEDCouplingCorba/Test for EDF
+  FIND_PACKAGE(SalomeOmniORB REQUIRED)
+ENDIF(NOT SALOME_MED_STANDALONE)
 #
 # User options
 # ============
@@ -105,10 +108,6 @@ ELSE(NOT SALOME_MED_STANDALONE)
   INCLUDE(SalomeMacros)
 ENDIF(NOT SALOME_MED_STANDALONE)
 
-# Platform setup
-# ==============
-INCLUDE(SalomeSetupPlatform)
-
 IF(NOT SALOME_MED_MICROMED)
   FIND_PACKAGE(SalomeHDF5 REQUIRED)
   FIND_PACKAGE(SalomeMEDFile REQUIRED)
@@ -192,6 +191,14 @@ IF(SALOME_MED_ENABLE_PYTHON)
   IF(NOT SALOME_MED_STANDALONE)
     FIND_PACKAGE(SalomeOmniORBPy REQUIRED)
   ENDIF(NOT SALOME_MED_STANDALONE)
+  # Set the extra flags for SWIG for numpy and scipy
+  SET(SWIG_EXTRA_FLAGS_FOR_NUMPYANDSCIPY)
+  IF(NUMPY_FOUND)
+    SET(SWIG_EXTRA_FLAGS_FOR_NUMPYANDSCIPY "-DWITH_NUMPY")
+  ENDIF(NUMPY_FOUND)
+  IF(SCIPY_FOUND)
+    SET(SWIG_EXTRA_FLAGS_FOR_NUMPYANDSCIPY "${SWIG_EXTRA_FLAGS_FOR_NUMPYANDSCIPY};-DWITH_SCIPY")
+  ENDIF(SCIPY_FOUND)
 ENDIF(SALOME_MED_ENABLE_PYTHON)
 
 # Detection report
@@ -240,15 +247,17 @@ MARK_AS_ADVANCED(SALOME_INSTALL_SCRIPT_SCRIPTS SALOME_INSTALL_SCRIPT_DATA SALOME
 MARK_AS_ADVANCED(SALOME_INSTALL_APPLISKEL_SCRIPTS  SALOME_INSTALL_APPLISKEL_PYTHON SALOME_INSTALL_CMAKE SALOME_INSTALL_CMAKE_LOCAL SALOME_INSTALL_RES)
 MARK_AS_ADVANCED(SALOME_INSTALL_PYTHON SALOME_INSTALL_PYTHON_SHARED SALOME_MED_INSTALL_RES_DATA SALOME_MED_INSTALL_RES_SCRIPTS SALOME_INSTALL_DOC)
 
-# Configuration of MED_version.h.in
+# Header configuration
+# ====================
+SALOME_XVERSION(${PROJECT_NAME})
+SALOME_CONFIGURE_FILE(MED_version.h.in MED_version.h INSTALL ${SALOME_INSTALL_HEADERS})
+SALOME_CONFIGURE_FILE(VERSION.in VERSION INSTALL ${SALOME_INSTALL_BINS})
+
+# Accumulate environment variables for MED module
+SALOME_ACCUMULATE_ENVIRONMENT(PYTHONPATH NOCHECK ${CMAKE_INSTALL_PREFIX}/${SALOME_INSTALL_BINS}
+                                                 ${CMAKE_INSTALL_PREFIX}/${SALOME_INSTALL_PYTHON})
+SALOME_ACCUMULATE_ENVIRONMENT(LD_LIBRARY_PATH NOCHECK ${CMAKE_INSTALL_PREFIX}/${SALOME_INSTALL_LIBS})
 
-SET(input ${PROJECT_SOURCE_DIR}/MED_version.h.in)
-SET(output ${PROJECT_BINARY_DIR}/MED_version.h)
-MESSAGE(STATUS "Creation of ${output}")
-CONFIGURE_FILE(${input} ${output} @ONLY)
-INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/MED_version.h DESTINATION ${SALOME_INSTALL_HEADERS})
-CONFIGURE_FILE(VERSION.in VERSION @ONLY)
-INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/VERSION DESTINATION ${SALOME_INSTALL_BINS})
 
 # Sources 
 # ========
@@ -257,9 +266,7 @@ IF(WIN32)
 ENDIF(WIN32)
 
 ADD_SUBDIRECTORY(src)
-IF(NOT SALOME_MED_STANDALONE)
-  ADD_SUBDIRECTORY(adm_local)
-ENDIF(NOT SALOME_MED_STANDALONE)
+ADD_SUBDIRECTORY(adm_local)
 
 IF(SALOME_BUILD_DOC)
   ADD_SUBDIRECTORY(doc)
@@ -338,6 +345,11 @@ SET(XDR_ROOT_DIR "${XDR_ROOT_DIR}")
 #       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}")
+
+# Build variables that will be expanded when configuring Salome<MODULE>Config.cmake:
+SALOME_CONFIGURE_PREPARE(Metis ParMetis Scotch XDR CAS Qt4 CppUnit Graphviz Doxygen Sphinx MPI omniORB 
+                         PThread Boost libXml2 Python HDF5 MEDFile)
+
 CONFIGURE_PACKAGE_CONFIG_FILE(${PROJECT_NAME}Config.cmake.in 
     ${PROJECT_BINARY_DIR}/to_install/${PROJECT_NAME}Config.cmake
     INSTALL_DESTINATION "${SALOME_INSTALL_CMAKE}_LOCAL"