aboutsummaryrefslogtreecommitdiff
path: root/cad
diff options
context:
space:
mode:
authorThierry Thomas <thierry@FreeBSD.org>2024-03-17 16:36:42 +0000
committerThierry Thomas <thierry@FreeBSD.org>2024-03-21 18:01:18 +0000
commitb7bc96ccb10409807aa1c39cf7dd3a7436476db0 (patch)
treef2a378c22c77478226a6ff3bc44e1b205025c229 /cad
parent7632031eb3a9c542cdab66527b459790004cdf91 (diff)
downloadports-b7bc96ccb10409807aa1c39cf7dd3a7436476db0.tar.gz
ports-b7bc96ccb10409807aa1c39cf7dd3a7436476db0.zip
cad/librepcb: add support of OpenCascade
Patch from upstream, slightly modified because cad/opencascade has been fixed against the reported crash. PR: 277312 Approved by: yuri (maintainer)
Diffstat (limited to 'cad')
-rw-r--r--cad/librepcb/Makefile1
-rw-r--r--cad/librepcb/files/patch-cmake_FindOpenCascade.cmake39
2 files changed, 40 insertions, 0 deletions
diff --git a/cad/librepcb/Makefile b/cad/librepcb/Makefile
index 9f02c5448433..9623bce62494 100644
--- a/cad/librepcb/Makefile
+++ b/cad/librepcb/Makefile
@@ -1,6 +1,7 @@
PORTNAME= librepcb
DISTVERSION= 1.0.0
DISTVERSIONSUFFIX= -source
+PORTREVISION= 1
CATEGORIES= cad
MASTER_SITES= https://download.librepcb.org/releases/${DISTVERSION}/
diff --git a/cad/librepcb/files/patch-cmake_FindOpenCascade.cmake b/cad/librepcb/files/patch-cmake_FindOpenCascade.cmake
new file mode 100644
index 000000000000..d18e7215354f
--- /dev/null
+++ b/cad/librepcb/files/patch-cmake_FindOpenCascade.cmake
@@ -0,0 +1,39 @@
+--- cmake/FindOpenCascade.cmake.orig 2023-09-24 10:47:05 UTC
++++ cmake/FindOpenCascade.cmake
+@@ -1,6 +1,3 @@
+-# Specify OpenCascade libraries needed for LibrePCB
+-set(OCC_LIBRARIES TKXCAF TKXDESTEP)
+-
+ # Add library
+ add_library(open_cascade INTERFACE)
+ add_library(OpenCascade::OpenCascade ALIAS open_cascade)
+@@ -15,8 +12,16 @@ if(OpenCASCADE_FOUND)
+ # Try to find OCCT shared library on the system
+ find_package(OpenCASCADE CONFIG QUIET)
+ if(OpenCASCADE_FOUND)
+- message(STATUS "Using system OpenCASCADE (OCCT)")
++ message(STATUS "Using system OpenCASCADE (OCCT ${OpenCASCADE_VERSION})")
+
++ # Specify OpenCascade libraries needed for LibrePCB
++ # https://github.com/LibrePCB/LibrePCB/issues/1315
++ if(OpenCASCADE_VERSION VERSION_GREATER_EQUAL 7.8.0)
++ set(OCC_LIBRARIES TKCAF TKDESTEP)
++ else()
++ set(OCC_LIBRARIES TKXCAF TKXDESTEP)
++ endif()
++
+ # Populate target
+ target_include_directories(
+ open_cascade SYSTEM INTERFACE "${OpenCASCADE_INCLUDE_DIR}"
+@@ -32,7 +37,10 @@ if(OCE_FOUND)
+ # Try to find OCE shared library on the system
+ find_package(OCE CONFIG QUIET)
+ if(OCE_FOUND)
+- message(STATUS "Using system OpenCASCADE (OCE)")
++ message(STATUS "Using system OpenCASCADE (OCE ${OCE_VERSION})")
++
++ # Specify OpenCascade libraries needed for LibrePCB
++ set(OCC_LIBRARIES TKXCAF TKXDESTEP)
+
+ # Populate target
+ target_include_directories(