1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00

Xcode: Add support for Xcode 15.1

- Subsequently drops support for Xcode 15.0 while allowing users who have already resolved Xcode 15.0 issues to continue building
This commit is contained in:
Anthony Nicholls 2023-12-14 09:15:29 +00:00
parent 780493c47b
commit 2a60153530

View file

@ -65,35 +65,11 @@
#if ! defined (JUCE_SILENCE_XCODE_15_LINKER_WARNING) \
&& defined (__apple_build_version__) \
&& __clang_major__ == 15 \
&& __clang_minor__ == 0
// This is a warning because builds may be usable when LTO is disabled
#pragma GCC warning "If you are using Link Time Optimisation (LTO), the " \
"new linker introduced in Xcode 15 may produce a broken binary.\n" \
"As a workaround, add either '-Wl,-weak_reference_mismatches,weak' or " \
"'-Wl,-ld_classic' to your linker flags.\n" \
"Once you've selected a workaround, you can add " \
"JUCE_SILENCE_XCODE_15_LINKER_WARNING to your preprocessor definitions " \
"to silence this warning."
&& __apple_build_version__ >= 15000000 \
&& __apple_build_version__ < 15000100
#if ((defined (MAC_OS_X_VERSION_MIN_REQUIRED) \
&& MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_VERSION_13_0) \
|| (defined (__IPHONE_OS_VERSION_MIN_REQUIRED) \
&& __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_15_0))
// This is an error because the linker _will_ produce a binary that is
// broken on older platforms
static_assert (std::string_view (__clang_version__)
!= std::string_view ("15.0.0 (clang-1500.0.40.1)"),
"The new linker introduced in Xcode 15.0 will produce "
"broken binaries when targeting older platforms.\n"
"To work around this issue, bump your deployment target to "
"macOS 13 or iOS 15, re-enable the old linker by adding "
"'-Wl,-ld_classic' to your link flags, or update to Xcode "
"15.1.\n"
"Once you've selected a workaround, you can add "
"JUCE_SILENCE_XCODE_15_LINKER_WARNING to your preprocessor "
"definitions to silence this warning.");
#endif
// Due to known issues, the linker in Xcode 15.0 may produce broken binaries.
#error Please upgrade to Xcode 15.1 or higher
#endif
#define JUCE_CXX14_IS_AVAILABLE (__cplusplus >= 201402L)