]> SALOME platform Git repositories - tools/sat_salome.git/commitdiff
Salome HOME
Porting to OCCT 7.8.0
authorjfa <jfa@opencascade.com>
Wed, 31 Jan 2024 16:07:21 +0000 (16:07 +0000)
committerjfa <jfa@opencascade.com>
Thu, 28 Mar 2024 18:14:19 +0000 (18:14 +0000)
Porting to OCCT 7.8.0

Porting to OCCT 7.8.0 on Windows

Porting to OCCT 7.8.0 on Windows

Fixed compilation on Windows

Define specific branchs for modules to be recompiled after porting.

applications/SALOME-master-native.pyconf
applications/SALOME-master-windows.pyconf
products/gmsh.pyconf
products/netgen.pyconf
products/patches/gmsh-4.10.3-occt780-win.patch [new file with mode: 0644]
products/patches/gmsh-4.10.3-occt780.patch [new file with mode: 0644]
products/patches/netgen5.3_withOCCT780_linux.patch [new file with mode: 0644]
products/patches/netgen5.3_withOCCT780_win.patch [new file with mode: 0644]

index 1d0f5c354bc83d57a434a39b2f6929c14081b5a3..fcfcda070ea9a3342eb6988cd6d6629ae6826a20 100644 (file)
@@ -4,8 +4,9 @@
 APPLICATION :
 {
     name : 'SALOME-master-native'
-    workdir : $LOCAL.workdir + $VARS.sep + $APPLICATION.name + '-' + $VARS.dist
-    tag : 'master'
+    #workdir : $LOCAL.workdir + $VARS.sep + $APPLICATION.name + '-' + $VARS.dist
+    workdir : $LOCAL.workdir
+    tag : 'jfa/Porting_OCCT_780'
     dev : 'no'
     verbose :'no'
     debug : 'no'
@@ -38,7 +39,8 @@ APPLICATION :
         alabaster : 'native'
         Babel : 'native'
         boost : 'native'
-        CAS : {tag : 'V7_5_3p5', section: 'version_CR753_SALOME_PATCH', base: 'no'}
+        #CAS : {tag : 'V7_5_3p5', section: 'version_CR753_SALOME_PATCH', base: 'no'}
+        CAS : {tag : 'CR780-SALOME-PATCH'}
         catalyst: '2.0'
         C3PO: 'v2.0'
         certifi : 'native'
@@ -61,7 +63,7 @@ APPLICATION :
         freetype : 'native'
         gl2ps : 'native'
         gdal : 'native'
-        gmsh : '4.10.3'
+        gmsh : '4.10.3_with_CAS_7.8'
         graphviz : 'native'
         hdf5 : '1.10.3'
         idna : 'native'
@@ -79,7 +81,7 @@ APPLICATION :
         MeshGems : '2.15-1'
         metis : 'native'
         mpi4py: 'native'
-        netgen : '5.3.1_with_CAS_7.2'
+        netgen : '5.3.1_with_CAS_7.8'
         # comment out line above and uncomment the line below to use Netgen 6.
         #netgen : '6.2.2101'
         netcdf : 'native'
@@ -140,30 +142,30 @@ APPLICATION :
         # SALOME MODULES :
         'CONFIGURATION'
         'SALOME'
-        'SHAPER'
-        'SHAPERSTUDY'
+        'SHAPER' : {tag:'cce/jfa_Porting_OCCT_780_MasterRebased'}
+        'SHAPERSTUDY' : {tag: 'master'} 
         'RESTRICTED'
         'LIBBATCH' : 'V2_5_0'
         'KERNEL'
         'MEDCOUPLING' : {tag:'master', base: 'no', section: 'default_MPI', hpc: 'yes'}
         'GUI'
         'GEOM'
-        'SMESH'
-        'NETGENPLUGIN'
+        'SMESH' : {tag:'cce/jfa_Porting_OCCT_780_MasterRebased'}
+        'NETGENPLUGIN': {tag:'cce/jfa_Porting_OCCT_780_MasterRebased'}
         'BLSURFPLUGIN'
-        'GHS3DPLUGIN'
-        'HYBRIDPLUGIN'
-        'HexoticPLUGIN'
-        'GMSHPLUGIN'
-        'HEXABLOCK'
-        'HEXABLOCKPLUGIN'
-        'HOMARD'
+        'GHS3DPLUGIN' : {tag:'master'}
+        'HYBRIDPLUGIN' : {tag: 'master'}
+        'HexoticPLUGIN' : {tag: 'master'}
+        'GMSHPLUGIN' : {tag: 'master'}
+        'HEXABLOCK' : {tag: 'master'}
+        'HEXABLOCKPLUGIN' : {tag: 'master'}
+        'HOMARD' : {tag: 'master'}
         'FIELDS'
         'PARAVIS': {tag:'master', base: 'no', section: 'default_MPI', hpc: 'yes'}
         'JOBMANAGER'
         'YACS'
         'YACSGEN'
-        'DOCUMENTATION'
+        'DOCUMENTATION' : {tag: 'master'}
         'SAMPLES'
         'COMPONENT'
         'PYCALCULATOR'
@@ -175,7 +177,7 @@ APPLICATION :
         'PY2CPP'
         'ADAO'
         'ADAO_INTERFACE'
-        'PARAVISADDONS'
+        'PARAVISADDONS' : {tag: 'master'}
         'OPENTURNS_SALOME'
         'YDEFX'
         'pmml'
index a9e048d7a5b1d6ae28480000403f7b6fc794d28f..a64e3816d8d0142e113fac9adfdfe90f5e7c5fdf 100644 (file)
@@ -40,7 +40,7 @@ APPLICATION :
         alabaster : '0.7.6'
         Babel : '2.7.0'
         boost : '1.67.0'
-        CAS : {tag : 'V7_5_3p5', section: 'version_CR753_SALOME_PATCH_win', base: 'no'}
+        CAS : 'CR780-SALOME-PATCH'
         certifi : '2019.6.16'
         cgns : '4.2.0'
         chardet : '3.0.4'
@@ -63,7 +63,7 @@ APPLICATION :
         FMILibrary : '2.0.3'
         freeimage : '3.18.0'
         freetype : '2.9.1'
-        gmsh : '4.10.3'
+        gmsh : '4.10.3_with_CAS_7.8'
         graphviz : '2.44.1'
         hdf5 : '1.10.3'
         idna : '2.8'
@@ -83,7 +83,7 @@ APPLICATION :
         MeshGems : '2.15-1'
         metis : '5.1.0'
         msvc : '2017'
-        netgen : '5.3.1_with_CAS_7.2'
+        netgen : '5.3.1_with_CAS_7.8'
         # comment out line above and uncomment the line below to use Netgen 6.
         #netgen : '6.2.2101'
         nlopt : '2.5.0'
@@ -141,19 +141,19 @@ APPLICATION :
         zlib : '1.2.5'
 
         # SALOME MODULES :
-        'CONFIGURATION'
+        'CONFIGURATION' : 'jfa/Porting_OCCT_780'
         'SALOME'
-        'SHAPER'
+        'SHAPER' : 'jfa/Porting_OCCT_780'
         'SHAPERSTUDY'
         'RESTRICTED'
         'LIBBATCH' : {tag :'V2_5_0'}
-        'KERNEL'
+        'KERNEL' : 'jfa/Porting_OCCT_780'
         'MEDCOUPLING' : 'master'
-        'GUI'
-        'GEOM'
-        'SMESH'
-        'NETGENPLUGIN'
-        'BLSURFPLUGIN'
+        'GUI' : 'jfa/Porting_OCCT_780'
+        'GEOM' : 'jfa/Porting_OCCT_780'
+        'SMESH' : 'jfa/Porting_OCCT_780'
+        'NETGENPLUGIN' : 'jfa/Porting_OCCT_780'
+        'BLSURFPLUGIN' : 'jfa/Porting_OCCT_780'
         'GHS3DPLUGIN'
         'HYBRIDPLUGIN'
         'HexoticPLUGIN'
@@ -162,13 +162,13 @@ APPLICATION :
         'HEXABLOCKPLUGIN'
         #'HOMARD'
         'FIELDS'
-        'PARAVIS'
+        'PARAVIS' : 'jfa/Porting_OCCT_780'
         'JOBMANAGER'
         'YACS'
         'YACSGEN'
         'DOCUMENTATION'
         'SALOMEBOOTSTRAP'
-        'SAMPLES'
+        'SAMPLES' : 'jfa/Porting_OCCT_770'
         'COMPONENT'
         'PYCALCULATOR'
         'CALCULATOR'
@@ -182,8 +182,8 @@ APPLICATION :
         'OPENTURNS_SALOME'
         'YDEFX'
         'pmml'
-        #'TESTBASE'
-        'CEATESTBASE' : 'SalomeV9'
+        'TESTBASE' : 'jfa/Porting_OCCT_770_1'
+        #'CEATESTBASE' : 'SalomeV9'
     }
     profile :
     {
index 8b18cdcd56af5d2038b896e7bb20b42c555e1cb7..847bbb9931a756950a99950e6de6ec7692e34550 100644 (file)
@@ -31,6 +31,22 @@ default_win:
     }
 }
 
+version_4_10_3_with_CAS_7_8:
+{
+  archive_info : {archive_name : "gmsh-4.10.3.tar.gz"}
+  compil_script : "gmsh-4.10.3.sh"
+  depend : ["CAS","lapack","hdf5","medfile", "cgns"]
+  patches : ['gmsh-4.10.3-occt780.patch']
+}
+
+version_4_10_3_with_CAS_7_8_win:
+{
+  archive_info : {archive_name : "gmsh-4.10.3.tar.gz"}
+  compil_script : "gmsh-4.10.3.bat"
+  depend : ["CAS","lapack","hdf5","medfile", "cgns"]
+  patches : ['gmsh-4.10.3-occt780-win.patch']
+}
+
 version_4_10_3:
 {
   compil_script : "gmsh-4.10.3.sh"
index 05e01d166e7a9918306d19c81421041c0a477fff..da1c679abc7dd8a63c1783bbb8eeac347553ec78 100644 (file)
@@ -52,6 +52,25 @@ version_6_2_2101_win :
    }
 }
 
+version_5_3_1_with_CAS_7_8 :
+{
+    archive_info : {archive_name : "netgen-5.3.1.tar.gz"}
+    compil_script :  'netgen_5_3_1' + $VARS.scriptExtension
+    patches : ["netgen-5.3.1-for-SALOME-OCCT-7.2.0.patch","netgen5.3_withOCCT780_linux.patch"]
+}
+
+version_5_3_1_with_CAS_7_8_win :
+{
+   archive_info : {archive_name : "netgen-5.3.1.tar.gz"}
+   compil_script :  'netgen.bat'
+   patches :  ['netgen53ForSalomeOCCT730.patch','netgen53ForWindows.patch','netgen53ForSalomeVisualStudio2017.patch','netgen5.3_withOCCT780_win.patch']
+   properties :
+   {
+     incremental : "yes"
+     single_install_dir : "yes"
+   }
+}
+
 version_5_3_1_with_CAS_7_2 :
 {
     archive_info : {archive_name : "netgen-5.3.1.tar.gz"}
diff --git a/products/patches/gmsh-4.10.3-occt780-win.patch b/products/patches/gmsh-4.10.3-occt780-win.patch
new file mode 100644 (file)
index 0000000..ea95587
--- /dev/null
@@ -0,0 +1,22 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8f99dfe..8955a1f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1264,7 +1264,7 @@ if(ENABLE_OCC)
+   elseif(OCC_INC)
+     set(OCC_LIBS_REQUIRED
+       # subset of DataExchange
+-              TKSTEP TKSTEP209 TKSTEPAttr TKSTEPBase TKIGES TKXSBase
++              TKDESTEP TKDEIGES TKXSBase
+               # ModelingAlgorithms
+               TKOffset TKFeat TKFillet TKBool TKMesh TKHLR TKBO TKPrim TKShHealing
+               TKTopAlgo TKGeomAlgo
+@@ -1304,7 +1304,7 @@ if(ENABLE_OCC)
+     find_package(Freetype)
+     if(FREETYPE_FOUND)
+       set(OCC_CAF_LIBS_REQUIRED
+-          TKXDESTEP TKXDEIGES TKXCAF TKLCAF TKVCAF TKCAF TKV3d TKService TKCDF)
++          TKXCAF TKLCAF TKVCAF TKCAF TKV3d TKService TKCDF)
+       list(LENGTH OCC_CAF_LIBS_REQUIRED NUM_OCC_CAF_LIBS_REQUIRED)
+       set(OCC_CAF_LIBS)
+       foreach(OCC ${OCC_CAF_LIBS_REQUIRED})
diff --git a/products/patches/gmsh-4.10.3-occt780.patch b/products/patches/gmsh-4.10.3-occt780.patch
new file mode 100644 (file)
index 0000000..ea95587
--- /dev/null
@@ -0,0 +1,22 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8f99dfe..8955a1f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1264,7 +1264,7 @@ if(ENABLE_OCC)
+   elseif(OCC_INC)
+     set(OCC_LIBS_REQUIRED
+       # subset of DataExchange
+-              TKSTEP TKSTEP209 TKSTEPAttr TKSTEPBase TKIGES TKXSBase
++              TKDESTEP TKDEIGES TKXSBase
+               # ModelingAlgorithms
+               TKOffset TKFeat TKFillet TKBool TKMesh TKHLR TKBO TKPrim TKShHealing
+               TKTopAlgo TKGeomAlgo
+@@ -1304,7 +1304,7 @@ if(ENABLE_OCC)
+     find_package(Freetype)
+     if(FREETYPE_FOUND)
+       set(OCC_CAF_LIBS_REQUIRED
+-          TKXDESTEP TKXDEIGES TKXCAF TKLCAF TKVCAF TKCAF TKV3d TKService TKCDF)
++          TKXCAF TKLCAF TKVCAF TKCAF TKV3d TKService TKCDF)
+       list(LENGTH OCC_CAF_LIBS_REQUIRED NUM_OCC_CAF_LIBS_REQUIRED)
+       set(OCC_CAF_LIBS)
+       foreach(OCC ${OCC_CAF_LIBS_REQUIRED})
diff --git a/products/patches/netgen5.3_withOCCT780_linux.patch b/products/patches/netgen5.3_withOCCT780_linux.patch
new file mode 100644 (file)
index 0000000..001981e
--- /dev/null
@@ -0,0 +1,70 @@
+diff --git a/configure.ac b/configure.ac
+index 6db9de0..1c597c9 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -43,7 +43,7 @@ AC_ARG_WITH([occ],
+ if test a$occon = atrue ; then
+       AC_SUBST([OCCFLAGS], ["-DOCCGEOMETRY -I$occdir/include/opencascade"])
+-      AC_SUBST([OCCLIBS], ["-L$occdir/lib -lTKernel -lTKGeomBase -lTKMath -lTKG2d -lTKG3d -lTKXSBase -lTKOffset -lTKFillet -lTKShHealing -lTKMesh -lTKMeshVS -lTKTopAlgo -lTKGeomAlgo -lTKBool -lTKPrim -lTKBO -lTKIGES -lTKBRep -lTKSTEPBase -lTKSTEP -lTKSTL -lTKSTEPAttr -lTKSTEP209 -lTKXDESTEP -lTKXDEIGES -lTKXCAF -lTKLCAF"])
++      AC_SUBST([OCCLIBS], ["-L$occdir/lib -lTKernel -lTKGeomBase -lTKMath -lTKG2d -lTKG3d -lTKXSBase -lTKOffset -lTKFillet -lTKShHealing -lTKMesh -lTKMeshVS -lTKTopAlgo -lTKGeomAlgo -lTKBool -lTKPrim -lTKBO -lTKBRep -lTKXCAF -lTKLCAF -lTKDEIGES -lTKDESTEP -lTKDESTL"])
+ #  -lTKDCAF
+diff --git a/libsrc/occ/occgenmesh.cpp b/libsrc/occ/occgenmesh.cpp
+index 5026536..8074ca6 100644
+--- a/libsrc/occ/occgenmesh.cpp
++++ b/libsrc/occ/occgenmesh.cpp
+@@ -1242,9 +1242,9 @@ namespace netgen
\r
+                for (int k = 1; k <=3; k++)\r
+                {\r
+-                  int n = triangulation->Triangles()(j)(k);\r
+-                  p[k-1] = triangulation->Nodes()(n).Transformed(loc);\r
+-                  par[k-1] = triangulation->UVNodes()(n);\r
++                  int n = triangulation->Triangle(j)(k);\r
++                  p[k - 1] = triangulation->Node(n).Transformed(loc);\r
++                  par[k - 1] = triangulation->UVNode(n);\r
+                }\r
\r
+                //double maxside = 0;\r
+diff --git a/libsrc/occ/vsocc.cpp b/libsrc/occ/vsocc.cpp
+index 4d80600..74a85ae 100644
+--- a/libsrc/occ/vsocc.cpp
++++ b/libsrc/occ/vsocc.cpp
+@@ -463,7 +463,7 @@ namespace netgen
+          glBegin (GL_LINE_STRIP);
+          for (int j = 1; j <= nbnodes; j++)
+          {
+-            gp_Pnt p = (T -> Nodes())(aEdgePoly->Nodes()(j)).Transformed(aEdgeLoc);
++            gp_Pnt p = T -> Node(aEdgePoly->Nodes()(j)).Transformed(aEdgeLoc);
+             glVertex3f (p.X(), p.Y(), p.Z());
+          }
+          glEnd ();
+@@ -510,7 +510,7 @@ namespace netgen
+          glBegin (GL_LINE_STRIP);
+          for (int j = 1; j <= nbnodes; j++)
+          {
+-            gp_Pnt p = (T -> Nodes())(aEdgePoly->Nodes()(j)).Transformed(aEdgeLoc);
++            gp_Pnt p = T -> Node(aEdgePoly->Nodes()(j)).Transformed(aEdgeLoc);
+             glVertex3f (p.X(), p.Y(), p.Z());
+          }
+          glEnd ();
+@@ -586,14 +586,14 @@ namespace netgen
+          int ntriangles = triangulation -> NbTriangles();
+          for (int j = 1; j <= ntriangles; j++)
+          {
+-            Poly_Triangle triangle = (triangulation -> Triangles())(j);
++            Poly_Triangle triangle = triangulation -> Triangle(j);
+             gp_Pnt p[3];
+             for (int k = 1; k <= 3; k++)
+-            p[k-1] = (triangulation -> Nodes())(triangle(k)).Transformed(loc);
++            p[k-1] = triangulation -> Node(triangle(k)).Transformed(loc);
+             for (int k = 1; k <= 3; k++)
+             {
+-               uv = (triangulation -> UVNodes())(triangle(k));
++               uv = triangulation -> UVNode(triangle(k));
+                prop.SetParameters (uv.X(), uv.Y());
+                //           surf->D0 (uv.X(), uv.Y(), pnt);
diff --git a/products/patches/netgen5.3_withOCCT780_win.patch b/products/patches/netgen5.3_withOCCT780_win.patch
new file mode 100644 (file)
index 0000000..86d094c
--- /dev/null
@@ -0,0 +1,70 @@
+diff --git a/configure.ac b/configure.ac
+index 6db9de0..1c597c9 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -43,7 +43,7 @@ AC_ARG_WITH([occ],
+ if test a$occon = atrue ; then
+       AC_SUBST([OCCFLAGS], ["-DOCCGEOMETRY -I$occdir/include/opencascade"])
+-      AC_SUBST([OCCLIBS], ["-L$occdir/lib -lTKernel -lTKGeomBase -lTKMath -lTKG2d -lTKG3d -lTKXSBase -lTKOffset -lTKFillet -lTKShHealing -lTKMesh -lTKMeshVS -lTKTopAlgo -lTKGeomAlgo -lTKBool -lTKPrim -lTKBO -lTKIGES -lTKBRep -lTKSTEPBase -lTKSTEP -lTKSTL -lTKSTEPAttr -lTKSTEP209 -lTKXDESTEP -lTKXDEIGES -lTKXCAF -lTKLCAF"])
++      AC_SUBST([OCCLIBS], ["-L$occdir/lib -lTKernel -lTKGeomBase -lTKMath -lTKG2d -lTKG3d -lTKXSBase -lTKOffset -lTKFillet -lTKShHealing -lTKMesh -lTKMeshVS -lTKTopAlgo -lTKGeomAlgo -lTKBool -lTKPrim -lTKBO -lTKBRep -lTKXCAF -lTKLCAF -lTKDEIGES -lTKDESTEP -lTKDESTL"])
+ #  -lTKDCAF
+diff --git a/libsrc/occ/occgenmesh.cpp b/libsrc/occ/occgenmesh.cpp
+index 1e0127f..d9b4e6f 100644
+--- a/libsrc/occ/occgenmesh.cpp
++++ b/libsrc/occ/occgenmesh.cpp
+@@ -1242,9 +1242,9 @@ namespace netgen
+                for (int k = 1; k <=3; k++)
+                {
+-                  int n = triangulation->Triangles()(j)(k);
+-                  p[k-1] = triangulation->Nodes()(n).Transformed(loc);
+-                  par[k-1] = triangulation->UVNodes()(n);
++                  int n = triangulation->Triangle(j)(k);
++                  p[k - 1] = triangulation->Node(n).Transformed(loc);
++                  par[k - 1] = triangulation->UVNode(n);
+                }
+                //double maxside = 0;
+diff --git a/libsrc/occ/vsocc.cpp b/libsrc/occ/vsocc.cpp
+index 4d80600..0070b56 100644
+--- a/libsrc/occ/vsocc.cpp
++++ b/libsrc/occ/vsocc.cpp
+@@ -463,7 +463,7 @@ namespace netgen
+          glBegin (GL_LINE_STRIP);
+          for (int j = 1; j <= nbnodes; j++)
+          {
+-            gp_Pnt p = (T -> Nodes())(aEdgePoly->Nodes()(j)).Transformed(aEdgeLoc);
++            gp_Pnt p = T->Node(aEdgePoly->Nodes()(j)).Transformed(aEdgeLoc);
+             glVertex3f (p.X(), p.Y(), p.Z());
+          }
+          glEnd ();
+@@ -510,7 +510,7 @@ namespace netgen
+          glBegin (GL_LINE_STRIP);
+          for (int j = 1; j <= nbnodes; j++)
+          {
+-            gp_Pnt p = (T -> Nodes())(aEdgePoly->Nodes()(j)).Transformed(aEdgeLoc);
++            gp_Pnt p = T->Node(aEdgePoly->Nodes()(j)).Transformed(aEdgeLoc);
+             glVertex3f (p.X(), p.Y(), p.Z());
+          }
+          glEnd ();
+@@ -586,14 +586,14 @@ namespace netgen
+          int ntriangles = triangulation -> NbTriangles();
+          for (int j = 1; j <= ntriangles; j++)
+          {
+-            Poly_Triangle triangle = (triangulation -> Triangles())(j);
++            Poly_Triangle triangle = triangulation->Triangles(j);
+             gp_Pnt p[3];
+             for (int k = 1; k <= 3; k++)
+-            p[k-1] = (triangulation -> Nodes())(triangle(k)).Transformed(loc);
++            p[k-1] = triangulation -> Nodes(triangle(k)).Transformed(loc);
+             for (int k = 1; k <= 3; k++)
+             {
+-               uv = (triangulation -> UVNodes())(triangle(k));
++               uv = triangulation -> UVNodes(triangle(k));
+                prop.SetParameters (uv.X(), uv.Y());
+                //           surf->D0 (uv.X(), uv.Y(), pnt);