Bundle LZMA SDK for .edz extraction; drop 7z CLI dependency (M3)

Replaces the QProcess->7z shim with the public-domain LZMA SDK (23.01) 7-Zip
reader, vendored under sources/import/edz/lzma/ (decode-only subset). New
edzsevenzip.cpp wraps SzArEx_Open/SzArEx_Extract and writes entries via Qt, so
EdzArchive no longer needs an external 7-Zip at runtime. Enables the C language
in CMake for the vendored sources.

Verified: the bundled decoder extracts all three ifm sample .edz and the
generated elements still match the Python oracle exactly (byte-correct decode),
with no 7z on the path.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Shane Ringrose
2026-06-20 07:49:14 +12:00
parent f4ff6c81f9
commit e4b4ba875b
64 changed files with 14706 additions and 83 deletions
+1 -1
View File
@@ -22,7 +22,7 @@ project(qelectrotech
VERSION 0.100.1
DESCRIPTION "QET is a CAD/CAE editor focusing on schematics drawing features."
HOMEPAGE_URL "https://qelectrotech.org/"
LANGUAGES CXX)
LANGUAGES C CXX)
include(cmake/copyright_message.cmake)