Ana Guerrero 2024-11-20 16:01:03 +00:00 committed by Git OBS Bridge
commit 01613bc848
14 changed files with 152 additions and 578 deletions

View File

@ -0,0 +1,26 @@
From 86151d77b7182f47fee5a576388dafbfefef3487 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de>
Date: Tue, 19 Nov 2024 19:07:28 +0100
Subject: [PATCH] Mod/CAM Add missing OpenGL includes
The headers are required on e.g. ARM platforms where Qt is build with GLES
instead of Desktop GL, and does not implicitly include the headers.
---
src/Mod/CAM/PathSimulator/AppGL/DlgCAMSimulator.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/Mod/CAM/PathSimulator/AppGL/DlgCAMSimulator.cpp b/src/Mod/CAM/PathSimulator/AppGL/DlgCAMSimulator.cpp
index 74a5af01e..a59cbafe1 100644
--- a/src/Mod/CAM/PathSimulator/AppGL/DlgCAMSimulator.cpp
+++ b/src/Mod/CAM/PathSimulator/AppGL/DlgCAMSimulator.cpp
@@ -25,6 +25,7 @@
#include "DlgCAMSimulator.h"
#include "MillSimulation.h"
#include "Gui/View3DInventorViewer.h"
+#include <GL/gl.h>
#include <Mod/Part/App/BRepMesh.h>
#include <QDateTime>
#include <QSurfaceFormat>
--
2.47.0

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ceaf77cd12e8ad533d1535cc27ae4ca2a6e80778502dc9cdec906415d674b674
size 66124278

3
FreeCAD-1.0.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b5af251615eeab3905b2aa5fbd432cf90c57b86f9ba2a50ca23c9cc1703f81d9
size 97174172

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Mon Sep 23 10:58:56 UTC 2024 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
- Update to version 1.0.0
-------------------------------------------------------------------
Mon Sep 11 10:55:03 UTC 2023 - Stefan Brüns <stefan.bruens@rwth-aachen.de>

View File

@ -17,7 +17,7 @@
Name: FreeCAD-test
Version: 0.21.2
Version: 1.0.0
Release: 0
Summary: Meta source package that runs the FreeCAD testsuite when built
License: GPL-2.0-or-later AND LGPL-2.0-or-later

View File

@ -1,3 +1,24 @@
-------------------------------------------------------------------
Tue Nov 19 17:58:13 UTC 2024 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
- Update to version 1.0.0
For details, see https://wiki.freecad.org/Release_notes_1.0
The most notable improvements over the 0.21 release series are:
* inclusion of the topological naming problem mitigation code
* an integrated assembly workbench
* a new materials system
* and many UI/UX improvements
- Drop obsolete/upstream patches:
* freecad-copy_options.patch
* freecad-copy_options-2.patch
* freecad-boost185.patch
* boost_1_86_fixes.patch
* fix_vtk_9_3_compat.patch
* freecad-xerces_3_3_compat.patch
- Add
* 0001-Mod-CAM-Add-missing-OpenGL-includes.patch
* ondselsolver_fix_gcc_75_filesystem.patch
-------------------------------------------------------------------
Sun Nov 17 00:03:18 UTC 2024 - Stefan Brüns <stefan.bruens@rwth-aachen.de>

View File

@ -24,44 +24,39 @@
%bcond_without fc_addonmanager
# zipios not yet in TW
%bcond_with zipios
%bcond_with ondselsolver
%else
%bcond_with boost_signals2
%bcond_with fc_addonmanager
%bcond_with zipios
%bcond_with ondselsolver
%endif
%bcond_with smesh_external
%bcond_without smesh
%bcond_with cmake_trace
Name: FreeCAD
Version: 0.21.2
Version: 1.0.0
Release: 0
Summary: General Purpose 3D CAD Modeler
License: GPL-2.0-or-later AND LGPL-2.0-or-later
Group: Productivity/Graphics/CAD
URL: https://www.freecadweb.org/
Source0: https://github.com/FreeCAD/FreeCAD/archive/refs/tags/%{version}.tar.gz#/%{name}-%{version}.tar.gz
URL: https://www.freecad.org/
Source0: https://github.com/FreeCAD/FreeCAD/releases/download/%{version}/freecad_source.tar.gz#/%{name}-%{version}.tar.gz
# PATCH-FIX-UPSTREAM
Patch0: 0001-Gui-Quarter-Add-missing-OpenGL-includes.patch
# PATCH-FIX-OPENSUSE
Patch1: 0001-Avoid-catching-SIGSEGV-defer-to-system-services.patch
# PATCH-FIX-OPENSUSE
Patch2: 0001-Implement-math.comb-fallback-for-Python-3.6.patch
# PATCH-FIX-OPENSUSE
Patch3: 0001-Mod-CAM-Add-missing-OpenGL-includes.patch
# PATCH-FIX-UPSTREAM
Patch9: 0001-Fix-variable-name-for-OpenGL-library.patch
# PATCH-FIX-UPSTREAM
Patch10: https://github.com/FreeCAD/FreeCAD/commit/d0fb2b8b29fe0428d9dd8aa790b0d6e45c8a9516.patch#/fix_vtk_9_3_compat.patch
# PATCH-FIX-UPSTREAM
Patch11: https://github.com/FreeCAD/FreeCAD/commit/f555a25f9e67e628e8075fc8599d7c11807eaddd.patch#/freecad-boost185.patch
# PATCH-FIX-UPSTREAM
Patch12: https://github.com/FreeCAD/FreeCAD/commit/aa54ba73df4d42878130c99688be35acf10725a0.patch#/freecad-copy_options.patch
# PATCH-FIX-UPSTREAM
Patch13: https://github.com/FreeCAD/FreeCAD/commit/91457bbdee2422c7f0372688cf72d021cf222073.patch#/freecad-copy_options-2.patch
# PATCH-FIX-OPENSUSE
Patch14: freecad-opengl.patch
# PATCH-FIX-UPSTREAM - patch from master, modified for 0.21.1 - https://github.com/FreeCAD/FreeCAD/commit/98888241920ad04fa3c2f56bdf196debf8cfb39c.patch
Patch15: boost_1_86_fixes.patch
# PATCH-FIX-UPSTREAM - patch from master, modified for 0.21.2 - https://github.com/FreeCAD/FreeCAD/commit/7a6a82e2ca858c24d97e1f34c77777b25a9e0859.patch
Patch16: freecad-xerces_3_3_compat.patch
# PATCH-FIX-UPSTREAM
Patch50: https://github.com/Ondsel-Development/OndselSolver/commit/2e3659c4bce3e6885269e0cb3d640261b2a91108.patch#/ondselsolver_fix_gcc_75_filesystem.patch
# Test suite fails on 32bit and I don't want to debug that anymore
ExcludeArch: %ix86 %arm ppc s390 s390x
@ -92,6 +87,11 @@ BuildRequires: smesh-devel
BuildRequires: libXerces-c-devel
BuildRequires: libXi-devel
BuildRequires: libmed-devel
%if 0%{?suse_version} > 1550
%ifarch x86_64 %{x86_64}
BuildRequires: libquadmath-devel
%endif
%endif
BuildRequires: libspnav-devel
BuildRequires: make
BuildRequires: netgen-devel
@ -115,6 +115,10 @@ BuildRequires: cmake(GTest)
BuildRequires: cmake(ZipIos)
%endif
BuildRequires: cmake(coin)
BuildRequires: cmake(yaml-cpp)
%if %{with ondselsolver}
BuildRequires: pkgconfig(OndselSolver)
%endif
BuildRequires: pkgconfig(Qt5Concurrent)
BuildRequires: pkgconfig(Qt5OpenGL)
BuildRequires: pkgconfig(Qt5PrintSupport)
@ -137,7 +141,6 @@ Requires: python3-ply
Requires: python3-six
BuildRequires: swig
BuildRequires: update-desktop-files
BuildRequires: vtk-devel
BuildRequires: zlib-devel
@ -160,21 +163,19 @@ Requires: %{name} = %{version}
This package contains the files needed for development with FreeCAD.
%prep
%setup -q
%autopatch -p1
%autosetup -c -N
%autopatch -p1 -M 49
# Run manually, have to inject the 3rdParty path
cat %{P:50} | patch --verbose -d src/3rdParty/OndselSolver -p1
# Use system gtest - https://github.com/FreeCAD/FreeCAD/issues/10126
sed -i -e 's/add_subdirectory(lib)/find_package(GTest)/' \
-e 's/ gtest_main/ GTest::gtest_main/' \
-e 's/ gmock_main/ GTest::gmock_main/' \
tests/CMakeLists.txt
tests/CMakeLists.txt \
tests/src/Mod/*/CMakeLists.txt
# Lower Python minimum version for Leap
sed -i -e 's/3.8/3.6/' cMake/FreeCAD_Helpers/SetupPython.cmake
# Use boost::filesystem - https://github.com/FreeCAD/FreeCAD/issues/10127
sed -i -e 's/std::filesystem/boost::filesystem/' \
-e '/include/ s@<filesystem>@<boost/filesystem.hpp>@' \
-e '/std::.fstream/ s@_tempFile@_tempFile.string()@' \
tests/src/Base/Reader.cpp
# fix env-script-interpreter
sed -i '1 s@#!.*@#!%{__python3}@' \
@ -199,9 +200,10 @@ sed -i 's/\r$//' src/Mod/Robot/MovieTool.py
sed -i 's/\r$//' src/Mod/Robot/KukaExporter.py
sed -i 's/\r$//' src/Mod/Test/unittestgui.py
# Remove 3rd party libs
rm src/3rdparty/Pivy -fr
rm src/3rdparty/Pivy-0.5 -fr
# Make sure system version is used
%if %{with ondselsolver}
rm src/3rdParty/OndselSolver -fr
%endif
# Remove bundled gtest
rm tests/lib -fr
@ -211,17 +213,16 @@ rm tests/lib -fr
%build
%cmake \
-DCMAKE_INSTALL_PREFIX=%{x_prefix} \
-DCMAKE_INSTALL_LIBDIR=%{x_prefix}/lib \
-DCMAKE_INSTALL_BINDIR=%{x_prefix}/bin \
-DCMAKE_INSTALL_DATAROOTDIR=%{_datadir} \
-DCMAKE_INSTALL_DATADIR=%{_datadir}/%{name} \
-DCMAKE_INSTALL_LIBDIR=lib \
-DCMAKE_INSTALL_BINDIR=bin \
-DCMAKE_INSTALL_DATAROOTDIR="../../share/" \
-DCMAKE_INSTALL_DATADIR="../../share/%{name}" \
-DCMAKE_INSTALL_DOCDIR=%{_docdir}/%{name} \
-DCMAKE_INSTALL_INCLUDEDIR=%{_includedir}/%{name} \
-DCMAKE_SKIP_RPATH:BOOL=OFF \
-DCMAKE_SKIP_INSTALL_RPATH:BOOL=OFF \
-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=ON \
-DOCC_INCLUDE_DIR=%{_includedir}/opencascade \
-DRESOURCEDIR=%{_datadir}/%{name} \
-DPYTHON_EXECUTABLE=/usr/bin/python3 \
-DPYTHON_INCLUDE_DIR=%{python3_sysconfig_path include} \
-DSHIBOKEN_INCLUDE_DIR=/usr/include/shiboken2/ \
@ -237,6 +238,7 @@ rm tests/lib -fr
-DBUILD_FLAT_MESH:BOOL=ON \
-DFREECAD_USE_EXTERNAL_SMESH=%{?with_smesh_external:ON}%{!?with_smesh_external:OFF} \
-DFREECAD_USE_EXTERNAL_ZIPIOS=%{?with_zipios:ON}%{!?with_zipios:OFF} \
-DFREECAD_USE_EXTERNAL_ONDSELSOLVER=%{?with_ondselsolver:ON}%{!?with_ondselsolver:OFF} \
-DBUILD_SMESH:BOOL=ON \
-DBUILD_MESH_PART:BOOL=ON \
-DBUILD_FEM:BOOL=%{?with_smesh:ON}%{!?with_smesh:OFF} \
@ -266,12 +268,14 @@ chmod 755 %{buildroot}%{_libdir}/FreeCAD/Mod/Robot/KukaExporter.py \
%{buildroot}%{_libdir}/FreeCAD/Mod/Part/parttests/TopoShapeListTest.py \
%{buildroot}%{_libdir}/FreeCAD/Mod/Test/unittestgui.py
%suse_update_desktop_file -r org.freecadweb.FreeCAD Education Engineering
# Remove unneeded files
find %{buildroot} -type f -name "*.la" -delete -print
rm -Rf %{buildroot}%{_datadir}/pixmaps
rm %{buildroot}%{x_prefix}/include/E57Format/E57Export.h
rm -Rf %{buildroot}%{_includedir}/%{name}/OndselSolver
rm %{buildroot}%{_datadir}/pkgconfig/OndselSolver.pc
rmdir %{buildroot}%{_datadir}/pkgconfig
rmdir %{buildroot}%{x_prefix}/include/E57Format
# Broken
rm -Rf %{buildroot}%{_datadir}/thumbnailers
@ -284,9 +288,8 @@ ln -s -t %{buildroot}/usr/bin %{x_prefix}/bin/FreeCADCmd
%fdupes %{buildroot}/%{_datadir}
%check
%ctest --test-dir tests/src/Qt
./build/tests/Tests_run
./build/tests/Sketcher_tests_run
export QT_QPA_PLATFORM=offscreen
%ctest --test-dir tests
%post -p /sbin/ldconfig
@ -298,6 +301,11 @@ ln -s -t %{buildroot}/usr/bin %{x_prefix}/bin/FreeCADCmd
%{_bindir}/FreeCAD{,Cmd}
%doc %{_docdir}/%{name}/
%{_libdir}/%{name}
%if %{python3_version_nodots} < 310
%{python_sitearch}/freecad
%else
%{python_sitelib}/freecad
%endif
%{_datadir}/%{name}/
%{_datadir}/applications/*.desktop
%{_datadir}/icons/hicolor/*/*/*.{png,svg}

View File

@ -1,90 +0,0 @@
From 98888241920ad04fa3c2f56bdf196debf8cfb39c Mon Sep 17 00:00:00 2001
From: wmayer <wmayer@freecad.org>
Date: Thu, 22 Aug 2024 17:00:03 +0200
Subject: [PATCH] Building: Boost dependency errors
Fixes #15999
---
src/Mod/Part/App/Geometry.cpp | 1 +
src/Mod/Part/App/PreCompiled.h | 1 +
src/Mod/Sketcher/App/Constraint.cpp | 1 +
src/Mod/Sketcher/App/PreCompiled.h | 1 +
src/Mod/TechDraw/App/CenterLine.cpp | 1 +
src/Mod/TechDraw/App/Cosmetic.cpp | 1 +
src/Mod/TechDraw/App/CosmeticVertex.cpp | 1 +
src/Mod/TechDraw/App/Geometry.cpp | 1 +
src/Mod/TechDraw/App/PreCompiled.h | 1 +
9 files changed, 9 insertions(+)
diff --git a/src/Mod/Part/App/Geometry.cpp b/src/Mod/Part/App/Geometry.cpp
index 046d2624d6d3..307fddb0aab1 100644
--- a/src/Mod/Part/App/Geometry.cpp
+++ b/src/Mod/Part/App/Geometry.cpp
@@ -102,6 +102,7 @@
# include <GeomAdaptor_HCurve.hxx>
# endif
+# include <boost/random.hpp>
# include <cmath>
# include <ctime>
#endif //_PreComp_
diff --git a/src/Mod/Sketcher/App/Constraint.cpp b/src/Mod/Sketcher/App/Constraint.cpp
index 1ee3e53753a9..b802e36d5864 100644
--- a/src/Mod/Sketcher/App/Constraint.cpp
+++ b/src/Mod/Sketcher/App/Constraint.cpp
@@ -23,6 +23,7 @@
#include "PreCompiled.h"
#ifndef _PreComp_
#include <QDateTime>
+#include <boost/random.hpp>
#include <cmath>
#endif
diff --git a/src/Mod/TechDraw/App/CenterLine.cpp b/src/Mod/TechDraw/App/CenterLine.cpp
index eac348ce0b2a..21a39e2b9b94 100644
--- a/src/Mod/TechDraw/App/CenterLine.cpp
+++ b/src/Mod/TechDraw/App/CenterLine.cpp
@@ -23,6 +23,7 @@
#include "PreCompiled.h"
#ifndef _PreComp_
+ #include <boost/random.hpp>
#include <boost/uuid/uuid_io.hpp>
#include <boost/uuid/uuid_generators.hpp>
#include <BRepBuilderAPI_MakeEdge.hxx>
diff --git a/src/Mod/TechDraw/App/Cosmetic.cpp b/src/Mod/TechDraw/App/Cosmetic.cpp
index c2e9fe24a446..6dc50ec5c9af 100644
--- a/src/Mod/TechDraw/App/Cosmetic.cpp
+++ b/src/Mod/TechDraw/App/Cosmetic.cpp
@@ -24,6 +24,7 @@
#include "PreCompiled.h"
#ifndef _PreComp_
# include <BRepBuilderAPI_MakeEdge.hxx>
+# include <boost/random.hpp>
# include <boost/uuid/uuid_generators.hpp>
# include <boost/uuid/uuid_io.hpp>
#endif
diff --git a/src/Mod/TechDraw/App/CosmeticVertex.cpp b/src/Mod/TechDraw/App/CosmeticVertex.cpp
index 24401e78d259..e2ffe27b474c 100644
--- a/src/Mod/TechDraw/App/CosmeticVertex.cpp
+++ b/src/Mod/TechDraw/App/CosmeticVertex.cpp
@@ -25,6 +25,7 @@
#include "PreCompiled.h"
#ifndef _PreComp_
+ #include <boost/random.hpp>
#include <boost/uuid/uuid_generators.hpp>
#include <boost/uuid/uuid_io.hpp>
#endif // _PreComp_
diff --git a/src/Mod/TechDraw/App/Geometry.cpp b/src/Mod/TechDraw/App/Geometry.cpp
index 504bea6d07c0..43510f4da365 100644
--- a/src/Mod/TechDraw/App/Geometry.cpp
+++ b/src/Mod/TechDraw/App/Geometry.cpp
@@ -24,6 +24,7 @@
#ifndef _PreComp_
# include <cmath>
+# include <boost/random.hpp>
# include <boost/uuid/uuid_generators.hpp>
# include <boost/uuid/uuid_io.hpp>

View File

@ -1,43 +0,0 @@
From d0fb2b8b29fe0428d9dd8aa790b0d6e45c8a9516 Mon Sep 17 00:00:00 2001
From: Adrian Insaurralde Avalos <adrianinsaval@gmail.com>
Date: Wed, 22 Nov 2023 16:42:06 -0300
Subject: [PATCH] 3rdPart/salomesmesh - fix for vtk 9.3 compatibility
minimum required version is 7.1
---
src/3rdParty/salomesmesh/inc/SMESH_SMDS.hxx | 4 ----
src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp | 5 +++++
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/3rdParty/salomesmesh/inc/SMESH_SMDS.hxx b/src/3rdParty/salomesmesh/inc/SMESH_SMDS.hxx
index 7f89573efd0d..47a52fe585fe 100644
--- a/src/3rdParty/salomesmesh/inc/SMESH_SMDS.hxx
+++ b/src/3rdParty/salomesmesh/inc/SMESH_SMDS.hxx
@@ -39,10 +39,6 @@
#define SMDS_EXPORT
#endif
-#ifdef VTK_HAS_MTIME_TYPE
#define VTK_MTIME_TYPE vtkMTimeType
-#else
-#define VTK_MTIME_TYPE unsigned long
-#endif
#endif
diff --git a/src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp b/src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp
index 7e3de0070a02..e9895d615717 100644
--- a/src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp
+++ b/src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp
@@ -1026,7 +1026,12 @@ void SMDS_UnstructuredGrid::BuildLinks()
GetLinks()->Allocate(this->GetNumberOfPoints());
GetLinks()->Register(this);
//FIXME: vtk9
+ #if VTK_VERSION_NUMBER < VTK_VERSION_CHECK(9,3,0)
GetLinks()->BuildLinks(this);
+ #else
+ GetLinks()->SetDataSet(this);
+ GetLinks()->BuildLinks();
+ #endif
GetLinks()->Delete();
#else
this->Links = SMDS_CellLinks::New();

View File

@ -1,22 +0,0 @@
From f555a25f9e67e628e8075fc8599d7c11807eaddd Mon Sep 17 00:00:00 2001
From: wmayer <wmayer@users.sourceforge.net>
Date: Sun, 21 Apr 2024 08:36:16 +0200
Subject: [PATCH] Fixes #13549: smesh doesn't compile with boost 1.85
---
src/3rdParty/salomesmesh/src/SMESH/DriverGMF.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/3rdParty/salomesmesh/src/SMESH/DriverGMF.cpp b/src/3rdParty/salomesmesh/src/SMESH/DriverGMF.cpp
index d72ff2363f39..f108cbbcb2cf 100644
--- a/src/3rdParty/salomesmesh/src/SMESH/DriverGMF.cpp
+++ b/src/3rdParty/salomesmesh/src/SMESH/DriverGMF.cpp
@@ -55,7 +55,7 @@ namespace DriverGMF
bool isExtensionCorrect( const std::string& fileName )
{
- std::string ext = boost::filesystem::extension(fileName);
+ std::string ext = boost::filesystem::path(fileName).extension().string();
switch ( ext.size() ) {
case 5: return ( ext == ".mesh" || ext == ".solb" );
case 6: return ( ext == ".meshb" );

View File

@ -1,25 +0,0 @@
From 91457bbdee2422c7f0372688cf72d021cf222073 Mon Sep 17 00:00:00 2001
From: ppphp <kevinniub@gmail.com>
Date: Sat, 30 Mar 2024 19:17:56 +0800
Subject: [PATCH] add version check macro for compatibility
---
src/Gui/PreferencePackManager.cpp | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/Gui/PreferencePackManager.cpp b/src/Gui/PreferencePackManager.cpp
index e1773a436852..dfc54240c00c 100644
--- a/src/Gui/PreferencePackManager.cpp
+++ b/src/Gui/PreferencePackManager.cpp
@@ -224,7 +224,11 @@ void Gui::PreferencePackManager::importConfig(const std::string& packName,
auto savedPreferencePacksDirectory =
fs::path(App::Application::getUserAppDataDir()) / "SavedPreferencePacks";
auto cfgFilename = savedPreferencePacksDirectory / packName / (packName + ".cfg");
+#if BOOST_VERSION >= 107400
fs::copy_file(path, cfgFilename, fs::copy_options::overwrite_existing);
+#else
+ fs::copy_file(path, cfgFilename, fs::copy_option::overwrite_if_exists);
+#endif
rescan();
}

View File

@ -1,22 +0,0 @@
From aa54ba73df4d42878130c99688be35acf10725a0 Mon Sep 17 00:00:00 2001
From: ppphp <kevinniub@gmail.com>
Date: Sat, 30 Mar 2024 13:52:32 +0800
Subject: [PATCH] fix: c++20 deprecate copy_option
---
src/Gui/PreferencePackManager.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Gui/PreferencePackManager.cpp b/src/Gui/PreferencePackManager.cpp
index e0e6184a3147..e1773a436852 100644
--- a/src/Gui/PreferencePackManager.cpp
+++ b/src/Gui/PreferencePackManager.cpp
@@ -224,7 +224,7 @@ void Gui::PreferencePackManager::importConfig(const std::string& packName,
auto savedPreferencePacksDirectory =
fs::path(App::Application::getUserAppDataDir()) / "SavedPreferencePacks";
auto cfgFilename = savedPreferencePacksDirectory / packName / (packName + ".cfg");
- fs::copy_file(path, cfgFilename, fs::copy_option::overwrite_if_exists);
+ fs::copy_file(path, cfgFilename, fs::copy_options::overwrite_existing);
rescan();
}

View File

@ -1,335 +0,0 @@
diff --git a/src/App/Metadata.cpp b/src/App/Metadata.cpp
index 05d58b4..bac6822 100644
--- a/src/App/Metadata.cpp
+++ b/src/App/Metadata.cpp
@@ -58,7 +58,12 @@ directly. If you did not intend to use a system-defined macro
using namespace App;
namespace fs = boost::filesystem;
+#ifndef XERCES_CPP_NAMESPACE_BEGIN
+#define XERCES_CPP_NAMESPACE_QUALIFIER
+using namespace XERCES_CPP_NAMESPACE;
+#else
XERCES_CPP_NAMESPACE_USE
+#endif
namespace MetadataInternal
{
diff --git a/src/App/MetadataPyImp.cpp b/src/App/MetadataPyImp.cpp
index d3708ad..be478d6 100644
--- a/src/App/MetadataPyImp.cpp
+++ b/src/App/MetadataPyImp.cpp
@@ -30,7 +30,12 @@
#include "MetadataPy.cpp"
using namespace Base;
+#ifndef XERCES_CPP_NAMESPACE_BEGIN
+#define XERCES_CPP_NAMESPACE_QUALIFIER
+using namespace XERCES_CPP_NAMESPACE;
+#else
XERCES_CPP_NAMESPACE_USE
+#endif
// Returns a string which represents the object e.g. when printed in Python
std::string MetadataPy::representation() const
diff --git a/src/Base/InputSource.cpp b/src/Base/InputSource.cpp
index 0c4039a..bf73486 100644
--- a/src/Base/InputSource.cpp
+++ b/src/Base/InputSource.cpp
@@ -35,8 +35,12 @@
#include "InputSource.h"
#include "XMLTools.h"
-
+#ifndef XERCES_CPP_NAMESPACE_BEGIN
+#define XERCES_CPP_NAMESPACE_QUALIFIER
+using namespace XERCES_CPP_NAMESPACE;
+#else
XERCES_CPP_NAMESPACE_USE
+#endif
using namespace Base;
using namespace std;
diff --git a/src/Base/InputSource.h b/src/Base/InputSource.h
index 321b741..9969f6b 100644
--- a/src/Base/InputSource.h
+++ b/src/Base/InputSource.h
@@ -32,10 +32,18 @@
#include <FCGlobal.h>
#endif
-
+#ifndef XERCES_CPP_NAMESPACE_BEGIN
+#define XERCES_CPP_NAMESPACE_QUALIFIER
+using namespace XERCES_CPP_NAMESPACE;
+namespace XERCES_CPP_NAMESPACE
+{
+class BinInputStream;
+}
+#else
XERCES_CPP_NAMESPACE_BEGIN
class BinInputStream;
XERCES_CPP_NAMESPACE_END
+#endif
namespace Base
{
diff --git a/src/Base/Parameter.cpp b/src/Base/Parameter.cpp
index 93d45a9..5af8fb7 100644
--- a/src/Base/Parameter.cpp
+++ b/src/Base/Parameter.cpp
@@ -54,11 +54,12 @@
FC_LOG_LEVEL_INIT("Parameter", true, true)
-//#ifdef XERCES_HAS_CPP_NAMESPACE
-// using namespace xercesc;
-//#endif
-
+#ifndef XERCES_CPP_NAMESPACE_BEGIN
+#define XERCES_CPP_NAMESPACE_QUALIFIER
+using namespace XERCES_CPP_NAMESPACE;
+#else
XERCES_CPP_NAMESPACE_USE
+#endif
using namespace Base;
diff --git a/src/Base/Parameter.h b/src/Base/Parameter.h
index 72a2391..71f38a7 100644
--- a/src/Base/Parameter.h
+++ b/src/Base/Parameter.h
@@ -65,7 +65,18 @@ using PyObject = struct _object;
# pragma warning( disable : 4275 )
#endif
-
+#ifndef XERCES_CPP_NAMESPACE_BEGIN
+#define XERCES_CPP_NAMESPACE_QUALIFIER
+using namespace XERCES_CPP_NAMESPACE;
+namespace XERCES_CPP_NAMESPACE
+{
+class DOMNode;
+class DOMElement;
+class DOMDocument;
+class XMLFormatTarget;
+class InputSource;
+} // namespace XERCES_CPP_NAMESPACE
+#else
XERCES_CPP_NAMESPACE_BEGIN
class DOMNode;
class DOMElement;
@@ -73,6 +84,7 @@ class DOMDocument;
class XMLFormatTarget;
class InputSource;
XERCES_CPP_NAMESPACE_END
+#endif
class ParameterManager;
diff --git a/src/Base/Reader.cpp b/src/Base/Reader.cpp
index 3231d26..8d5f889 100644
--- a/src/Base/Reader.cpp
+++ b/src/Base/Reader.cpp
@@ -45,8 +45,12 @@
#include <zipios++/zipinputstream.h>
#include <boost/iostreams/filtering_stream.hpp>
-
+#ifndef XERCES_CPP_NAMESPACE_BEGIN
+#define XERCES_CPP_NAMESPACE_QUALIFIER
+using namespace XERCES_CPP_NAMESPACE;
+#else
XERCES_CPP_NAMESPACE_USE
+#endif
using namespace std;
diff --git a/src/Base/Reader.h b/src/Base/Reader.h
index aa66f53..be6943e 100644
--- a/src/Base/Reader.h
+++ b/src/Base/Reader.h
@@ -41,11 +41,20 @@
namespace zipios {
class ZipInputStream;
}
-
+#ifndef XERCES_CPP_NAMESPACE_BEGIN
+#define XERCES_CPP_NAMESPACE_QUALIFIER
+using namespace XERCES_CPP_NAMESPACE;
+namespace XERCES_CPP_NAMESPACE
+{
+class DefaultHandler;
+class SAX2XMLReader;
+} // namespace XERCES_CPP_NAMESPACE
+#else
XERCES_CPP_NAMESPACE_BEGIN
class DefaultHandler;
class SAX2XMLReader;
XERCES_CPP_NAMESPACE_END
+#endif
namespace Base
{
diff --git a/src/Base/XMLTools.cpp b/src/Base/XMLTools.cpp
index 84b5a8e..7fe8d14 100644
--- a/src/Base/XMLTools.cpp
+++ b/src/Base/XMLTools.cpp
@@ -26,15 +26,21 @@
#include "XMLTools.h"
using namespace Base;
+
+#ifndef XERCES_CPP_NAMESPACE_BEGIN
+#define XERCES_CPP_NAMESPACE_QUALIFIER
+using namespace XERCES_CPP_NAMESPACE;
+#else
+XERCES_CPP_NAMESPACE_USE
+#endif
-std::unique_ptr<XERCES_CPP_NAMESPACE::XMLTranscoder> XMLTools::transcoder;
+std::unique_ptr<XMLTranscoder> XMLTools::transcoder;
void XMLTools::initialize()
{
- XERCES_CPP_NAMESPACE_USE;
if (!transcoder.get()) {
XMLTransService::Codes res;
- transcoder.reset(XERCES_CPP_NAMESPACE_QUALIFIER XMLPlatformUtils::fgTransService->makeNewTranscoderFor(XERCES_CPP_NAMESPACE_QUALIFIER XMLRecognizer::UTF_8, res, 4096, XERCES_CPP_NAMESPACE_QUALIFIER XMLPlatformUtils::fgMemoryManager));
+ transcoder.reset(XMLPlatformUtils::fgTransService->makeNewTranscoderFor(XMLRecognizer::UTF_8, res, 4096, XMLPlatformUtils::fgMemoryManager));
if (res != XMLTransService::Ok)
throw Base::UnicodeError("Can\'t create transcoder");
}
@@ -44,7 +50,6 @@ std::string XMLTools::toStdString(const XMLCh* const toTranscode)
{
std::string str;
- XERCES_CPP_NAMESPACE_USE;
initialize();
//char outBuff[128];
@@ -75,7 +80,6 @@ std::basic_string<XMLCh> XMLTools::toXMLString(const char* const fromTranscode)
if (!fromTranscode)
return str;
- XERCES_CPP_NAMESPACE_USE;
initialize();
static XMLCh outBuff[128];
diff --git a/src/Base/XMLTools.h b/src/Base/XMLTools.h
index d0dc66c..1a0e083 100644
--- a/src/Base/XMLTools.h
+++ b/src/Base/XMLTools.h
@@ -31,12 +31,22 @@
#include <Base/Exception.h>
-
+#ifndef XERCES_CPP_NAMESPACE_BEGIN
+#define XERCES_CPP_NAMESPACE_QUALIFIER
+using namespace XERCES_CPP_NAMESPACE;
+namespace XERCES_CPP_NAMESPACE
+{
+class DOMNode;
+class DOMElement;
+class DOMDocument;
+} // namespace XERCES_CPP_NAMESPACE
+#else
XERCES_CPP_NAMESPACE_BEGIN
class DOMNode;
class DOMElement;
class DOMDocument;
XERCES_CPP_NAMESPACE_END
+#endif
// Helper class
class BaseExport XMLTools
diff --git a/src/Mod/Mesh/App/Core/IO/Reader3MF.cpp b/src/Mod/Mesh/App/Core/IO/Reader3MF.cpp
index 5dbe53d..a7e7742 100644
--- a/src/Mod/Mesh/App/Core/IO/Reader3MF.cpp
+++ b/src/Mod/Mesh/App/Core/IO/Reader3MF.cpp
@@ -41,7 +41,12 @@
using namespace MeshCore;
+#ifndef XERCES_CPP_NAMESPACE_BEGIN
+#define XERCES_CPP_NAMESPACE_QUALIFIER
+using namespace XERCES_CPP_NAMESPACE;
+#else
XERCES_CPP_NAMESPACE_USE
+#endif
Reader3MF::Reader3MF(std::istream &str)
{
diff --git a/src/Mod/Mesh/App/Core/IO/Reader3MF.h b/src/Mod/Mesh/App/Core/IO/Reader3MF.h
index 439e70d..7f54495 100644
--- a/src/Mod/Mesh/App/Core/IO/Reader3MF.h
+++ b/src/Mod/Mesh/App/Core/IO/Reader3MF.h
@@ -31,10 +31,20 @@
#include <Mod/Mesh/App/Core/MeshKernel.h>
#include <Mod/Mesh/MeshGlobal.h>
+#ifndef XERCES_CPP_NAMESPACE_BEGIN
+#define XERCES_CPP_NAMESPACE_QUALIFIER
+using namespace XERCES_CPP_NAMESPACE;
+namespace XERCES_CPP_NAMESPACE
+{
+class DOMDocument;
+class DOMNodeList;
+} // namespace XERCES_CPP_NAMESPACE
+#else
XERCES_CPP_NAMESPACE_BEGIN
class DOMDocument;
class DOMNodeList;
XERCES_CPP_NAMESPACE_END
+#endif
namespace MeshCore
{
diff --git a/tests/src/App/Metadata.cpp b/tests/src/App/Metadata.cpp
index fa045cc..b91e4ad 100644
--- a/tests/src/App/Metadata.cpp
+++ b/tests/src/App/Metadata.cpp
@@ -24,6 +24,7 @@
#include "gtest/gtest.h"
#include "App/Metadata.h"
+#include <xercesc/util/PlatformUtils.hpp>
// NOLINTBEGIN(readability-named-parameter)
@@ -192,11 +193,11 @@ class MetadataTest: public ::testing::Test
protected:
void SetUp() override
{
- xercesc_3_2::XMLPlatformUtils::Initialize();
+ XERCES_CPP_NAMESPACE::XMLPlatformUtils::Initialize();
}
void TearDown() override
{
- xercesc_3_2::XMLPlatformUtils::Terminate();
+ XERCES_CPP_NAMESPACE::XMLPlatformUtils::Terminate();
}
std::string GivenSimpleMetadataXMLString()
{
diff --git a/tests/src/Base/Reader.cpp b/tests/src/Base/Reader.cpp
index 64fbc92..2329a05 100644
--- a/tests/src/Base/Reader.cpp
+++ b/tests/src/Base/Reader.cpp
@@ -8,6 +8,7 @@
#include <filesystem>
#include <fmt/format.h>
#include <fstream>
+#include <xercesc/util/PlatformUtils.hpp>
namespace fs = std::filesystem;
@@ -16,7 +17,7 @@ class ReaderTest: public ::testing::Test
protected:
void SetUp() override
{
- xercesc_3_2::XMLPlatformUtils::Initialize();
+ XERCES_CPP_NAMESPACE::XMLPlatformUtils::Initialize();
_tempDir = fs::temp_directory_path();
std::string filename = "unit_test_Reader.xml";
_tempFile = _tempDir / filename;

View File

@ -0,0 +1,51 @@
From 2e3659c4bce3e6885269e0cb3d640261b2a91108 Mon Sep 17 00:00:00 2001
From: huguesdpdn <huguesdpdn.aerospace@gmail.com>
Date: Mon, 4 Nov 2024 16:00:12 +0100
Subject: [PATCH] Fix compilation under gcc7.5 (#81)
* Correct typo in individual license file name
* Fix compilation under GCC 7.5 for Ubuntu
---
OndselSolver/ASMTAssembly.cpp | 5 +++++
OndselSolverMain/OndselSolver.cpp | 1 -
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/OndselSolver/ASMTAssembly.cpp b/OndselSolver/ASMTAssembly.cpp
index 9daf755..0f3dd1d 100644
--- a/OndselSolver/ASMTAssembly.cpp
+++ b/OndselSolver/ASMTAssembly.cpp
@@ -62,7 +62,9 @@
#include "ASMTRotationLimit.h"
#include "ASMTTranslationLimit.h"
#include "ExternalSystem.h"
+#if __GNUC__ >= 8
#include <filesystem>
+#endif
using namespace MbD;
@@ -359,8 +361,11 @@ void MbD::ASMTAssembly::runSinglePendulum()
std::shared_ptr<ASMTAssembly> MbD::ASMTAssembly::assemblyFromFile(const std::string& fileName)
{
+ // https://stackoverflow.com/a/45867491
+ #if __GNUC__ >= 8
std::filesystem::path currentPath = std::filesystem::current_path();
std::cout << "Current directory: " << currentPath << std::endl;
+ #endif
std::ifstream stream(fileName);
if (stream.fail()) {
diff --git a/OndselSolverMain/OndselSolver.cpp b/OndselSolverMain/OndselSolver.cpp
index d4b82d9..97ab5b9 100644
--- a/OndselSolverMain/OndselSolver.cpp
+++ b/OndselSolverMain/OndselSolver.cpp
@@ -12,7 +12,6 @@
* @brief Program to assemble a piston crank system.
*********************************************************************/
-#include <filesystem>
#include "../OndselSolver/CADSystem.h"
#include "../OndselSolver/CREATE.h"
#include "../OndselSolver/GESpMatParPvPrecise.h"