Skip to content

Commit

Permalink
cad/librepcb: add support of OpenCascade
Browse files Browse the repository at this point in the history
Patch from upstream, slightly modified because cad/opencascade has been
fixed against the reported crash.

PR:		277312
Approved by:	yuri (maintainer)
  • Loading branch information
thierry-FreeBSD committed Mar 21, 2024
1 parent 7632031 commit b7bc96c
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 0 deletions.
1 change: 1 addition & 0 deletions 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}/

Expand Down
39 changes: 39 additions & 0 deletions 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(

0 comments on commit b7bc96c

Please sign in to comment.