Salome HOME
Merge changes from 'master' branch.
authorrnv <rnv@opencascade.com>
Thu, 21 Dec 2017 12:33:14 +0000 (15:33 +0300)
committerrnv <rnv@opencascade.com>
Fri, 29 Dec 2017 13:34:03 +0000 (16:34 +0300)
1  2 
cmake/SalomeMacros.cmake
cmake/UsePyQt.cmake
config/salome.xml

diff --combined cmake/SalomeMacros.cmake
index a63675cdb8d07539749c846504fed253ebff1036,cea90a777f62985578fd8295ab2fb324b3a3a130..255929b83ff3b94662716ef51c4464ef4b81d907
@@@ -93,7 -93,7 +93,7 @@@ ENDMACRO(PARSE_ARGUMENTS
  #----------------------------------------------------------------------------
  # SALOME_INSTALL_SCRIPTS is a macro useful for installing scripts.
  #
- # USAGE: SALOME_INSTALL_SCRIPTS(file_list path [WORKING_DIRECTORY dir] [DEF_PERMS])
+ # USAGE: SALOME_INSTALL_SCRIPTS(file_list path [WORKING_DIRECTORY dir] [DEF_PERMS] [TARGET_NAME name])
  #
  # ARGUMENTS:
  # file_list: IN : list of files to be installed. This list should be quoted.
  # 
  # By default files to be installed as executable scripts.
  # If DEF_PERMS option is provided, than permissions for installed files are
- # only OWNER_WRITE, OWNER_READ, GROUP_READ, and WORLD_READ. 
+ # only OWNER_WRITE, OWNER_READ, GROUP_READ, and WORLD_READ.
+ # WORKING_DIRECTORY option may be used to specify the relative or absolute
+ # path to the directory containing source files listed in file_list argument.
+ # If TARGET_NAME option is specified, the name of the target being created
+ # with this macro is returned via the given variable.
  #----------------------------------------------------------------------------
  MACRO(SALOME_INSTALL_SCRIPTS file_list path)
-   PARSE_ARGUMENTS(SALOME_INSTALL_SCRIPTS "WORKING_DIRECTORY" "DEF_PERMS" ${ARGN})
+   PARSE_ARGUMENTS(SALOME_INSTALL_SCRIPTS "WORKING_DIRECTORY;TARGET_NAME" "DEF_PERMS" ${ARGN})
    SET(PERMS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
    IF(NOT SALOME_INSTALL_SCRIPTS_DEF_PERMS)
      SET(PERMS ${PERMS} OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE)
       WHILE(TARGET "PYCOMPILE${unique_name}_${_cnt}")
         MATH(EXPR _cnt ${_cnt}+1)
       ENDWHILE()
-      ADD_CUSTOM_TARGET("PYCOMPILE${unique_name}_${_cnt}" ALL DEPENDS ${_all_pyc} ${_all_pyo})
+      SET(_target_name "PYCOMPILE${unique_name}_${_cnt}")
+      ADD_CUSTOM_TARGET(${_target_name} ALL DEPENDS ${_all_pyc} ${_all_pyo})
+      IF(SALOME_INSTALL_SCRIPTS_TARGET_NAME)
+        SET(${SALOME_INSTALL_SCRIPTS_TARGET_NAME} ${_target_name})
+      ENDIF(SALOME_INSTALL_SCRIPTS_TARGET_NAME)
    ENDIF()
  ENDMACRO(SALOME_INSTALL_SCRIPTS)
  
@@@ -438,7 -446,7 +446,7 @@@ ENDMACRO(
  
  
  ####################################################################
 -# SALOME_FIND_PACKAGE_DETECT_CONFLICTS(pkg referenceVariable upCount)
 +# SALOME_FIND_PACKAGE_AND_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)
@@@ -970,17 -978,10 +978,17 @@@ ENDMACRO(SALOME_CONFIGURE_PREPARE
  # version 2.7.12+ and the interp is 2.7.12 ...
  #
  MACRO(SALOME_EXTRACT_VERSION version_string major minor patch)
 -  IF(${version_string} MATCHES "[0-9]+[^0-9]*\\.[0-9]+[^0-9]*\\.[0-9]+[^0-9]*")
 -    STRING(REGEX REPLACE "^([0-9]+)[^0-9]*\\.[0-9]+[^0-9]*\\.[0-9]+[^0-9]*" "\\1" ${major} "${version_string}")
 -    STRING(REGEX REPLACE "^[0-9]+[^0-9]*\\.([0-9]+)[^0-9]*\\.[0-9]+[^0-9]*" "\\1" ${minor} "${version_string}")
 -    STRING(REGEX REPLACE "^[0-9]+[^0-9]*\\.[0-9]+[^0-9]*\\.([0-9]+)[^0-9]*" "\\1" ${patch} "${version_string}")
 +  IF(${version_string} MATCHES "[0-9]+[^0-9]*\\.[0-9]+[^0-9]*\\.*[0-9]*[^0-9]*")
 +    STRING(REGEX REPLACE "^([0-9]+)[^0-9]*\\.[0-9]+[^0-9]*\\.*[0-9]*[^0-9]*" "\\1" ${major} "${version_string}")
 +    STRING(REGEX REPLACE "^[0-9]+[^0-9]*\\.([0-9]+)[^0-9]*\\.*[0-9]*[^0-9]*" "\\1" ${minor} "${version_string}")
 +
 +    IF(${version_string} MATCHES "[0-9]+[^0-9]*\\.[0-9]+[^0-9]*\\.[0-9]+[^0-9]*")
 +        # X.Y.Z format (python 3.5.2 ...)
 +        STRING(REGEX REPLACE "^[0-9]+[^0-9]*\\.[0-9]+[^0-9]*\\.([0-9]+)[^0-9]*" "\\1" ${patch} "${version_string}")
 +    ELSE()
 +        # X.Y format (python 3.5 ...)
 +        SET(${patch} "0")
 +    ENDIF()
    ELSE()
      MESSAGE("MACRO(SALOME_EXTRACT_VERSION ${version_string} ${major} ${minor} ${patch}")
      MESSAGE(FATAL_ERROR "Problem parsing version string, I can't parse it properly.")
diff --combined cmake/UsePyQt.cmake
index 7927ec13b0968d83d3d4d85c9d650677981499c9,42a528775b72bfc3191e1247cb17fbace0211493..3d9ddca6fc5814ef6fd2dda3af2c8796b3677d75
@@@ -57,7 -57,6 +57,7 @@@ ENDFUNCTION(
  # ARGUMENTS:
  #   output_files [out] variable where output file names are listed to
  #   pyuic_files  [in]  list of *.ui files
 +#   options      [in]  additional options to be specified to pyuic
  # 
  # NOTES:
  #   - Input files are considered relative to the current source directory.
  # 
  ####################################################################
  MACRO(PYQT_WRAP_UIC outfiles)
-   SET(_output)
-   SET(_options)
-   SET(_pyuic_files)
-   SET(_get_options "0")
-   FOREACH(_input ${ARGN})
-     IF(${_input} STREQUAL "OPTIONS")
-       SET(_get_options "1")
-     ELSE()
-       IF(${_get_options} STREQUAL "1")
-         SET(_options ${_options} ${_input})
-       ELSE()
-         SET(_pyuic_files ${_pyuic_files} ${_input})
-       ENDIF()
-   ENDIF()
-   ENDFOREACH()
++ SET(_output)
  
-  IF(NOT WIN32)
 - PARSE_ARGUMENTS(PYQT_WRAP_UIC "TARGET_NAME" "" ${ARGN})
++ PARSE_ARGUMENTS(PYQT_WRAP_UIC "TARGET_NAME;OPTIONS" "" ${ARGN})
  
-   FOREACH(_input ${_pyuic_files})
+  IF(NOT WIN32)
 -
+   FOREACH(_input ${PYQT_WRAP_UIC_DEFAULT_ARGS})
      GET_FILENAME_COMPONENT(_input_name ${_input} NAME)
      STRING(REPLACE ".ui" "_ui.py" _input_name ${_input_name})
      SET(_output ${CMAKE_CURRENT_BINARY_DIR}/${_input_name})
      ADD_CUSTOM_COMMAND(
        OUTPUT ${_output}
-       COMMAND ${PYQT_PYUIC_PATH} ${_options} -o ${_output} ${CMAKE_CURRENT_SOURCE_DIR}/${_input}
 -      COMMAND ${PYQT_PYUIC_PATH} -o ${_output} ${CMAKE_CURRENT_SOURCE_DIR}/${_input}
++      COMMAND ${PYQT_PYUIC_PATH} ${PYQT_WRAP_UIC_OPTIONS} -o ${_output} ${CMAKE_CURRENT_SOURCE_DIR}/${_input}
        MAIN_DEPENDENCY ${_input}
        )
      SET(${outfiles} ${${outfiles}} ${_output})
    ENDFOREACH()
    _PYQT_WRAP_GET_UNIQUE_TARGET_NAME(BUILD_UI_PY_FILES _uniqueTargetName)
    ADD_CUSTOM_TARGET(${_uniqueTargetName} ALL DEPENDS ${${outfiles}})
+   IF(PYQT_WRAP_UIC_TARGET_NAME)
+     SET(${PYQT_WRAP_UIC_TARGET_NAME} ${_uniqueTargetName})
+   ENDIF(PYQT_WRAP_UIC_TARGET_NAME)
  
   ELSE(NOT WIN32)
  
    SET_PROPERTY(GLOBAL PROPERTY USE_FOLDERS ON)
    _PYQT_WRAP_GET_UNIQUE_TARGET_NAME(BUILD_UI_PY_FILES _uniqueTargetName)
    ADD_CUSTOM_TARGET(${_uniqueTargetName} ALL)
+   IF(PYQT_WRAP_UIC_TARGET_NAME)
+     SET(${PYQT_WRAP_UIC_TARGET_NAME} ${_uniqueTargetName})
+   ENDIF(PYQT_WRAP_UIC_TARGET_NAME)
    SET_TARGET_PROPERTIES(${_uniqueTargetName} PROPERTIES FOLDER PYQT_WRAP_UIC_TARGETS)
-   FOREACH(_input ${ARGN})
+   FOREACH(_input ${PYQT_WRAP_UIC_DEFAULT_ARGS})
      GET_FILENAME_COMPONENT(_input_name ${_input} NAME)
      STRING(REPLACE ".ui" "_ui.py" _input_name ${_input_name})
      SET(_output ${CMAKE_CURRENT_BINARY_DIR}/${_input_name})
diff --combined config/salome.xml
index 5ddbf9c461d0004e9bd8290c99fa34e8e3d26106,2d96166c22d9a4545482d15bb3203d3ffef27660..06af4c82c1404275777679d1fe14bcfb9c546c0c
@@@ -1,6 -1,6 +1,6 @@@
  <?xml version="1.0" encoding="utf-8" ?>
  <!DOCTYPE config>
- <config comment="SALOME 8.3" name="V8_3_0">
+ <config comment="SALOME 8.4" name="V8_4_0">
    <product name="alabaster" version="0.7.6" />
    <product name="babel" version="2.0" />
    <product name="boost" version="1.52.0">
@@@ -9,8 -9,9 +9,9 @@@
        <patch comment="Fix problem with compiling formatter.cpp on some platforms" name="boost.002_icu_formatter.patch" />
      </patches>
    </product>
-   <product name="cgnslib" version="3.1.3" />
-   <product name="cmake" version="3.3.0" />
+   <product name="cgnslib" version="3.3.1" />
+   <product name="cmake" version="3.6.2" />
+   <product name="cppunit" version="1.12.1" />
    <product name="cython" version="0.23.2" />
    <product name="dateutils" version="2.4.2" />
    <product name="distribute" version="0.7.3" />
      </patches>
    </product>
    <product name="freetype" version="2.4.11" />
+   <product name="gmsh" version="3.0.5" />
    <product name="gl2ps" version="1.3.9-svn-20160620">
      <patches>
        <patch comment="Fix problem with missing additional libraries" name="gl2ps.001_libs.patch" />
 +      <patch comment="Fix compilation with paraview 5.4" name="gl2ps.002_for_pv.patch" />
      </patches>
    </product>
    <product name="graphviz" version="2.38.0">
@@@ -37,7 -38,7 +39,7 @@@
      </patches>
    </product>
    <product name="hdf5" version="1.8.14" />
-   <product name="homardtool" version="11.8" />
+   <product name="homardtool" version="11.10" />
    <product name="h5py" version="2.5.0" />
    <product name="jinja2" version="2.7.3" />
    <product name="lapack" version="3.5.0" />
        <patch comment="Fix build procedure: create configuration file properly" name="matplotlib.001_build_procedure.patch" />
      </patches>
    </product>
-   <product name="medfile" version="3.2.1">
+   <product name="medfile" version="3.3.1">
      <patches>
        <patch comment="Fix problem when builiding parallel support" name="medfile.001_parallel.patch" />
        <patch comment="Compatibility with gcc6" name="medfile.002_gcc6.patch" />
      </patches>
    </product>
-   <product name="meshgems" version="2.4-5" />
+   <product name="meshgems" version="2.5-7" />
    <product name="metis" version="5.1.0" />
    <product name="mpich2" version="1.4.1p1" />
    <product name="mpi4py" version="1.3.1" />
    </product>
    <product name="nose" version="1.3.7" />
    <product name="numpy" version="1.9.2" />
-   <product name="occt" version="1780d6cc299f1d06eb106f5cfc27731cdaf97a56" />
-   <product name="omninotify" version="4.1.6">
+   <product name="occt" version="88af3920" />
+   <product name="omniorb" version="4.1.6">
      <patches>
 -      <patch comment="Fix compilation issues" name="omniorb.001_omninotify_compilation.patch" />
 -      <patch comment="Fix for 64 bits platforms" name="omniorb.002_omninotify_64bits.patch" />
 +      <patch comment="Fix compilation issues" name="omninotify.001_compilation.patch" />
 +      <patch comment="Fix for 64 bits platforms" name="omninotify.002_64bits.patch" />
      </patches>
    </product>
    <product name="omniorbpy" version="3.6" />
        <patch comment="Gcc 4.4 compatibility" name="paco++.001_gcc44_compat.patch" />
      </patches>
    </product>
-   <product name="paraview" version="5.4.0-9b8e8a0233" />
+   <product name="paraview" version="5.4.0-463c0633">
+     <patches>
+       <patch comment="Fix problem with installation of VTKTargets.cmake" name="paraview.001_vtk_targets.patch" />
+       <patch comment="Fix compilation of VisItBridge utility" name="paraview.002_visitbridge.patch" />
+       <patch comment="Fix hangup on generation of docs in SurfaceLIC plugin" name="paraview.003_surfacelic.patch" />
+       <patch comment="Fix problem with forwarding executables on some platforms" name="paraview.004_forwarding.patch" />
+     </patches>
+   </product>
    <product name="pkgconfig" version="1.1.0" />
    <product name="pygments" version="2.0.2" />
    <product name="pyparsing" version="2.0.3" />
-   <product name="pyqt" version="5.6.0" />
+   <product name="pyqt" version="5.9.0" />
    <product name="python" version="2.7.10" />
    <product name="pytz" version="2015.4" />
-   <product name="qt" version="5.6.1">
+   <product name="qt" version="5.9.1">
      <patches>
        <patch comment="Fix problem with proxy factory (WebKit)." name="qt.001_proxy_factory.patch" />
        <patch comment="Fix problem with compiling webview" name="qt.002_webview_include.patch" />
        <patch comment="Fix problem with linking to pthreads" name="scotch.001_pthreads.patch" />
      </patches>
    </product>
-   <product name="setuptools" version="18.3.2" />
-   <product name="sip" version="4.18" />
+   <product name="setuptools" version="0.6c11" />
+   <product name="sip" version="4.19.3" />
    <product name="six" version="1.9.0" />
    <product name="snowballstemmer" version="1.2.0" />
    <product name="solvespace" version="2.1">
    <product name="tcltk" version="8.6.0" />
    <product name="tclx" version="8.4.1" />
    <product name="tbb" version="4.2.4" />
 -  <product name="eigen" version="3.2.7" />
 +  <product name="eigen" version="3.2.7">
 +    <patches>
 +      <patch comment="Replace nullptr with 0" name="eigen.001_replace_nullptr.patch" />
 +    </patches>
 +  </product>
    <product name="planegcs" version="0.16" />
-   <product comment="SALOME Geometry module" name="geom" version="V8_3_0" />
-   <product comment="SALOME GUI module" name="gui" version="V8_3_0" />
-   <product comment="SALOME HexaBlock module" name="hexablock" version="V8_3_0" />
-   <product comment="SALOME Homard module" name="homard" version="V8_3_0" />
-   <product comment="SALOME JobManager module" name="jobmanager" version="V8_3_0" />
-   <product comment="SALOME Kernel module" name="kernel" version="V8_3_0" />
-   <product comment="SALOME Med module" name="med" version="V8_3_0" />
-   <product comment="SALOME ParaVis module" name="paravis" version="V8_3_0" />
-   <product comment="SALOME Mesh module" name="smesh" version="V8_3_0" />
-   <product comment="SALOME YACS module" name="yacs" version="V8_3_0" />
-   <product comment="SALOME MG-CadSurf meshing plugin" name="blsurfplugin" version="V8_3_0" />
-   <product comment="SALOME MG-Tetra meshing plugin" name="ghs3dplugin" version="V8_3_0" />
-   <product comment="SALOME MG-Tetra_HPC meshing plugin" name="ghs3dprlplugin" version="V8_3_0" />
-   <product comment="SALOME MG-Hexa meshing plugin" name="hexoticplugin" version="V8_3_0" />
-   <product comment="SALOME HexaBlock meshing plugin" name="hexablockplugin" version="V8_3_0" />
-   <product comment="SALOME MG-Hybrid meshing plugin" name="hybridplugin" version="V8_3_0" />
-   <product comment="SALOME Netgen meshing plugin" name="netgenplugin" version="V8_3_0" />
-   <product comment="SALOME Documentation tool" name="documentation" version="V8_3_0" />
-   <product comment="SALOME Hxx2salome tool" name="hxx2salome" version="V8_3_0" />
-   <product comment="libBatch library" name="libbatch" version="V8_3_0" />
-   <product comment="SALOME MedCoupling library" name="medcoupling" version="V8_3_0" />
-   <product comment="SALOME Tutorial" name="tutorial" version="V8_3_0" />
-   <product comment="SALOME YacsGen tool" name="yacsgen" version="V8_3_0" />
-   <product comment="SALOME AtomGen sample module" name="atomgen" version="V8_3_0" />
-   <product comment="SALOME Atomic sample module" name="atomic" version="V8_3_0" />
-   <product comment="SALOME AtomSolv sample module" name="atomsolv" version="V8_3_0" />
-   <product comment="SALOME Calculator sample module" name="calculator" version="V8_3_0" />
-   <product comment="SALOME Component sample module" name="component" version="V8_3_0" />
-   <product comment="SALOME data files" name="samples" version="V8_3_0" />
-   <product comment="SALOME DscCode sample module" name="dsccode" version="V8_3_0" />
-   <product comment="SALOME Hello sample module" name="hello" version="V8_3_0" />
-   <product comment="SALOME Light sample module" name="light" version="V8_3_0" />
-   <product comment="SALOME PyCalculator sample module" name="pycalculator" version="V8_3_0" />
-   <product comment="SALOME PyHello sample module" name="pyhello" version="V8_3_0" />
-   <product comment="SALOME PyLight sample module" name="pylight" version="V8_3_0" />
-   <product comment="SALOME Randomizer sample module" name="randomizer" version="V8_3_0" />
-   <product comment="SALOME Sierpinsky sample module" name="sierpinsky" version="V8_3_0" />
+   <product comment="SALOME Geometry module" name="geom" version="V8_4_0" />
+   <product comment="SALOME GUI module" name="gui" version="V8_4_0" />
+   <product comment="SALOME HexaBlock module" name="hexablock" version="V8_4_0" />
+   <product comment="SALOME Homard module" name="homard" version="V8_4_0" />
+   <product comment="SALOME JobManager module" name="jobmanager" version="V8_4_0" />
+   <product comment="SALOME Kernel module" name="kernel" version="V8_4_0" />
+   <product comment="SALOME Med module" name="med" version="V8_4_0" />
+   <product comment="SALOME ParaVis module" name="paravis" version="V8_4_0" />
+   <product comment="SALOME Mesh module" name="smesh" version="V8_4_0" />
+   <product comment="SALOME YACS module" name="yacs" version="V8_4_0" />
+   <product comment="SALOME MG-CadSurf meshing plugin" name="blsurfplugin" version="V8_4_0" />
+   <product comment="SALOME MG-Tetra meshing plugin" name="ghs3dplugin" version="V8_4_0" />
+   <product comment="SALOME MG-Tetra_HPC meshing plugin" name="ghs3dprlplugin" version="V8_4_0" />
+   <product comment="SALOME MG-Hexa meshing plugin" name="hexoticplugin" version="V8_4_0" />
+   <product comment="SALOME HexaBlock meshing plugin" name="hexablockplugin" version="V8_4_0" />
+   <product comment="SALOME MG-Hybrid meshing plugin" name="hybridplugin" version="V8_4_0" />
+   <product comment="SALOME Netgen meshing plugin" name="netgenplugin" version="V8_4_0" />
+   <product comment="SALOME Gmsh meshing plugin" name="gmshplugin" version="V8_4_0" />
+   <product comment="SALOME Documentation tool" name="documentation" version="V8_4_0" />
+   <product comment="SALOME Hxx2salome tool" name="hxx2salome" version="V8_4_0" />
+   <product comment="libBatch library" name="libbatch" version="V2_3_2" />
+   <product comment="SALOME MedCoupling library" name="medcoupling" version="V8_4_0" />
+   <product comment="SALOME Tutorial" name="tutorial" version="V8_4_0" />
+   <product comment="SALOME YacsGen tool" name="yacsgen" version="V8_4_0" />
+   <product comment="SALOME AtomGen sample module" name="atomgen" version="V8_4_0" />
+   <product comment="SALOME Atomic sample module" name="atomic" version="V8_4_0" />
+   <product comment="SALOME AtomSolv sample module" name="atomsolv" version="V8_4_0" />
+   <product comment="SALOME Calculator sample module" name="calculator" version="V8_4_0" />
+   <product comment="SALOME Component sample module" name="component" version="V8_4_0" />
+   <product comment="SALOME data files" name="samples" version="V8_4_0" />
+   <product comment="SALOME DscCode sample module" name="dsccode" version="V8_4_0" />
+   <product comment="SALOME Hello sample module" name="hello" version="V8_4_0" />
+   <product comment="SALOME Light sample module" name="light" version="V8_4_0" />
+   <product comment="SALOME PyCalculator sample module" name="pycalculator" version="V8_4_0" />
+   <product comment="SALOME PyHello sample module" name="pyhello" version="V8_4_0" />
+   <product comment="SALOME PyLight sample module" name="pylight" version="V8_4_0" />
+   <product comment="SALOME Randomizer sample module" name="randomizer" version="V8_4_0" />
+   <product comment="SALOME Sierpinsky sample module" name="sierpinsky" version="V8_4_0" />
  </config>