13 Commits

Author SHA1 Message Date
Simone 8155d78230 fix(build): require VC C++ tools in vswhere query
Two 18.x installs coexisted: VS2026 Community (full IDE, has VC v180)
and a BuildTools at (x86)\Microsoft Visual Studio\18\BuildTools that
has MSBuild but NO VC v180 targets. The vswhere query only required
Microsoft.Component.MSBuild, so -latest could (and did) return the
C++-less BuildTools -> MSB4019. Also require
Microsoft.VisualStudio.Component.VC.Tools.x86.x64 so only installs
with the C++ toolset match; the broken BuildTools is excluded and
2026\Community is selected. CI VM BuildTools has the C++ workload so
it still matches.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-17 22:00:10 +02:00
Simone b052497701 fix(build): pass -prerelease to vswhere (find VS2026)
VS2026 ships on the prerelease channel; vswhere omits it unless
-prerelease is given. Without it _find_msbuild_via_vswhere returned
nothing, so the path fallback picked an incomplete
(x86)\Microsoft Visual Studio\18\BuildTools install (MSBuild present
but no VC v180 targets) -> MSB4019 on hosts that have VS2026 IDE but
not BuildTools. -prerelease is harmless on the CI VM (BuildTools is
found regardless).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-17 21:57:13 +02:00
Simone a9643c78e7 feat(build): add --dist to all remaining legacy Windows build scripts
Same --dist redirect (output to <repo>/dist/<config> instead of
plugins/<config>) applied to every per-version Windows script so the
flag works regardless of --7zip-version/--toolset the dispatcher
selects. Mirrors build_plugin_2601_vs2026.py + the Linux path.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-17 20:35:47 +02:00
Simone 89beca4409 fix: avoid nested quotes in f-strings for Python <3.12 compat (Rebuild/Build target) 2026-05-03 02:49:56 +02:00
Simone 7295140210 fix: replace remaining nested double-quote f-strings for Python <3.12 compatibility 2026-05-03 02:47:43 +02:00
Simone 68f5101c64 build: redirect 26.00 builds to bundle directory
- tools/linux/build_plugin_linux.py: point VERSION_LAYOUT['26.00'].bundle_dir
  to versions/26.00-bundle/ (was versions/26.00/); update module docstring.
- tools/legacy/build_plugin_2600_vs2026.py: point project_dir to
  versions/26.00-bundle/ (was versions/26.00/).
- tools/linux/setup_26_01_bundle_symlinks.py: refactor to use bundle_root /
  vendor_root variables and add C/Asm root-level symlink creation, matching
  the new setup_26_00_bundle_symlinks.py convention.
2026-05-03 01:31:30 +02:00
Simone 9be53c7e22 fix: correct remaining Windows build script f-strings 2026-05-02 20:01:01 +02:00
Simone d80b025219 feat: add Linux MinGW build path and Windows build-script fixes (v2.2.0) 2026-05-02 19:56:28 +02:00
Simone 91fe17cda2 feat: add color and spinner to legacy build scripts 2026-04-30 23:12:42 +02:00
Simone e402720a12 Add NSIS plugin support and extraction functionality
- Implemented plugin API in `pluginapi.cpp` and `pluginapi.h` for NSIS integration.
- Added resource files `resource.h` and `resource.rc` for versioning and resource management.
- Created `ExtractCallbackConsole` class to handle extraction progress and user input.
- Developed main extraction logic in `Main.cpp` and `MainAr.cpp` for handling archives.
- Introduced user input utilities in `UserInputUtils2.cpp` and `UserInputUtils2.h` for password handling and user prompts.
- Added break signal handling in `NSISBreak.cpp` and `NSISBreak.h` for graceful interruption of extraction processes.
- Included standard header `StdAfx.h` for precompiled headers and common includes.
2026-04-30 17:27:38 +02:00
Simone 5cfade0df1 fix: use detected VS toolset in build_plugin_2600 (v143 fallback for VS2022 CI) 2026-04-29 21:51:16 +02:00
Simone 505d5cf158 fix UnicodeEncodeError in build summary (replace checkmarks with ASCII) 2026-04-29 21:45:10 +02:00
Simone 3298293474 restore tools/legacy build scripts and fix CI workflow 2026-04-29 21:42:26 +02:00