gnucash stable: Multiple changes pushed

John Ralls jralls at code.gnucash.org
Thu Oct 5 22:20:58 EDT 2023


Updated	 via  https://github.com/Gnucash/gnucash/commit/fdfad6c8 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/3782eed5 (commit)
	from  https://github.com/Gnucash/gnucash/commit/9eacf34c (commit)



commit fdfad6c8d694c7e2ea5e340ad971257ca863d240
Merge: 9eacf34c89 3782eed567
Author: John Ralls <jralls at ceridwen.us>
Date:   Thu Oct 5 15:08:09 2023 -0700

    Merge Simon Arlott's 'use-default-python-version' into stable.


commit 3782eed56785adaca02cf2bd4766d3825a6f6ca7
Author: Simon Arlott <sa.me.uk>
Date:   Wed Oct 4 21:15:11 2023 +0100

    Use the default version of Python 3
    
    Python scripts that run with the default version of Python 3 by executing
    with /usr/bin/python3 that try to import gnucash can't find it if it has
    been built for a different version.
    
    Instead of using other installed versions of Python 3 that happen to be
    present, default to using the default "unversioned" version.
    
    It doesn't look like CMake are going to fix the default behaviour, so every
    project has to do this:
    https://gitlab.kitware.com/cmake/cmake/-/issues/24878
    https://gitlab.kitware.com/cmake/cmake/-/issues/24126
    https://gitlab.kitware.com/cmake/cmake/-/merge_requests/8287
    
    This is only supported on CMake 3.20 or newer, so users of older versions
    will still get the broken behaviour.
    
    Use the newer default Python3_FIND_STRATEGY=LOCATION (CMP0094).

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8c69492044..dd9148a523 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,6 +2,11 @@
 
 cmake_minimum_required (VERSION 3.14.5)
 
+# CMake 3.15+ Python3_FIND_STRATEGY=LOCATION
+if (POLICY CMP0094)
+  cmake_policy(SET CMP0094 NEW)
+endif()
+
 project (gnucash
     VERSION 5.4
 )
@@ -492,6 +497,9 @@ endif()
 
 if (WITH_PYTHON)
   set (PYTHON_MIN_VERSION 3.6.0)
+  if (NOT DEFINED Python3_FIND_UNVERSIONED_NAMES)
+    set (Python3_FIND_UNVERSIONED_NAMES FIRST)
+  endif()
   find_package (Python3 ${PYTHON_MIN_VERSION} COMPONENTS Interpreter Development)
   if (NOT Python3_FOUND)
     message(SEND_ERROR "Python support enabled, but Python3 interpreter and/or libaries not found.")



Summary of changes:
 CMakeLists.txt | 8 ++++++++
 1 file changed, 8 insertions(+)



More information about the gnucash-changes mailing list