aboutsummaryrefslogtreecommitdiffstats
path: root/cad/freecad
diff options
context:
space:
mode:
authorcmt <cmt@FreeBSD.org>2019-06-17 04:09:13 +0800
committercmt <cmt@FreeBSD.org>2019-06-17 04:09:13 +0800
commitb17494852d8b177ff960de9217187f10b4d8f5eb (patch)
tree4014e5398419d0bd1af86cb0436cc4054434b16f /cad/freecad
parent04b657414c23aa63916040fcb126bda7b1e90a3c (diff)
downloadfreebsd-ports-gnome-b17494852d8b177ff960de9217187f10b4d8f5eb.tar.gz
freebsd-ports-gnome-b17494852d8b177ff960de9217187f10b4d8f5eb.tar.zst
freebsd-ports-gnome-b17494852d8b177ff960de9217187f10b4d8f5eb.zip
cad/freecad: improve pyside2 detection
pyside2 changed the way it reported it's variables (they're cmake target properties now, not variables) sometime over the last releases. FreeCAD did not support pyside2's new way of doing thing, resulting in certain dialogs not working. PR: 237987 Reported by: denverh at comcast dot net
Diffstat (limited to 'cad/freecad')
-rw-r--r--cad/freecad/Makefile1
-rw-r--r--cad/freecad/files/patch-CMakeLists.txt31
2 files changed, 32 insertions, 0 deletions
diff --git a/cad/freecad/Makefile b/cad/freecad/Makefile
index b26cd118b23f..a4108e7ad6f5 100644
--- a/cad/freecad/Makefile
+++ b/cad/freecad/Makefile
@@ -2,6 +2,7 @@
PORTNAME= FreeCAD
DISTVERSION= 0.18.2
+PORTREVISION= 1
# use these for bugfixes/snapshots
# DISTVERSION= 0.18-16093 # git rev-list --count
# DISTVERSIONSUFFIX= -g690774c0e
diff --git a/cad/freecad/files/patch-CMakeLists.txt b/cad/freecad/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..a36ebff62bb5
--- /dev/null
+++ b/cad/freecad/files/patch-CMakeLists.txt
@@ -0,0 +1,31 @@
+--- CMakeLists.txt.orig 2019-06-16 18:08:47 UTC
++++ CMakeLists.txt
+@@ -989,6 +989,13 @@ endif()
+ endif()
+ endif()
+
++ # pyside2 changed it's cmake files, this is the dance we have
++ # to dance to be compatible with the old and the new versions
++ if(SHIBOKEN_PYTHON_INCLUDE_DIRS AND NOT SHIBOKEN_INCLUDE_DIR)
++ get_property(SHIBOKEN_INCLUDE_DIR TARGET Shiboken2::libshiboken PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
++ get_property(SHIBOKEN_LIBRARY TARGET Shiboken2::libshiboken PROPERTY IMPORTED_LOCATION_RELEASE)
++ endif(SHIBOKEN_PYTHON_INCLUDE_DIRS AND NOT SHIBOKEN_INCLUDE_DIR)
++
+ if(NOT SHIBOKEN_INCLUDE_DIR)
+ MESSAGE("====================\n"
+ "shiboken2 not found.\n"
+@@ -996,6 +1003,14 @@ endif()
+ endif(NOT SHIBOKEN_INCLUDE_DIR)
+
+ find_package(PySide2 QUIET)# REQUIRED
++
++ # pyside2 changed it's cmake files, this is the dance we have
++ # to dance to be compatible with the old and the new versions
++ if(NOT PYSIDE_INCLUDE_DIR)
++ get_property(PYSIDE_INCLUDE_DIR TARGET PySide2::pyside2 PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
++ get_property(PYSIDE_LIBRARY TARGET PySide2::pyside2 PROPERTY IMPORTED_LOCATION_RELEASE)
++ endif(NOT PYSIDE_INCLUDE_DIR)
++
+ if(NOT PYSIDE_INCLUDE_DIR)
+ MESSAGE("==================\n"
+ "PySide2 not found.\n"