From 3c142a61ab9b9eec20bdd44b062d421cf271168f Mon Sep 17 00:00:00 2001 From: rdb Date: Mon, 7 Feb 2022 11:10:32 +0100 Subject: [PATCH 1/2] makepanda: Properly detect keyboard interrupts on Windows --- makepanda/makepandacore.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/makepanda/makepandacore.py b/makepanda/makepandacore.py index e650ef019f..0b7225432e 100644 --- a/makepanda/makepandacore.py +++ b/makepanda/makepandacore.py @@ -635,6 +635,9 @@ def oscmd(cmd, ignoreError = False, cwd=None): res = os.spawnl(os.P_WAIT, exe_path, cmd) + if res == -1073741510: # 0xc000013a + exit("keyboard interrupt") + if cwd is not None: os.chdir(pwd) else: From b401884f1c1b25dde079139666f03a01427e8d05 Mon Sep 17 00:00:00 2001 From: rdb Date: Mon, 7 Feb 2022 11:11:40 +0100 Subject: [PATCH 2/2] makepanda: Support building with OpenEXR 3.0 or 3.1 on Windows --- makepanda/makepanda.py | 48 ++++++++++++++++++++++++++++-------------- 1 file changed, 32 insertions(+), 16 deletions(-) diff --git a/makepanda/makepanda.py b/makepanda/makepanda.py index 5d22f69026..e66768aa5b 100755 --- a/makepanda/makepanda.py +++ b/makepanda/makepanda.py @@ -792,23 +792,39 @@ if (COMPILER == "MSVC"): else: LibName("TIFF", GetThirdpartyDir() + "tiff/lib/tiff.lib") if (PkgSkip("OPENEXR")==0): - suffix = "" - if os.path.isfile(GetThirdpartyDir() + "openexr/lib/IlmImf-2_2.lib"): - suffix = "-2_2" - elif os.path.isfile(GetThirdpartyDir() + "openexr/lib/IlmImf-2_3.lib"): - suffix = "-2_3" - elif os.path.isfile(GetThirdpartyDir() + "openexr/lib/IlmImf-2_4.lib"): - suffix = "-2_4" - LibName("OPENEXR", GetThirdpartyDir() + "openexr/lib/Imath" + suffix + ".lib") - if os.path.isfile(GetThirdpartyDir() + "openexr/lib/IlmImf" + suffix + "_s.lib"): - suffix += "_s" # _s suffix observed for OpenEXR 2.3 only so far - LibName("OPENEXR", GetThirdpartyDir() + "openexr/lib/IlmImf" + suffix + ".lib") - LibName("OPENEXR", GetThirdpartyDir() + "openexr/lib/IlmThread" + suffix + ".lib") - LibName("OPENEXR", GetThirdpartyDir() + "openexr/lib/Iex" + suffix + ".lib") - if suffix == "-2_2": - LibName("OPENEXR", GetThirdpartyDir() + "openexr/lib/Half.lib") + if os.path.isfile(GetThirdpartyDir() + "openexr/lib/OpenEXRCore-3_1.lib"): + LibName("OPENEXR", GetThirdpartyDir() + "openexr/lib/OpenEXR-3_1.lib") + LibName("OPENEXR", GetThirdpartyDir() + "openexr/lib/IlmThread-3_1.lib") + LibName("OPENEXR", GetThirdpartyDir() + "openexr/lib/Imath-3_1.lib") + LibName("OPENEXR", GetThirdpartyDir() + "openexr/lib/Iex-3_1.lib") + elif os.path.isfile(GetThirdpartyDir() + "openexr/lib/OpenEXR-3_0.lib"): + LibName("OPENEXR", GetThirdpartyDir() + "openexr/lib/OpenEXR-3_0.lib") + LibName("OPENEXR", GetThirdpartyDir() + "openexr/lib/IlmThread-3_0.lib") + LibName("OPENEXR", GetThirdpartyDir() + "openexr/lib/Imath-3_0.lib") + LibName("OPENEXR", GetThirdpartyDir() + "openexr/lib/Iex-3_0.lib") + elif os.path.isfile(GetThirdpartyDir() + "openexr/lib/OpenEXR.lib"): + LibName("OPENEXR", GetThirdpartyDir() + "openexr/lib/OpenEXR.lib") + LibName("OPENEXR", GetThirdpartyDir() + "openexr/lib/IlmThread.lib") + LibName("OPENEXR", GetThirdpartyDir() + "openexr/lib/Imath.lib") + LibName("OPENEXR", GetThirdpartyDir() + "openexr/lib/Iex.lib") else: - LibName("OPENEXR", GetThirdpartyDir() + "openexr/lib/Half" + suffix + ".lib") + suffix = "" + if os.path.isfile(GetThirdpartyDir() + "openexr/lib/IlmImf-2_2.lib"): + suffix = "-2_2" + elif os.path.isfile(GetThirdpartyDir() + "openexr/lib/IlmImf-2_3.lib"): + suffix = "-2_3" + elif os.path.isfile(GetThirdpartyDir() + "openexr/lib/IlmImf-2_4.lib"): + suffix = "-2_4" + LibName("OPENEXR", GetThirdpartyDir() + "openexr/lib/Imath" + suffix + ".lib") + if os.path.isfile(GetThirdpartyDir() + "openexr/lib/IlmImf" + suffix + "_s.lib"): + suffix += "_s" # _s suffix observed for OpenEXR 2.3 only so far + LibName("OPENEXR", GetThirdpartyDir() + "openexr/lib/IlmImf" + suffix + ".lib") + LibName("OPENEXR", GetThirdpartyDir() + "openexr/lib/IlmThread" + suffix + ".lib") + LibName("OPENEXR", GetThirdpartyDir() + "openexr/lib/Iex" + suffix + ".lib") + if suffix == "-2_2": + LibName("OPENEXR", GetThirdpartyDir() + "openexr/lib/Half.lib") + else: + LibName("OPENEXR", GetThirdpartyDir() + "openexr/lib/Half" + suffix + ".lib") IncDirectory("OPENEXR", GetThirdpartyDir() + "openexr/include/OpenEXR") IncDirectory("OPENEXR", GetThirdpartyDir() + "openexr/include/Imath") if (PkgSkip("JPEG")==0): LibName("JPEG", GetThirdpartyDir() + "jpeg/lib/jpeg-static.lib")