From 4abf7f052fde7df31d7576bd853159711dd8e088 Mon Sep 17 00:00:00 2001 From: Catrina Date: Sun, 15 Mar 2026 23:03:35 -0500 Subject: [PATCH 1/5] Reorganize sources into src/ and include/ subdirectories CMakeLists.txt expects src/*.cpp and include/*.h but files were at the repo root, causing the cmake configure step to fail with "Cannot find source file: src/main.cpp". --- app.h => include/app.h | 0 config.h => include/config.h | 0 fileops.h => include/fileops.h | 0 input.h => include/input.h | 0 keys.h => include/keys.h | 0 packcom.h => include/packcom.h | 0 platform.h => include/platform.h | 0 serial.h => include/serial.h | 0 terminal.h => include/terminal.h | 0 yapp.h => include/yapp.h | 0 app.cpp => src/app.cpp | 0 config.cpp => src/config.cpp | 0 fileops.cpp => src/fileops.cpp | 0 input.cpp => src/input.cpp | 0 main.cpp => src/main.cpp | 0 platform.cpp => src/platform.cpp | 0 serial.cpp => src/serial.cpp | 0 terminal.cpp => src/terminal.cpp | 0 yapp.cpp => src/yapp.cpp | 0 19 files changed, 0 insertions(+), 0 deletions(-) rename app.h => include/app.h (100%) rename config.h => include/config.h (100%) rename fileops.h => include/fileops.h (100%) rename input.h => include/input.h (100%) rename keys.h => include/keys.h (100%) rename packcom.h => include/packcom.h (100%) rename platform.h => include/platform.h (100%) rename serial.h => include/serial.h (100%) rename terminal.h => include/terminal.h (100%) rename yapp.h => include/yapp.h (100%) rename app.cpp => src/app.cpp (100%) rename config.cpp => src/config.cpp (100%) rename fileops.cpp => src/fileops.cpp (100%) rename input.cpp => src/input.cpp (100%) rename main.cpp => src/main.cpp (100%) rename platform.cpp => src/platform.cpp (100%) rename serial.cpp => src/serial.cpp (100%) rename terminal.cpp => src/terminal.cpp (100%) rename yapp.cpp => src/yapp.cpp (100%) diff --git a/app.h b/include/app.h similarity index 100% rename from app.h rename to include/app.h diff --git a/config.h b/include/config.h similarity index 100% rename from config.h rename to include/config.h diff --git a/fileops.h b/include/fileops.h similarity index 100% rename from fileops.h rename to include/fileops.h diff --git a/input.h b/include/input.h similarity index 100% rename from input.h rename to include/input.h diff --git a/keys.h b/include/keys.h similarity index 100% rename from keys.h rename to include/keys.h diff --git a/packcom.h b/include/packcom.h similarity index 100% rename from packcom.h rename to include/packcom.h diff --git a/platform.h b/include/platform.h similarity index 100% rename from platform.h rename to include/platform.h diff --git a/serial.h b/include/serial.h similarity index 100% rename from serial.h rename to include/serial.h diff --git a/terminal.h b/include/terminal.h similarity index 100% rename from terminal.h rename to include/terminal.h diff --git a/yapp.h b/include/yapp.h similarity index 100% rename from yapp.h rename to include/yapp.h diff --git a/app.cpp b/src/app.cpp similarity index 100% rename from app.cpp rename to src/app.cpp diff --git a/config.cpp b/src/config.cpp similarity index 100% rename from config.cpp rename to src/config.cpp diff --git a/fileops.cpp b/src/fileops.cpp similarity index 100% rename from fileops.cpp rename to src/fileops.cpp diff --git a/input.cpp b/src/input.cpp similarity index 100% rename from input.cpp rename to src/input.cpp diff --git a/main.cpp b/src/main.cpp similarity index 100% rename from main.cpp rename to src/main.cpp diff --git a/platform.cpp b/src/platform.cpp similarity index 100% rename from platform.cpp rename to src/platform.cpp diff --git a/serial.cpp b/src/serial.cpp similarity index 100% rename from serial.cpp rename to src/serial.cpp diff --git a/terminal.cpp b/src/terminal.cpp similarity index 100% rename from terminal.cpp rename to src/terminal.cpp diff --git a/yapp.cpp b/src/yapp.cpp similarity index 100% rename from yapp.cpp rename to src/yapp.cpp From a6a41b2a39de3b7db70bcbc6d224cb6739282f2a Mon Sep 17 00:00:00 2001 From: Catrina Date: Sun, 15 Mar 2026 23:09:45 -0500 Subject: [PATCH 2/5] Fix MSVC build errors in platform.h MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Guard PACKCOM_WINDOWS define with #ifndef to stop redefinition warning (CMakeLists already sets it via add_compile_definitions) - Add #define NOMINMAX before so std::min/std::max are not shadowed by the Windows min/max macros (C2589 errors) - Change constexpr INVALID_SERIAL to static const — INVALID_HANDLE_VALUE involves a pointer cast and is not a valid constant expression (C2131) --- include/platform.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/include/platform.h b/include/platform.h index 634af04..946910a 100644 --- a/include/platform.h +++ b/include/platform.h @@ -11,7 +11,10 @@ #include #ifdef _WIN32 -# define PACKCOM_WINDOWS +# ifndef PACKCOM_WINDOWS +# define PACKCOM_WINDOWS +# endif +# define NOMINMAX # include # include #else @@ -75,7 +78,7 @@ void beep(); #ifdef PACKCOM_WINDOWS using SerialHandle = HANDLE; -constexpr SerialHandle INVALID_SERIAL = INVALID_HANDLE_VALUE; +static const SerialHandle INVALID_SERIAL = INVALID_HANDLE_VALUE; #else using SerialHandle = int; constexpr SerialHandle INVALID_SERIAL = -1; From 8b31e1865ff48cf85680e77a0fcc7726748a4b9c Mon Sep 17 00:00:00 2001 From: Catrina Date: Sun, 15 Mar 2026 23:12:20 -0500 Subject: [PATCH 3/5] Pin WiX toolset and extension to v4.0.5 Unpinned install pulled WiX v6 tool + WixToolset.UI.wixext v7.0.0-rc.2 which are incompatible with the v4 schema used in PackCom.wxs. --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d105d1a..6d253d4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -29,10 +29,10 @@ jobs: # ----- Install WiX v4 ----------------------------------------------- - name: Install WiX Toolset v4 - run: dotnet tool install --global wix + run: dotnet tool install --global wix --version 4.0.5 - name: Add WiX UI extension - run: wix extension add WixToolset.UI.wixext + run: wix extension add WixToolset.UI.wixext/4.0.5 # ----- Determine version from git tag -------------------------------- # Tag v0.75 becomes MSI version 0.75.0.0 (4-part dotted form required) From 3ed9c23b9c32c4a682d433e703dbaa33a60c1560 Mon Sep 17 00:00:00 2001 From: Catrina Date: Sun, 15 Mar 2026 23:16:30 -0500 Subject: [PATCH 4/5] Run wix extension add from installer/ working directory WiX v4 stores extension references relative to the current directory. Adding from repo root then building from installer/ meant the extension could not be found at build time. --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6d253d4..919c77c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -32,6 +32,7 @@ jobs: run: dotnet tool install --global wix --version 4.0.5 - name: Add WiX UI extension + working-directory: installer run: wix extension add WixToolset.UI.wixext/4.0.5 # ----- Determine version from git tag -------------------------------- From e0efff393bb198769affbc2ccf564e6af4297470 Mon Sep 17 00:00:00 2001 From: Catrina Date: Sun, 15 Mar 2026 23:18:35 -0500 Subject: [PATCH 5/5] Fix invalid XML comments in PackCom.wxs XML comments cannot contain '--' (double dash). Replace decorative dash-line comments with '=' characters to satisfy the XML spec. --- installer/PackCom.wxs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/installer/PackCom.wxs b/installer/PackCom.wxs index 44fb2b9..ac03c78 100644 --- a/installer/PackCom.wxs +++ b/installer/PackCom.wxs @@ -26,18 +26,18 @@ - + - + - + - + @@ -48,9 +48,9 @@ - + - + @@ -108,9 +108,9 @@ - + - +