1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-18 00:54:19 +00:00

VST3: Improve MinGW compatibility

This commit is contained in:
reuk 2023-05-03 11:41:32 +01:00
parent 094698b735
commit 86011abe21
No known key found for this signature in database
GPG key ID: FCB43929F012EE5C
4 changed files with 54 additions and 11 deletions

View file

@ -22,7 +22,13 @@ inclusion in JUCE.
force UTF-8 mode on Windows.
- std:: qualification was added to std::move call in module.cpp to silence
a -Wunqualified-std-cast-call warning
a -Wunqualified-std-cast-call warning.
- The main.cpp of moduleinfotool was updated to include information exported
by the plugin's IPluginCompatibility object, if present.
by the plugin's IPluginCompatibility object, if present.
- Preprocessor definitions that expanded to include the keyword 'defined' were
removed in fplatform.h to silence -Wexpansion-to-defined warnings.
- Pragma warning was guarded in falignpush.h to silence -Wunknown-pragma
warnings.

View file

@ -9,7 +9,7 @@
//-----------------------------------------------------------------------------
// This file is part of a Steinberg SDK. It is subject to the license terms
// in the LICENSE file found in the top-level directory of this distribution
// and at www.steinberg.net/sdklicenses.
// and at www.steinberg.net/sdklicenses.
// No part of the SDK, including this file, may be copied, modified, propagated,
// or distributed except according to the terms contained in the LICENSE file.
//-----------------------------------------------------------------------------
@ -27,7 +27,10 @@
#pragma -a8
#elif SMTG_OS_WINDOWS
//! @brief warning C4996: alignment changed after including header, may be due to missing #pragma pack(pop)
#pragma warning(disable : 4103)
#if defined (_MSC_VER)
#pragma warning(disable : 4103)
#endif
#pragma pack(push)
#if SMTG_PLATFORM_64
#pragma pack(16)

View file

@ -104,13 +104,44 @@
#endif
#ifdef __cplusplus
#define SMTG_CPP11 __cplusplus >= 201103L || _MSC_VER > 1600 || SMTG_INTEL_CXX11_MODE
#if __cplusplus >= 201103L || _MSC_VER > 1600 || SMTG_INTEL_CXX11_MODE
#define SMTG_CPP11 1
#else
#define SMTG_CPP11 0
#endif
#define SMTG_CPP11_STDLIBSUPPORT SMTG_CPP11
#define SMTG_CPP14 (__cplusplus >= 201402L || (defined (_MSVC_LANG) && _MSVC_LANG >= 201402L))
#define SMTG_CPP17 (__cplusplus >= 201703L || (defined (_MSVC_LANG) && _MSVC_LANG >= 201703L))
#define SMTG_HAS_NOEXCEPT (_MSC_FULL_VER >= 190023026 || (SMTG_INTEL_CXX11_MODE && SMTG_INTEL_COMPILER >= 1300))
#define SMTG_HAS_CPP11_CONSTEXPR (_MSC_FULL_VER >= 190024210L || (SMTG_INTEL_CXX11_MODE && SMTG_INTEL_COMPILER >= 1500) || (defined(__MINGW32__) && SMTG_CPP11))
#define SMTG_HAS_CPP14_CONSTEXPR (((_MSC_VER >= 1915L) && (_MSVC_LANG >= 201402L)) || (SMTG_INTEL_CXX11_MODE && SMTG_INTEL_COMPILER > 1700) || (defined(__MINGW32__) && SMTG_CPP14))
#if (__cplusplus >= 201402L || (defined (_MSVC_LANG) && _MSVC_LANG >= 201402L))
#define SMTG_CPP14 1
#else
#define SMTG_CPP14 0
#endif
#if (__cplusplus >= 201703L || (defined (_MSVC_LANG) && _MSVC_LANG >= 201703L))
#define SMTG_CPP17 1
#else
#define SMTG_CPP17 0
#endif
#if (_MSC_FULL_VER >= 190023026 || (SMTG_INTEL_CXX11_MODE && SMTG_INTEL_COMPILER >= 1300))
#define SMTG_HAS_NOEXCEPT 1
#else
#define SMTG_HAS_NOEXCEPT 0
#endif
#if (_MSC_FULL_VER >= 190024210L || (SMTG_INTEL_CXX11_MODE && SMTG_INTEL_COMPILER >= 1500) || (defined(__MINGW32__) && SMTG_CPP11))
#define SMTG_HAS_CPP11_CONSTEXPR 1
#else
#define SMTG_HAS_CPP11_CONSTEXPR 0
#endif
#if (((_MSC_VER >= 1915L) && (_MSVC_LANG >= 201402L)) || (SMTG_INTEL_CXX11_MODE && SMTG_INTEL_COMPILER > 1700) || (defined(__MINGW32__) && SMTG_CPP14))
#define SMTG_HAS_CPP14_CONSTEXPR 1
#else
#define SMTG_HAS_CPP14_CONSTEXPR 0
#endif
#endif
#define SMTG_DEPRECATED_ATTRIBUTE(message) __declspec (deprecated ("Is Deprecated: " message))

View file

@ -121,7 +121,10 @@ JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-W#warnings",
// needed for VST_VERSION
#include <pluginterfaces/vst/vsttypes.h>
#define NOMINMAX // Some of the steinberg sources don't set this before including windows.h
#ifndef NOMINMAX
#define NOMINMAX // Some of the steinberg sources don't set this before including windows.h
#endif
#include <base/source/baseiids.cpp>
#include <base/source/fbuffer.cpp>
#include <base/source/fdebug.cpp>