From 33b58dd7e8d813425624d302b88a8c158c47eac3 Mon Sep 17 00:00:00 2001 From: Dmitry Shachnev Date: Wed, 15 Jul 2020 19:56:02 +0300 Subject: [PATCH] Make FindSIP.py compatible with SIP v5 --- cmake/FindSIP.py | 40 +++++++++++++++++++++++++++------------- 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/cmake/FindSIP.py b/cmake/FindSIP.py index dd4b71cb93d..0a313c67e15 100644 --- a/cmake/FindSIP.py +++ b/cmake/FindSIP.py @@ -30,17 +30,31 @@ # Redistribution and use is allowed according to the terms of the BSD license. # For details see the accompanying COPYING-CMAKE-SCRIPTS file. -import sipconfig +try: + import sipbuild +except ImportError: # Code for SIP v4 + import sipconfig -sipcfg = sipconfig.Configuration() -print("sip_version:%06.0x" % sipcfg.sip_version) -print("sip_version_num:%d" % sipcfg.sip_version) -print("sip_version_str:%s" % sipcfg.sip_version_str) -print("sip_bin:%s" % sipcfg.sip_bin) -print("default_sip_dir:%s" % sipcfg.default_sip_dir) -print("sip_inc_dir:%s" % sipcfg.sip_inc_dir) -# SIP 4.19.10+ has new sipcfg.sip_module_dir -if hasattr(sipcfg, "sip_module_dir"): - print("sip_module_dir:%s" % sipcfg.sip_module_dir) -else: - print("sip_module_dir:%s" % sipcfg.sip_mod_dir) + sipcfg = sipconfig.Configuration() + print("sip_version:%06.0x" % sipcfg.sip_version) + print("sip_version_num:%d" % sipcfg.sip_version) + print("sip_version_str:%s" % sipcfg.sip_version_str) + print("sip_bin:%s" % sipcfg.sip_bin) + print("default_sip_dir:%s" % sipcfg.default_sip_dir) + print("sip_inc_dir:%s" % sipcfg.sip_inc_dir) + # SIP 4.19.10+ has new sipcfg.sip_module_dir + if hasattr(sipcfg, "sip_module_dir"): + print("sip_module_dir:%s" % sipcfg.sip_module_dir) + else: + print("sip_module_dir:%s" % sipcfg.sip_mod_dir) +else: # Code for SIP v5 + print("sip_version:%06.0x" % sipbuild.version.SIP_VERSION) + print("sip_version_num:%d" % sipbuild.version.SIP_VERSION) + print("sip_version_str:%s" % sipbuild.version.SIP_VERSION_STR) + + import shutil + print("sip_bin:%s" % shutil.which("sip5")) + + from distutils.sysconfig import get_python_lib + python_modules_dir = get_python_lib(plat_specific=1) + print("default_sip_dir:%s" % python_modules_dir)