Skip to content

Refactor SCons build into more modular scripts#39

Open
Spartan322 wants to merge 1 commit into
masterfrom
overhaul/scripts
Open

Refactor SCons build into more modular scripts#39
Spartan322 wants to merge 1 commit into
masterfrom
overhaul/scripts

Conversation

@Spartan322

@Spartan322 Spartan322 commented Jun 30, 2026

Copy link
Copy Markdown
Member

Rework the SCons build system into a modular toolset
Simplify SConstruct to delegate options/generation to a new build/scripts.py

Add build_dir script import for internal VariantDir separation
Add gen_dir script import for delegating generated files (for Author, License, and Git builders)
Add AddLibraryIncludes method for simplified include configuration and exposure
Add AddLibrarySources method for simplified source configuration
Add BuildBaseLibrary method for specifying static library file name and target install location
Add BuildHeadlessProgram method for specifying headless program construction
Add BuildUnitTest method for specifying unit test program construction
Add BuildDependencyLibrary method for specifying dependency library construction

Change command strings to be less verbose by default with build/no_verbose.py
Add color utilities in build/color.py
Extract string utilities to build/string.py

Change GlobRecursive functions to use cwd over specifying directory in pattern
Change GetGitInfo to method
Add name_prefix attribute getter inside GetGitInfo method
Move functionality of build/common_compiler_flags to tools/scripts_flags.py
Update platform tools to use tools/script_flags.py
Remove obsolete platform tools
Add .gitignore entries for scons artifacts
Improve cache progress reporting
Add GCC/Clang PCH support via GCH/GCHSH builders
Remove custom MSVC build/pch.py
Add SCons configuration through project tools directory
Add platform override support via the project tools directory

@Spartan322 Spartan322 requested a review from a team as a code owner June 30, 2026 04:28
@Spartan322 Spartan322 added bug Something isn't working enhancement New feature or request labels Jun 30, 2026
@Spartan322 Spartan322 force-pushed the overhaul/scripts branch 27 times, most recently from e4fcdee to a3ac442 Compare July 2, 2026 22:13
@Spartan322 Spartan322 force-pushed the overhaul/scripts branch 2 times, most recently from b34d602 to 852d7fd Compare July 3, 2026 06:31
@Spartan322 Spartan322 changed the title Overhaul build system scripts tools Refactor SCons build into modular scripts Jul 3, 2026
@Spartan322 Spartan322 force-pushed the overhaul/scripts branch 2 times, most recently from f3ebd65 to 1db1acd Compare July 3, 2026 06:35
Rework the SCons build system into a modular toolset
Simplify SConstruct to delegate options/generation to a new build/scripts.py
Correct error module imports of parent build modules:
	This was caused by importing build modules inside the tools directory

Add build_dir script import for internal VariantDir separation
Add gen_dir script import for delegating generated files (for Author, License, and Git builders)
Add AddLibraryIncludes method for simplified include configuration and exposure
Add AddLibrarySources method for simplified source configuration
Add BuildBaseLibrary method for specifying static library file name and target install location
Add BuildHeadlessProgram method for specifying headless program construction
Add BuildUnitTest method for specifying unit test program construction
Add BuildDependencyLibrary method for specifying dependency library construction

Change command strings to be less verbose by default with build/no_verbose.py
Add color utilities in build/color.py
Extract string utilities to build/string.py

Change GlobRecursive functions to use cwd over specifying directory in pattern
Change GetGitInfo to method
Add name_prefix attribute getter inside GetGitInfo method
Move functionality of build/common_compiler_flags to tools/scripts_flags.py
Update platform tools to use tools/script_flags.py
Remove obsolete platform tools
Add .gitignore entries for scons artifacts
Improve cache progress reporting
Add GCC/Clang PCH support via GCH/GCHSH builders
Remove custom MSVC build/pch.py
Add SCons configuration through project tools directory
Add platform override support via the project tools directory
Update ruff check to Python 3.10
@Spartan322 Spartan322 changed the title Refactor SCons build into modular scripts Refactor SCons build into more modular scripts Jul 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant