Skip to content

Commit 888f46b

Browse files
Repiteodsnopek
authored andcommitted
SCons: Add CPPEXTPATH for external includes
(cherry picked from commit 30bfa6f)
1 parent de7e5b9 commit 888f46b

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

tools/godotcpp.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import platform
33
import sys
44

5+
from SCons import __version__ as scons_raw_version
56
from SCons.Action import Action
67
from SCons.Builder import Builder
78
from SCons.Errors import UserError
@@ -424,6 +425,8 @@ def make_doc_source(target, source, env):
424425

425426

426427
def generate(env):
428+
env.scons_version = env._get_major_minor_revision(scons_raw_version)
429+
427430
# Default num_jobs to local cpu count if not user specified.
428431
# SCons has a peculiarity where user-specified options won't be overridden
429432
# by SetOption, so we can rely on this to know if we should use our default.
@@ -481,6 +484,17 @@ def generate(env):
481484
else: # Release
482485
opt_level = "speed"
483486

487+
# Allow marking includes as external/system to avoid raising warnings.
488+
if env.scons_version < (4, 2):
489+
env["_CPPEXTINCFLAGS"] = "${_concat(EXTINCPREFIX, CPPEXTPATH, EXTINCSUFFIX, __env__, RDirs, TARGET, SOURCE)}"
490+
else:
491+
env["_CPPEXTINCFLAGS"] = (
492+
"${_concat(EXTINCPREFIX, CPPEXTPATH, EXTINCSUFFIX, __env__, RDirs, TARGET, SOURCE, affect_signature=False)}"
493+
)
494+
env["CPPEXTPATH"] = []
495+
env["EXTINCPREFIX"] = "-isystem "
496+
env["EXTINCSUFFIX"] = ""
497+
484498
env["optimize"] = ARGUMENTS.get("optimize", opt_level)
485499
env["debug_symbols"] = get_cmdline_bool("debug_symbols", env.dev_build)
486500

tools/windows.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,11 @@ def generate(env):
125125
if env["silence_msvc"] and not env.GetOption("clean"):
126126
silence_msvc(env)
127127

128+
if not env["use_llvm"]:
129+
env.AppendUnique(CCFLAGS=["/experimental:external", "/external:anglebrackets"])
130+
env.AppendUnique(CCFLAGS=["/external:W0"])
131+
env["EXTINCPREFIX"] = "/external:I"
132+
128133
elif (sys.platform == "win32" or sys.platform == "msys") and not env["mingw_prefix"]:
129134
env["use_mingw"] = True
130135
mingw.generate(env)

0 commit comments

Comments
 (0)