librepcb: rebuild for occt-7.9.0.

This commit is contained in:
ii8 2025-02-23 18:40:33 +00:00
parent d7924345f4
commit 72fdc9a077
2 changed files with 57 additions and 1 deletions

View file

@ -0,0 +1,56 @@
From a68d5d361c7cb920b92ee9e12c7505cbc9986e56 Mon Sep 17 00:00:00 2001
From: "U. Bruhin" <urbibruhin@bluewin.ch>
Date: Sun, 10 Mar 2024 15:57:41 +0100
Subject: [PATCH] CMake: Fix linking with OCCT 7.8.x
---
cmake/FindOpenCascade.cmake | 25 ++++++++++++++++++++-----
1 file changed, 20 insertions(+), 5 deletions(-)
diff --git a/cmake/FindOpenCascade.cmake b/cmake/FindOpenCascade.cmake
index 9a30f9759c..1ce3c21689 100644
--- a/cmake/FindOpenCascade.cmake
+++ b/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,7 +12,22 @@ endif()
# 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 7.8.0)
+ set(OCC_LIBRARIES TKCAF TKDESTEP)
+ elseif(OpenCASCADE_VERSION VERSION_EQUAL 7.8.0)
+ message(
+ FATAL_ERROR
+ "Cannot use OpenCascade 7.8.0 because it contains a critical bug. \
+ Please use a different version (or if this is not possible, try OCE \
+ instead of OCCT)."
+ )
+ else()
+ set(OCC_LIBRARIES TKXCAF TKXDESTEP)
+ endif()
# Populate target
target_include_directories(
@@ -32,7 +44,10 @@ endif()
# 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(

View file

@ -1,7 +1,7 @@
# Template file for 'librepcb'
pkgname=librepcb
version=1.0.0
revision=1
revision=2
build_style=cmake
configure_args="-DBUILD_QTQUICK_TEST=OFF"
hostmakedepends="unzip qt5-qmake qt5-host-tools"