gnucash stable: Multiple changes pushed
John Ralls
jralls at code.gnucash.org
Mon Dec 11 15:31:43 EST 2023
Updated via https://github.com/Gnucash/gnucash/commit/3d433d8c (commit)
via https://github.com/Gnucash/gnucash/commit/93323cc1 (commit)
from https://github.com/Gnucash/gnucash/commit/f5996afd (commit)
commit 3d433d8c5b0e8b7797583008479fc6786ddfb892
Author: John Ralls <jralls at ceridwen.us>
Date: Mon Dec 11 11:48:50 2023 -0800
Workflows: Try limiting the coverage-upload to the root repo.
I.e. don't run it in forks.
diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml
index 3fd09aba6f..946523ef9a 100644
--- a/.github/workflows/coverage.yml
+++ b/.github/workflows/coverage.yml
@@ -53,6 +53,7 @@ jobs:
deploy-coverage:
needs: coverage
+ if: github.repository == 'gnucash/gnucash'
permissions:
pages: write
id-token: write
commit 93323cc1dc437704764b0eb487cf23041859a30b
Author: John Ralls <jralls at ceridwen.us>
Date: Sun Dec 10 13:21:21 2023 -0800
Fix Win32 build, broken by COMMAND_EXPAND_LISTS
Create a win32 analog to make_unix_path_list that escapes the
semicolons to prevent cmake turning them into list delimiters.
diff --git a/common/cmake_modules/GncAddSchemeTargets.cmake b/common/cmake_modules/GncAddSchemeTargets.cmake
index 97c3c9d009..9a038def23 100644
--- a/common/cmake_modules/GncAddSchemeTargets.cmake
+++ b/common/cmake_modules/GncAddSchemeTargets.cmake
@@ -20,11 +20,20 @@ function(make_unix_path PATH)
set(${PATH} ${newpath} PARENT_SCOPE)
endfunction()
-#PATH variables in the environment are separated by colons, but CMake lists are separated by semicolons. This function transforms the separators.
+# PATH variables in the environment are separated by colons, but CMake
+# lists are separated by semicolons. This function transforms the
+# separators.
function(make_unix_path_list PATH)
string(REPLACE ";" ":" newpath "${${PATH}}")
set(${PATH} ${newpath} PARENT_SCOPE)
endfunction()
+# Meanwhile cmake treats the semicolons in Win32 path lists as its own
+# list separators converting them into spaces on the command
+# line. Escape them to prevent that.
+function(make_win32_path_list PATH)
+ string(REPLACE ";" "\\\;" newpath "${${PATH}}")
+ set(${PATH} "${newpath}" PARENT_SCOPE)
+endfunction()
# This function will set two or four environment variables to a directory in the parent PARENT_SCOPE
# * _DIRCLASS (eg "prefix", "sitedir" is used to construct the variable name(s) and in error messages
@@ -241,6 +250,7 @@ function(gnc_add_scheme_targets _TARGET)
set(fpath "")
file(TO_CMAKE_PATH "$ENV{PATH}" fpath)
set(LIBRARY_PATH "PATH=${BINDIR_BUILD};${fpath}")
+ make_win32_path_list(LIBRARY_PATH)
else()
set (LIBRARY_PATH "LD_LIBRARY_PATH=${LIBDIR_BUILD}:${LIBDIR_BUILD}/gnucash:$ENV{LD_LIBRARY_PATH}")
endif()
@@ -256,6 +266,9 @@ function(gnc_add_scheme_targets _TARGET)
if(NOT MINGW64 OR ${GUILE_EFFECTIVE_VERSION} VERSION_LESS 2.2)
make_unix_path_list(_GUILE_LOAD_PATH)
make_unix_path_list(_GUILE_LOAD_COMPILED_PATH)
+ elseif(MINGW64)
+ make_win32_path_list(_GUILE_LOAD_PATH)
+ make_win32_path_list(_GUILE_LOAD_COMPILED_PATH)
endif()
make_unix_path_list(_GNC_MODULE_PATH)
if (__DEBUG)
Summary of changes:
.github/workflows/coverage.yml | 1 +
common/cmake_modules/GncAddSchemeTargets.cmake | 15 ++++++++++++++-
2 files changed, 15 insertions(+), 1 deletion(-)
More information about the gnucash-changes
mailing list