summaryrefslogtreecommitdiff
path: root/methods.py
diff options
context:
space:
mode:
Diffstat (limited to 'methods.py')
-rw-r--r--methods.py13
1 files changed, 8 insertions, 5 deletions
diff --git a/methods.py b/methods.py
index 0e71adb40d..428405fb04 100644
--- a/methods.py
+++ b/methods.py
@@ -14,7 +14,7 @@ from SCons.Variables.BoolVariable import _text2bool
from platform_methods import run_in_subprocess
-def add_source_files(self, sources, files, warn_duplicates=True):
+def add_source_files(self, sources, files):
# Convert string to list of absolute paths (including expanding wildcard)
if isinstance(files, (str, bytes)):
# Keep SCons project-absolute path as they are (no wildcard support)
@@ -24,17 +24,20 @@ def add_source_files(self, sources, files, warn_duplicates=True):
return
files = [files]
else:
+ # Exclude .gen.cpp files from globbing, to avoid including obsolete ones.
+ # They should instead be added manually.
+ skip_gen_cpp = "*" in files
dir_path = self.Dir(".").abspath
files = sorted(glob.glob(dir_path + "/" + files))
+ if skip_gen_cpp:
+ files = [f for f in files if not f.endswith(".gen.cpp")]
# Add each path as compiled Object following environment (self) configuration
for path in files:
obj = self.Object(path)
if obj in sources:
- if warn_duplicates:
- print('WARNING: Object "{}" already included in environment sources.'.format(obj))
- else:
- continue
+ print('WARNING: Object "{}" already included in environment sources.'.format(obj))
+ continue
sources.append(obj)