-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Fix issue #2600 #2628
Fix issue #2600 #2628
Conversation
Builders no longer have to use qmake "CONFIG += c++11" to build, like they've been forced to since e99b0c9.
I'm not sure why you're focusing on You say:
But surely, I'm confused. |
Also, I believe this PR seems to assume that Qt doesn't automatically pass -std=c++XX in CXXFLAGS. I believe I tested that it does in PR #2608, and from my reading of (I'm not in a position to do build tests at the moment...) |
PR #2608 does compile on Sid, and I'm happy for that.
That's correct. I can't find anywhere in the generated makefiles or in the output when actually running My concern is with the bottom of this page: https://gcc.gnu.org/projects/cxx-status.html If we're using GCC 6.0 or below, it defaults to My concerns go away if Qt does automatically pass -std=c++XX in CXXFLAGS, or if it turns out QT 5.7 and above can't be built on GCC 6.0 or below. Side note: Sid no longer requires |
Yes, the idea of the change in the first place was to ensure that we explicitly pass a -std=c++XX option to the compiler. And for Mumble 1.3.x, we want that to be -std=c++98, unless we're on Qt 5.7 or above -- or a dependency, like ZeroC Ice, requires C++11. For Mumble 1.4.x, we'd drop C++98 support and go C++11 or later. |
What Qt were you building against, BTW? It's possible that Qt will only pass -std=c++XX on 5.7, but not on any release below that. |
WDYT about #2630? |
Withdrawing in favor of #2630 |
This PR adds a cplusplus.pri file (which gets included by compiler.pri). Its purpose is to handle selection of C++ standards at build time via qmake's CONFIG variable. Builders can now specify, say, qmake -recursive -Wall main.pro CONFIG+="release c++11" to select C++ mode. Besides the ability to explicitly select a C++ standard, cplusplus.pri will auto-detect an appropriate C++ standard for the current system. Supercedes PRs #2608 and #2628
Alternative to pull #2608
Builders no longer have to use qmake "CONFIG += c++11" to build,
like they've been forced to since e99b0c9.
The
lessThan(QT_MAJOR_VERSION, 5)
was removed because qmake was not settingQMAKE_CXXFLAGS
. It still worked, because modern compilers default to c++11, but this makes it explicit.Without removing
lessThan(QT_MAJOR_VERSION, 5)
mumble will not build with a modern version of QT on a compiler that defaults to c++98.