diff --git a/cMake/FreeCAD_Helpers/CompilerChecksAndSetups.cmake b/cMake/FreeCAD_Helpers/CompilerChecksAndSetups.cmake
index dd25403ace66..55370ed8837a 100644
--- a/cMake/FreeCAD_Helpers/CompilerChecksAndSetups.cmake
+++ b/cMake/FreeCAD_Helpers/CompilerChecksAndSetups.cmake
@@ -95,6 +95,7 @@ macro(CompilerChecksAndSetups)
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8.0)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-undefined-var-template")
endif()
+ add_definitions(-DGL_SILENCE_DEPRECATION)
elseif (UNIX)
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.9)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-undefined-var-template")
diff --git a/src/App/FeaturePythonPyImp.h b/src/App/FeaturePythonPyImp.h
index 04123c020d70..5d0717ccce40 100644
--- a/src/App/FeaturePythonPyImp.h
+++ b/src/App/FeaturePythonPyImp.h
@@ -27,6 +27,11 @@
#include
#include
+#if defined(__clang__)
+# pragma clang diagnostic push
+# pragma clang diagnostic ignored "-Wmissing-field-initializers"
+#endif
+
#define PYTHON_TYPE_DEF(_class_, _subclass_) \
class _class_ : public _subclass_ \
{ \
@@ -137,4 +142,8 @@ class FeaturePythonPyT : public FeaturePyT
#include "FeaturePythonPyImp.inl"
+#if defined(__clang__)
+# pragma clang diagnostic pop
+#endif
+
#endif // APP_FEATUREPYTHONPYIMP_H
diff --git a/src/Base/PyObjectBase.cpp b/src/Base/PyObjectBase.cpp
index 634b4e0d5af5..02952e14dab6 100644
--- a/src/Base/PyObjectBase.cpp
+++ b/src/Base/PyObjectBase.cpp
@@ -75,6 +75,11 @@ PyObjectBase::~PyObjectBase()
* 0 and define tp_base as 0.
*/
+#if defined(__clang__)
+# pragma clang diagnostic push
+# pragma clang diagnostic ignored "-Wdeprecated-declarations"
+#endif
+
PyTypeObject PyObjectBase::Type = {
PyVarObject_HEAD_INIT(&PyType_Type,0)
"PyObjectBase", /*tp_name*/
@@ -142,6 +147,10 @@ PyTypeObject PyObjectBase::Type = {
#endif
};
+#if defined(__clang__)
+# pragma clang diagnostic pop
+#endif
+
/*------------------------------
* PyObjectBase Methods -- Every class, even the abstract one should have a Methods
------------------------------*/
diff --git a/src/Base/swigpyrun.cpp b/src/Base/swigpyrun.cpp
index 63245ac7dfd6..6f65e1a4cc38 100644
--- a/src/Base/swigpyrun.cpp
+++ b/src/Base/swigpyrun.cpp
@@ -29,6 +29,7 @@
#if defined(__clang__)
# pragma clang diagnostic push
# pragma clang diagnostic ignored "-Wdeprecated-register"
+# pragma clang diagnostic ignored "-Wdeprecated-declarations"
#elif defined (__GNUC__)
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wmissing-field-initializers"