From 4faed586fbe208236d27085d1ade9eaf9b3f3d85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sat, 10 Oct 2015 12:02:11 +0200 Subject: [PATCH] SceneGraph: disable warnings about use of deprecated APIs on MSVC. Both GCC and Clang don't warn if deprecated function is used from inside another deprecated function (as one would expect). However, MSVC is doing that and producing a lot of noise. Even worse, when trying to compile the code under new WindowsStore/WindowsPhone SDKs, the project files now by default treat these warnings as errors, making the code uncompilable (unless deprecated API is turned off by disabling BUILD_DEPRECATED in CMake). --- .../SceneGraph/AbstractTranslationRotation2D.h | 3 +++ .../SceneGraph/AbstractTranslationRotation3D.h | 3 +++ .../AbstractTranslationRotationScaling2D.h | 6 ++++++ .../AbstractTranslationRotationScaling3D.h | 18 ++++++++++++++++++ .../SceneGraph/DualQuaternionTransformation.h | 9 +++++++++ 5 files changed, 39 insertions(+) diff --git a/src/Magnum/SceneGraph/AbstractTranslationRotation2D.h b/src/Magnum/SceneGraph/AbstractTranslationRotation2D.h index 44e60f156..4111d0cc8 100644 --- a/src/Magnum/SceneGraph/AbstractTranslationRotation2D.h +++ b/src/Magnum/SceneGraph/AbstractTranslationRotation2D.h @@ -95,6 +95,9 @@ template class AbstractBasicTranslationRotation2D: public AbstractBasic } #ifdef MAGNUM_BUILD_DEPRECATED CORRADE_DEPRECATED("use translate() or translateLocal() instead") AbstractBasicTranslationRotation2D& translate(const Math::Vector2& vector, TransformationType type) { + #ifdef _MSC_VER + #pragma warning(suppress: 4996) + #endif AbstractBasicTranslation2D::translate(vector, type); return *this; } diff --git a/src/Magnum/SceneGraph/AbstractTranslationRotation3D.h b/src/Magnum/SceneGraph/AbstractTranslationRotation3D.h index e37689eb4..395861ac4 100644 --- a/src/Magnum/SceneGraph/AbstractTranslationRotation3D.h +++ b/src/Magnum/SceneGraph/AbstractTranslationRotation3D.h @@ -213,6 +213,9 @@ template class AbstractBasicTranslationRotation3D: public AbstractBasic } #ifdef MAGNUM_BUILD_DEPRECATED CORRADE_DEPRECATED("use translate() or translateLocal() instead") AbstractBasicTranslationRotation3D& translate(const Math::Vector3& vector, TransformationType type) { + #ifdef _MSC_VER + #pragma warning(suppress: 4996) + #endif AbstractBasicTranslation3D::translate(vector, type); return *this; } diff --git a/src/Magnum/SceneGraph/AbstractTranslationRotationScaling2D.h b/src/Magnum/SceneGraph/AbstractTranslationRotationScaling2D.h index f9d81a97f..fc2341825 100644 --- a/src/Magnum/SceneGraph/AbstractTranslationRotationScaling2D.h +++ b/src/Magnum/SceneGraph/AbstractTranslationRotationScaling2D.h @@ -95,6 +95,9 @@ template class AbstractBasicTranslationRotationScaling2D: public Abstra } #ifdef MAGNUM_BUILD_DEPRECATED CORRADE_DEPRECATED("use translate() or translateLocal() instead") AbstractBasicTranslationRotationScaling2D& translate(const Math::Vector2& vector, TransformationType type) { + #ifdef _MSC_VER + #pragma warning(suppress: 4996) + #endif AbstractBasicTranslationRotation2D::translate(vector, type); return *this; } @@ -109,6 +112,9 @@ template class AbstractBasicTranslationRotationScaling2D: public Abstra } #ifdef MAGNUM_BUILD_DEPRECATED CORRADE_DEPRECATED("use rotate() or rotateLocal() instead") AbstractBasicTranslationRotationScaling2D& rotate(Math::Rad angle, TransformationType type) { + #ifdef _MSC_VER + #pragma warning(suppress: 4996) + #endif AbstractBasicTranslationRotation2D::rotate(angle, type); return *this; } diff --git a/src/Magnum/SceneGraph/AbstractTranslationRotationScaling3D.h b/src/Magnum/SceneGraph/AbstractTranslationRotationScaling3D.h index 6f84973db..885013e98 100644 --- a/src/Magnum/SceneGraph/AbstractTranslationRotationScaling3D.h +++ b/src/Magnum/SceneGraph/AbstractTranslationRotationScaling3D.h @@ -75,6 +75,9 @@ template class AbstractBasicTranslationRotationScaling3D: public Abstra * @deprecated Use @ref scale() or @ref scaleLocal() instead. */ CORRADE_DEPRECATED("use scale() or scaleLocal() instead") AbstractBasicTranslationRotationScaling3D& scale(const Math::Vector3& vector, TransformationType type) { + #ifdef _MSC_VER + #pragma warning(suppress: 4996) + #endif return type == TransformationType::Global ? scale(vector) : scaleLocal(vector); } #endif @@ -95,6 +98,9 @@ template class AbstractBasicTranslationRotationScaling3D: public Abstra } #ifdef MAGNUM_BUILD_DEPRECATED CORRADE_DEPRECATED("use translate() or translateLocal() instead") AbstractBasicTranslationRotationScaling3D& translate(const Math::Vector3& vector, TransformationType type) { + #ifdef _MSC_VER + #pragma warning(suppress: 4996) + #endif AbstractBasicTranslationRotation3D::translate(vector, type); return *this; } @@ -109,6 +115,9 @@ template class AbstractBasicTranslationRotationScaling3D: public Abstra } #ifdef MAGNUM_BUILD_DEPRECATED CORRADE_DEPRECATED("use rotate() or rotateLocal() instead") AbstractBasicTranslationRotationScaling3D& rotate(Math::Rad angle, const Math::Vector3& normalizedAxis, TransformationType type) { + #ifdef _MSC_VER + #pragma warning(suppress: 4996) + #endif AbstractBasicTranslationRotation3D::rotate(angle, normalizedAxis, type); return *this; } @@ -123,6 +132,9 @@ template class AbstractBasicTranslationRotationScaling3D: public Abstra } #ifdef MAGNUM_BUILD_DEPRECATED CORRADE_DEPRECATED("use rotateX() or rotateXLocal() instead") AbstractBasicTranslationRotationScaling3D& rotateX(Math::Rad angle, TransformationType type) { + #ifdef _MSC_VER + #pragma warning(suppress: 4996) + #endif AbstractBasicTranslationRotation3D::rotateX(angle, type); return *this; } @@ -137,6 +149,9 @@ template class AbstractBasicTranslationRotationScaling3D: public Abstra } #ifdef MAGNUM_BUILD_DEPRECATED CORRADE_DEPRECATED("use rotateY() or rotateYLocal() instead") AbstractBasicTranslationRotationScaling3D& rotateY(Math::Rad angle, TransformationType type) { + #ifdef _MSC_VER + #pragma warning(suppress: 4996) + #endif AbstractBasicTranslationRotation3D::rotateY(angle, type); return *this; } @@ -151,6 +166,9 @@ template class AbstractBasicTranslationRotationScaling3D: public Abstra } #ifdef MAGNUM_BUILD_DEPRECATED CORRADE_DEPRECATED("use rotateZ() or rotateZLocal() instead") AbstractBasicTranslationRotationScaling3D& rotateZ(Math::Rad angle, TransformationType type) { + #ifdef _MSC_VER + #pragma warning(suppress: 4996) + #endif AbstractBasicTranslationRotation3D::rotateZ(angle, type); return *this; } diff --git a/src/Magnum/SceneGraph/DualQuaternionTransformation.h b/src/Magnum/SceneGraph/DualQuaternionTransformation.h index e4d811be6..44f2c2397 100644 --- a/src/Magnum/SceneGraph/DualQuaternionTransformation.h +++ b/src/Magnum/SceneGraph/DualQuaternionTransformation.h @@ -196,6 +196,9 @@ template class BasicDualQuaternionTransformation: public AbstractBasicT } #ifdef MAGNUM_BUILD_DEPRECATED CORRADE_DEPRECATED("use rotateX() or rotateXLocal() instead") Object>& rotateX(Math::Rad angle, TransformationType type) { + #ifdef _MSC_VER + #pragma warning(suppress: 4996) + #endif return rotate(angle, Math::Vector3::xAxis(), type); } #endif @@ -207,6 +210,9 @@ template class BasicDualQuaternionTransformation: public AbstractBasicT } #ifdef MAGNUM_BUILD_DEPRECATED CORRADE_DEPRECATED("use rotateY() or rotateYLocal() instead") Object>& rotateY(Math::Rad angle, TransformationType type) { + #ifdef _MSC_VER + #pragma warning(suppress: 4996) + #endif return rotate(angle, Math::Vector3::yAxis(), type); } #endif @@ -218,6 +224,9 @@ template class BasicDualQuaternionTransformation: public AbstractBasicT } #ifdef MAGNUM_BUILD_DEPRECATED CORRADE_DEPRECATED("use rotateZ() or rotateZLocal() instead") Object>& rotateZ(Math::Rad angle, TransformationType type) { + #ifdef _MSC_VER + #pragma warning(suppress: 4996) + #endif return rotate(angle, Math::Vector3::zAxis(), type); } #endif