Merge pull request #36457 from akien-mga/c++-standard-gnu++17
SCons: Bump required C++ standard to C++17
This commit is contained in:
commit
9a55f1564c
19
.travis.yml
19
.travis.yml
|
@ -1,7 +1,7 @@
|
|||
language: cpp
|
||||
|
||||
# OS config, depends on actual 'os' in build matrix
|
||||
dist: xenial
|
||||
dist: bionic
|
||||
|
||||
stages:
|
||||
- build
|
||||
|
@ -26,8 +26,6 @@ matrix:
|
|||
compiler: gcc
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- llvm-toolchain-xenial-8
|
||||
packages:
|
||||
- clang-format-8
|
||||
|
||||
|
@ -39,14 +37,15 @@ matrix:
|
|||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- mono
|
||||
- ubuntu-toolchain-r-test
|
||||
- sourceline: "deb https://download.mono-project.com/repo/ubuntu stable-bionic main"
|
||||
key_url: "https://raw.githubusercontent.com/travis-ci/apt-source-safelist/master/keys/mono.asc"
|
||||
- sourceline: "ppa:ubuntu-toolchain-r/test"
|
||||
packages:
|
||||
- &gcc9_deps [gcc-9, g++-9]
|
||||
- &linux_deps [libasound2-dev, libgl1-mesa-dev, libglu1-mesa-dev, libx11-dev, libxcursor-dev, libxi-dev, libxinerama-dev, libxrandr-dev]
|
||||
- &linux_mono_deps [mono-devel, msbuild, nuget]
|
||||
|
||||
- name: Linux export template (release, Clang)
|
||||
- name: Linux export template (release, Clang 7)
|
||||
stage: build
|
||||
env: PLATFORM=x11 TOOLS=no TARGET=release CACHE_NAME=${PLATFORM}-clang EXTRA_ARGS="warnings=extra werror=yes"
|
||||
os: linux
|
||||
|
@ -101,14 +100,14 @@ matrix:
|
|||
# addons:
|
||||
# apt:
|
||||
# sources:
|
||||
# - ubuntu-toolchain-r-test
|
||||
# - sourceline: "ppa:ubuntu-toolchain-r/test"
|
||||
# packages:
|
||||
# - *gcc9_deps
|
||||
# - *linux_deps
|
||||
|
||||
- name: Linux export template (release_debug, GCC 5, without 3D support)
|
||||
- name: Linux export template (release_debug, GCC 7, without 3D support)
|
||||
stage: build
|
||||
env: PLATFORM=x11 TOOLS=no TARGET=release_debug CACHE_NAME=${PLATFORM}-gcc-5 EXTRA_ARGS="CXXFLAGS=-fno-strict-aliasing disable_3d=yes"
|
||||
env: PLATFORM=x11 TOOLS=no TARGET=release_debug CACHE_NAME=${PLATFORM}-gcc-7 EXTRA_ARGS="disable_3d=yes"
|
||||
os: linux
|
||||
compiler: gcc
|
||||
addons:
|
||||
|
@ -124,7 +123,7 @@ before_install:
|
|||
|
||||
install:
|
||||
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then
|
||||
pyenv global 3.7.1 system;
|
||||
pyenv global 3.7.5 system;
|
||||
pip3 install --user scons;
|
||||
fi
|
||||
- scons --version
|
||||
|
|
10
SConstruct
10
SConstruct
|
@ -310,17 +310,17 @@ if selected_platform in platform_list:
|
|||
env.Append(LINKFLAGS=str(LINKFLAGS).split())
|
||||
|
||||
# Set our C and C++ standard requirements.
|
||||
# Prepending to make it possible to override
|
||||
# C++17 is required as we need guaranteed copy elision as per GH-36436.
|
||||
# Prepending to make it possible to override.
|
||||
if not env.msvc:
|
||||
# Specifying GNU extensions support explicitly, which are supported by
|
||||
# both GCC and Clang. This mirrors GCC and Clang's current default
|
||||
# compile flags if no -std is specified.
|
||||
# both GCC and Clang. Both currently default to gnu11 and gnu++14.
|
||||
env.Prepend(CFLAGS=['-std=gnu11'])
|
||||
env.Prepend(CXXFLAGS=['-std=gnu++14'])
|
||||
env.Prepend(CXXFLAGS=['-std=gnu++17'])
|
||||
else:
|
||||
# MSVC doesn't have clear C standard support, /std only covers C++.
|
||||
# We apply it to CCFLAGS (both C and C++ code) in case it impacts C features.
|
||||
env.Prepend(CCFLAGS=['/std:c++14', '/permissive-'])
|
||||
env.Prepend(CCFLAGS=['/std:c++17', '/permissive-'])
|
||||
|
||||
# Platform specific flags
|
||||
flag_list = platform_flags[selected_platform]
|
||||
|
|
|
@ -31,13 +31,13 @@
|
|||
<key>NSHumanReadableCopyright</key>
|
||||
<string>$copyright</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>10.9.0</string>
|
||||
<string>10.12.0</string>
|
||||
<key>LSMinimumSystemVersionByArchitecture</key>
|
||||
<dict>
|
||||
<key>x86_64</key>
|
||||
<string>10.9.0</string>
|
||||
<string>10.12.0</string>
|
||||
</dict>
|
||||
<key>NSHighResolutionCapable</key>
|
||||
$highres
|
||||
</dict>
|
||||
</plist>
|
||||
</plist>
|
||||
|
|
|
@ -33,11 +33,11 @@
|
|||
<key>NSHumanReadableCopyright</key>
|
||||
<string>© 2007-2020 Juan Linietsky, Ariel Manzur & Godot Engine contributors</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>10.9.0</string>
|
||||
<string>10.12.0</string>
|
||||
<key>LSMinimumSystemVersionByArchitecture</key>
|
||||
<dict>
|
||||
<key>x86_64</key>
|
||||
<string>10.9.0</string>
|
||||
<string>10.12.0</string>
|
||||
</dict>
|
||||
<key>NSHighResolutionCapable</key>
|
||||
<true/>
|
||||
|
|
|
@ -164,5 +164,5 @@ def configure(env):
|
|||
|
||||
#env.Append(CPPDEFINES=['GLES_ENABLED', 'OPENGL_ENABLED'])
|
||||
|
||||
env.Append(CCFLAGS=['-mmacosx-version-min=10.11'])
|
||||
env.Append(LINKFLAGS=['-mmacosx-version-min=10.11'])
|
||||
env.Append(CCFLAGS=['-mmacosx-version-min=10.12'])
|
||||
env.Append(LINKFLAGS=['-mmacosx-version-min=10.12'])
|
||||
|
|
|
@ -747,7 +747,7 @@ static void _mouseDownEvent(NSEvent *event, int index, int mask, bool pressed) {
|
|||
const Vector2 pos = get_mouse_pos([event locationInWindow], backingScaleFactor);
|
||||
mm->set_position(pos);
|
||||
mm->set_pressure([event pressure]);
|
||||
if ([event subtype] == NSTabletPointEventSubtype) {
|
||||
if ([event subtype] == NSEventSubtypeTabletPoint) {
|
||||
const NSPoint p = [event tilt];
|
||||
mm->set_tilt(Vector2(p.x, p.y));
|
||||
}
|
||||
|
@ -1757,7 +1757,7 @@ void OS_OSX::alert(const String &p_alert, const String &p_title) {
|
|||
[window addButtonWithTitle:@"OK"];
|
||||
[window setMessageText:ns_title];
|
||||
[window setInformativeText:ns_alert];
|
||||
[window setAlertStyle:NSWarningAlertStyle];
|
||||
[window setAlertStyle:NSAlertStyleWarning];
|
||||
|
||||
// Display it, then release
|
||||
[window runModal];
|
||||
|
|
Loading…
Reference in New Issue