From 3fc3a84fc279f1ce160ca21ee8703ca378e2b13a Mon Sep 17 00:00:00 2001 From: Scott M Anderson Date: Fri, 10 Apr 2026 13:52:11 -0600 Subject: [PATCH 1/2] workflows/xpbuild: update to use Release preset Updates xpbuild.yml to explicitly specify cmake_workflow_preset_suffix: Release for all build jobs (linux, macos, windows). This ensures consistent Release cmake workflow preset across all platforms and matches the configuration used by other externpro projects like nodeng. Previously using empty with: {} blocks, now explicitly setting the Release preset for proper cmake workflow preset configuration. --- .github/workflows/xpbuild.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/xpbuild.yml b/.github/workflows/xpbuild.yml index b3a6f37..3912000 100644 --- a/.github/workflows/xpbuild.yml +++ b/.github/workflows/xpbuild.yml @@ -17,12 +17,15 @@ jobs: uses: externpro/externpro/.github/workflows/build-linux.yml@25.07.18 secrets: automation_token: ${{ secrets.GHCR_TOKEN }} - with: {} + with: + cmake_workflow_preset_suffix: Release macos: uses: externpro/externpro/.github/workflows/build-macos.yml@25.07.18 secrets: inherit - with: {} + with: + cmake_workflow_preset_suffix: Release windows: uses: externpro/externpro/.github/workflows/build-windows.yml@25.07.18 secrets: inherit - with: {} + with: + cmake_workflow_preset_suffix: Release From 834ae84573ac2f9d965dfa2ddd0ba9a23dc2f382 Mon Sep 17 00:00:00 2001 From: Scott M Anderson Date: Fri, 10 Apr 2026 13:54:48 -0600 Subject: [PATCH 2/2] Add conditional message handling to prevent duplicate Threads found messages Adds COND_OPEN and COND_CLOSE variables to wrap the Threads package configuration with a conditional check. This prevents duplicate "Found Threads" messages when the package is included multiple times in the same build. The implementation uses a cache variable __xp_threads_found_message_shown to track whether the message has already been displayed, while still ensuring Threads_FOUND is set to TRUE for subsequent includes. This improves build output cleanliness while maintaining proper package functionality. --- CMakeLists.txt | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 50c4740..5e8141b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,6 +5,18 @@ string(JOIN "\n" EXT2 "find_package(Threads REQUIRED BYPASS_PROVIDER)" "" ) +string(JOIN "\n" COND_OPEN + "" + "if(NOT DEFINED __xp_threads_found_message_shown)" + ) +string(JOIN "\n" COND_CLOSE + "" + " set(__xp_threads_found_message_shown TRUE CACHE INTERNAL \"Flag to track if Threads found message was shown\")" + "else()" + " # Skip the message but still set Threads_FOUND" + " set(Threads_FOUND TRUE)" + "endif()" + ) xpExternPackage(BASE v0 XPDIFF "bin" WEB "https://cmake.org/cmake/help/latest/module/FindThreads.html" DESC "Finds and determines the thread library of the system for multithreading support"