freecad: fix python generation with pyside2 5.14
fix #22261 [ci skip] Closes: #22399 [via git-merge-pr]
This commit is contained in:
parent
44828e2610
commit
c6b207dd83
|
@ -1,11 +1,67 @@
|
|||
backport from FreeCAD git master (rev @1bca539)
|
||||
|
||||
--- cMake/FindPySide2Tools.cmake.ORIG
|
||||
+++ cMake/FindPySide2Tools.cmake
|
||||
@@ -68,7 +68,7 @@
|
||||
@@ -20,8 +20,24 @@
|
||||
set(PYSIDE_BIN_DIR ${PYTHON_BIN_DIR})
|
||||
endif(WIN32 OR ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||
|
||||
-FIND_PROGRAM(PYSIDE2UICBINARY NAMES python2-pyside2-uic pyside2-uic pyside2-uic-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR} HINTS ${PYSIDE_BIN_DIR})
|
||||
-FIND_PROGRAM(PYSIDE2RCCBINARY NAMES pyside2-rcc pyside2-rcc-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR} HINTS ${PYSIDE_BIN_DIR})
|
||||
+# Since Qt v5.14, pyside2-uic and pyside2-rcc are directly provided by Qt5Core uic and rcc, with '-g python' option
|
||||
+# We test Qt5Core version to act accordingly
|
||||
+
|
||||
+FIND_PACKAGE(Qt5Core)
|
||||
+
|
||||
+IF(Qt5Core_VERSION VERSION_LESS 5.14)
|
||||
+ # Legacy (< 5.14)
|
||||
+ FIND_PROGRAM(PYSIDE2UICBINARY NAMES python2-pyside2-uic pyside2-uic pyside2-uic-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR} HINTS ${PYSIDE_BIN_DIR})
|
||||
+ FIND_PROGRAM(PYSIDE2RCCBINARY NAMES pyside2-rcc pyside2-rcc-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR} HINTS ${PYSIDE_BIN_DIR})
|
||||
+ set(UICOPTIONS "")
|
||||
+ set(RCCOPTIONS "")
|
||||
+ELSE(Qt5Core_VERSION VERSION_LESS 5.14)
|
||||
+ # New (>= 5.14)
|
||||
+ FIND_PROGRAM(PYSIDE2UICBINARY NAMES uic-qt5 uic)
|
||||
+ set(UICOPTIONS "--generator=python")
|
||||
+ FIND_PROGRAM(PYSIDE2RCCBINARY NAMES rcc-qt5 rcc)
|
||||
+ set(RCCOPTIONS "--generator=python" "--compress-algo=zlib" "--compress=1")
|
||||
+ENDIF(Qt5Core_VERSION VERSION_LESS 5.14)
|
||||
|
||||
MACRO(PYSIDE_WRAP_UI outfiles)
|
||||
FOREACH(it ${ARGN})
|
||||
@@ -33,7 +49,7 @@
|
||||
#)
|
||||
if(WIN32 OR APPLE)
|
||||
ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
|
||||
- COMMAND ${PYSIDE2UICBINARY} ${infile} -o ${outfile}
|
||||
+ COMMAND ${PYSIDE2UICBINARY} ${UICOPTIONS} ${infile} -o ${outfile}
|
||||
MAIN_DEPENDENCY ${infile}
|
||||
)
|
||||
else()
|
||||
@@ -41,7 +57,7 @@
|
||||
# pyside2-uic generates in comments at beginning., which is why
|
||||
# we follow the tool command with in-place sed.
|
||||
ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
|
||||
- COMMAND "${PYSIDE2UICBINARY}" "${infile}" -o "${outfile}"
|
||||
+ COMMAND "${PYSIDE2UICBINARY}" ${UICOPTIONS} "${infile}" -o "${outfile}"
|
||||
COMMAND sed -i "/^# /d" "${outfile}"
|
||||
MAIN_DEPENDENCY "${infile}"
|
||||
)
|
||||
@@ -60,7 +76,7 @@
|
||||
#)
|
||||
if(WIN32 OR APPLE)
|
||||
ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
|
||||
- COMMAND ${PYSIDE2RCCBINARY} ${infile} -o ${outfile}
|
||||
+ COMMAND ${PYSIDE2RCCBINARY} ${RCCOPTIONS} ${infile} -o ${outfile}
|
||||
MAIN_DEPENDENCY ${infile}
|
||||
)
|
||||
else()
|
||||
@@ -68,7 +84,7 @@
|
||||
# pyside-rcc generates in comments at beginning, which is why
|
||||
# we follow the tool command with in-place sed.
|
||||
ADD_CUSTOM_COMMAND(OUTPUT "${outfile}"
|
||||
- COMMAND "${PYSIDE2RCCBINARY}" "${infile}" ${PY_ATTRIBUTE} -o "${outfile}"
|
||||
+ COMMAND "${PYSIDE2RCCBINARY}" "${infile}" --generator python -o "${outfile}"
|
||||
+ COMMAND "${PYSIDE2RCCBINARY}" ${RCCOPTIONS} "${infile}" ${PY_ATTRIBUTE} -o "${outfile}"
|
||||
COMMAND sed -i "/^# /d" "${outfile}"
|
||||
MAIN_DEPENDENCY "${infile}"
|
||||
)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# Template file for 'freecad'
|
||||
pkgname=freecad
|
||||
version=0.18.4
|
||||
revision=5
|
||||
revision=6
|
||||
wrksrc="FreeCAD-${version}"
|
||||
build_style=cmake
|
||||
|
||||
|
|
Loading…
Reference in New Issue