-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support building FRUT with JUCE 7.0.3 #750
Conversation
7e9ad18
to
7f18cd0
Compare
fdf9605
to
f089e7b
Compare
From the documentation of CMAKE_CXX_STANDARD_REQUIRED: If this property is OFF or unset, the CXX_STANDARD target property is treated as optional and may “decay” to a previous standard if the requested is not available. This means that we keep supporting building FRUT with older versions of JUCE, that require C++11 or C++14.
In juce-framework/JUCE@2e81e8a0d, which was released in JUCE 5.1.0, the per-exporter and per-configuration settings related to the C++ language standard were replaced by a per-project setting (`JUCER_CXX_LANGUAGE_STANDARD`). This commit refactors `_FRUT_set_cxx_language_standard_properties` to match what happened in that JUCE commit and to handle these settings based on JUCER_VERSION instead of whether JUCER_CXX_LANGUAGE_STANDARD is defined.
This matches what was done in juce-framework/JUCE@b3a4d54a7, which was released in JUCE 7.0.3.
7.0.3 is the latest version of JUCE.
f089e7b
to
e3298a4
Compare
@MartyLake please review, thanks! |
target_compile_options(Jucer2CMake_JUCE PRIVATE -Wno-deprecated-declarations) | ||
target_compile_options(Jucer2CMake_JUCE PRIVATE | ||
-Wno-deprecated-declarations | ||
-Wno-register |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is -Wno-register with C++17 ? a new unnecessary warning generated by setting cxx17 ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When building older versions of JUCE with C++17 we get:
error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
from third-party libraries included in JUCE (jpglib and zlib). There's nothing much we can do but disable that warning.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
apart from minor question, LGTM
Resolves #749