summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <rverschelde@gmail.com>2018-10-01 12:45:50 +0200
committerGitHub <noreply@github.com>2018-10-01 12:45:50 +0200
commitc2abf1a4e93d2870ddecb2e7e7c80ba3f8be3397 (patch)
tree1c2c5e8253a7ed84cee097a1390bd0d8e53bbe75 /modules
parentc51caa3dbdf4acaa7e063c46ae8026adb0633008 (diff)
parent6bfb7944d9a1639042ba23fd0ff9950fff9464dd (diff)
Merge pull request #22582 from akien-mga/scons-clean-cpppath
SCons: Remove avoidable defines from main env's CPPPATH
Diffstat (limited to 'modules')
-rw-r--r--modules/freetype/SCsub51
-rw-r--r--modules/svg/SCsub10
2 files changed, 35 insertions, 26 deletions
diff --git a/modules/freetype/SCsub b/modules/freetype/SCsub
index d2f0ad042a..7ca40c1b8b 100644
--- a/modules/freetype/SCsub
+++ b/modules/freetype/SCsub
@@ -1,9 +1,11 @@
#!/usr/bin/env python
Import('env')
+Import('env_modules')
+
from compat import isbasestring
-# Not building in a separate env as scene needs it
+env_freetype = env_modules.Clone()
# Thirdparty source files
if env['builtin_freetype']:
@@ -54,28 +56,33 @@ if env['builtin_freetype']:
]
thirdparty_sources = [thirdparty_dir + file for file in thirdparty_sources]
- sfnt = thirdparty_dir + 'src/sfnt/sfnt.c'
-
- if 'platform' in env:
- if env['platform'] == 'uwp':
- # Include header for UWP to fix build issues
- env.Append(CCFLAGS=['/FI', '"modules/freetype/uwpdef.h"'])
- elif env['platform'] == 'javascript':
- # Forcibly undefine this macro so SIMD is not used in this file,
- # since currently unsupported in WASM
- sfnt = env.Object(sfnt, CPPFLAGS=['-U__OPTIMIZE__'])
+ if env['platform'] == 'uwp':
+ # Include header for UWP to fix build issues
+ env_freetype.Append(CCFLAGS=['/FI', '"modules/freetype/uwpdef.h"'])
+ sfnt = thirdparty_dir + 'src/sfnt/sfnt.c'
+ if env['platform'] == 'javascript':
+ # Forcibly undefine this macro so SIMD is not used in this file,
+ # since currently unsupported in WASM
+ sfnt = env_freetype.Object(sfnt, CPPFLAGS=['-U__OPTIMIZE__'])
thirdparty_sources += [sfnt]
- env.Append(CPPPATH=[thirdparty_dir, thirdparty_dir + "/include"])
+ env_freetype.Append(CPPPATH=[thirdparty_dir + "/include"])
+ # Also needed in main env for scene/
+ env.Append(CPPPATH=[thirdparty_dir + "/include"])
- # also requires libpng headers
+ env_freetype.Append(CCFLAGS=['-DFT2_BUILD_LIBRARY', '-DFT_CONFIG_OPTION_USE_PNG'])
+ if (env['target'] != 'release'):
+ env_freetype.Append(CCFLAGS=['-DZLIB_DEBUG'])
+
+ # Also requires libpng headers
if env['builtin_libpng']:
- env.Append(CPPPATH=["#thirdparty/libpng"])
+ env_freetype.Append(CPPPATH=["#thirdparty/libpng"])
+
+ env_thirdparty = env_freetype.Clone()
+ env_thirdparty.disable_warnings()
+ lib = env_thirdparty.add_library("freetype_builtin", thirdparty_sources)
- # FIXME: Find a way to build this in a separate env nevertheless
- # so that we can disable warnings on thirdparty code
- lib = env.add_library("freetype_builtin", thirdparty_sources)
# Needs to be appended to arrive after libscene in the linker call,
# but we don't want it to arrive *after* system libs, so manual hack
# LIBS contains first SCons Library objects ("SCons.Node.FS.File object")
@@ -88,12 +95,8 @@ if env['builtin_freetype']:
break
if not inserted:
env.Append(LIBS=[lib])
- env.Append(CCFLAGS=['-DFT2_BUILD_LIBRARY'])
- if (env['target'] != 'release'):
- env.Append(CCFLAGS=['-DZLIB_DEBUG'])
# Godot source files
-env.add_source_files(env.modules_sources, "*.cpp")
-env.Append(CCFLAGS=['-DFREETYPE_ENABLED', '-DFT_CONFIG_OPTION_USE_PNG'])
-
-Export('env')
+env_freetype.add_source_files(env.modules_sources, "*.cpp")
+# Used in scene/, needs to be in main env
+env.Append(CCFLAGS=['-DFREETYPE_ENABLED'])
diff --git a/modules/svg/SCsub b/modules/svg/SCsub
index d14191056f..22f0b1e3eb 100644
--- a/modules/svg/SCsub
+++ b/modules/svg/SCsub
@@ -1,6 +1,9 @@
#!/usr/bin/env python
Import('env')
+Import('env_modules')
+
+env_svg = env_modules.Clone()
# Thirdparty source files
thirdparty_dir = "#thirdparty/nanosvg/"
@@ -9,12 +12,15 @@ thirdparty_sources = [
]
thirdparty_sources = [thirdparty_dir + file for file in thirdparty_sources]
+env_svg.Append(CPPPATH=[thirdparty_dir])
+# FIXME: Needed in editor/editor_themes.cpp for now, but ideally there
+# shouldn't be a dependency on modules/ and its own 3rd party deps.
env.Append(CPPPATH=[thirdparty_dir])
env.Append(CCFLAGS=["-DSVG_ENABLED"])
-env_thirdparty = env.Clone()
+env_thirdparty = env_svg.Clone()
env_thirdparty.disable_warnings()
env_thirdparty.add_source_files(env.modules_sources, thirdparty_sources)
# Godot's own source files
-env.add_source_files(env.modules_sources, "*.cpp")
+env_svg.add_source_files(env.modules_sources, "*.cpp")