Benjamin Greiner
a545aba3a8
https://github.com/prusa3d/PrusaSlicer/releases/tag/version_2.8.1 - Removed PrusaSlicer-2.8.0-slic3r-includes.patch - Added PrusaSlicer-2.8.1-fix-build.patch - Updated up-occt-version.patch OBS-URL: https://build.opensuse.org/package/show/science/PrusaSlicer?expand=0&rev=86
322 lines
10 KiB
Diff
322 lines
10 KiB
Diff
From bf17924d6582b8a7baca5a58e59c604f3288cd19 Mon Sep 17 00:00:00 2001
|
|
From: randomtechguy <50642148+Rose-David@users.noreply.github.com>
|
|
Date: Fri, 12 Jul 2024 17:24:16 -0400
|
|
Subject: [PATCH 1/5] Update CMakeLists.txt to fix linux compile error
|
|
|
|
---
|
|
src/slic3r/CMakeLists.txt | 3 +++
|
|
1 file changed, 3 insertions(+)
|
|
|
|
diff --git a/src/slic3r/CMakeLists.txt b/src/slic3r/CMakeLists.txt
|
|
index 82e91bb10b..b20583a5ba 100644
|
|
--- a/src/slic3r/CMakeLists.txt
|
|
+++ b/src/slic3r/CMakeLists.txt
|
|
@@ -391,6 +391,7 @@ set(SLIC3R_GUI_SOURCES
|
|
)
|
|
|
|
find_package(NanoSVG REQUIRED)
|
|
+find_package(OpenSSL REQUIRED)
|
|
|
|
if (APPLE)
|
|
list(APPEND SLIC3R_GUI_SOURCES
|
|
@@ -447,6 +448,8 @@ target_link_libraries(
|
|
NanoSVG::nanosvgrast
|
|
stb_dxt
|
|
fastfloat
|
|
+ OpenSSL::SSL
|
|
+ OpenSSL::Crypto
|
|
)
|
|
|
|
if (MSVC)
|
|
|
|
From da3587cea3c9b51f97f41e3eb09e4479d3b0492f Mon Sep 17 00:00:00 2001
|
|
From: Jonne Mickelin <jonne@ljhms.se>
|
|
Date: Wed, 20 Nov 2024 16:05:44 +0100
|
|
Subject: [PATCH 2/5] Update cmake/FindEigen3 to the one bundled with version
|
|
3.4.0
|
|
|
|
This solves the build error with the missing `Eigen3::Eigen` build
|
|
target.
|
|
|
|
Partially fixes #13608
|
|
---
|
|
cmake/modules/FindEigen3.cmake | 71 ++++++++++++++++++++++------------
|
|
1 file changed, 46 insertions(+), 25 deletions(-)
|
|
|
|
diff --git a/cmake/modules/FindEigen3.cmake b/cmake/modules/FindEigen3.cmake
|
|
index 1da37619ef..2dbed58384 100644
|
|
--- a/cmake/modules/FindEigen3.cmake
|
|
+++ b/cmake/modules/FindEigen3.cmake
|
|
@@ -9,6 +9,16 @@
|
|
# EIGEN3_FOUND - system has eigen lib with correct version
|
|
# EIGEN3_INCLUDE_DIR - the eigen include directory
|
|
# EIGEN3_VERSION - eigen version
|
|
+#
|
|
+# and the following imported target:
|
|
+#
|
|
+# Eigen3::Eigen - The header-only Eigen library
|
|
+#
|
|
+# This module reads hints about search locations from
|
|
+# the following environment variables:
|
|
+#
|
|
+# EIGEN3_ROOT
|
|
+# EIGEN3_ROOT_DIR
|
|
|
|
# Copyright (c) 2006, 2007 Montel Laurent, <montel@kde.org>
|
|
# Copyright (c) 2008, 2009 Gael Guennebaud, <g.gael@free.fr>
|
|
@@ -18,16 +28,16 @@
|
|
if(NOT Eigen3_FIND_VERSION)
|
|
if(NOT Eigen3_FIND_VERSION_MAJOR)
|
|
set(Eigen3_FIND_VERSION_MAJOR 2)
|
|
- endif(NOT Eigen3_FIND_VERSION_MAJOR)
|
|
+ endif()
|
|
if(NOT Eigen3_FIND_VERSION_MINOR)
|
|
set(Eigen3_FIND_VERSION_MINOR 91)
|
|
- endif(NOT Eigen3_FIND_VERSION_MINOR)
|
|
+ endif()
|
|
if(NOT Eigen3_FIND_VERSION_PATCH)
|
|
set(Eigen3_FIND_VERSION_PATCH 0)
|
|
- endif(NOT Eigen3_FIND_VERSION_PATCH)
|
|
+ endif()
|
|
|
|
set(Eigen3_FIND_VERSION "${Eigen3_FIND_VERSION_MAJOR}.${Eigen3_FIND_VERSION_MINOR}.${Eigen3_FIND_VERSION_PATCH}")
|
|
-endif(NOT Eigen3_FIND_VERSION)
|
|
+endif()
|
|
|
|
macro(_eigen3_check_version)
|
|
file(READ "${EIGEN3_INCLUDE_DIR}/Eigen/src/Core/util/Macros.h" _eigen3_version_header)
|
|
@@ -42,45 +52,56 @@ macro(_eigen3_check_version)
|
|
set(EIGEN3_VERSION ${EIGEN3_WORLD_VERSION}.${EIGEN3_MAJOR_VERSION}.${EIGEN3_MINOR_VERSION})
|
|
if(${EIGEN3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION})
|
|
set(EIGEN3_VERSION_OK FALSE)
|
|
- else(${EIGEN3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION})
|
|
+ else()
|
|
set(EIGEN3_VERSION_OK TRUE)
|
|
- endif(${EIGEN3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION})
|
|
+ endif()
|
|
|
|
if(NOT EIGEN3_VERSION_OK)
|
|
|
|
message(STATUS "Eigen3 version ${EIGEN3_VERSION} found in ${EIGEN3_INCLUDE_DIR}, "
|
|
"but at least version ${Eigen3_FIND_VERSION} is required")
|
|
- endif(NOT EIGEN3_VERSION_OK)
|
|
-endmacro(_eigen3_check_version)
|
|
+ endif()
|
|
+endmacro()
|
|
|
|
if (EIGEN3_INCLUDE_DIR)
|
|
|
|
# in cache already
|
|
_eigen3_check_version()
|
|
set(EIGEN3_FOUND ${EIGEN3_VERSION_OK})
|
|
-
|
|
-else (EIGEN3_INCLUDE_DIR)
|
|
-
|
|
- # specific additional paths for some OS
|
|
- if (WIN32)
|
|
- set(EIGEN_ADDITIONAL_SEARCH_PATHS ${EIGEN_ADDITIONAL_SEARCH_PATHS} "C:/Program Files/Eigen/include" "C:/Program Files (x86)/Eigen/include")
|
|
- endif(WIN32)
|
|
-
|
|
- find_path(EIGEN3_INCLUDE_DIR NAMES signature_of_eigen3_matrix_library
|
|
- PATHS
|
|
- ${CMAKE_INSTALL_PREFIX}/include
|
|
- ${EIGEN_ADDITIONAL_SEARCH_PATHS}
|
|
- ${KDE4_INCLUDE_DIR}
|
|
- PATH_SUFFIXES eigen3 eigen
|
|
- )
|
|
+ set(Eigen3_FOUND ${EIGEN3_VERSION_OK})
|
|
+
|
|
+else ()
|
|
+
|
|
+ # search first if an Eigen3Config.cmake is available in the system,
|
|
+ # if successful this would set EIGEN3_INCLUDE_DIR and the rest of
|
|
+ # the script will work as usual
|
|
+ find_package(Eigen3 ${Eigen3_FIND_VERSION} NO_MODULE QUIET)
|
|
+
|
|
+ if(NOT EIGEN3_INCLUDE_DIR)
|
|
+ find_path(EIGEN3_INCLUDE_DIR NAMES signature_of_eigen3_matrix_library
|
|
+ HINTS
|
|
+ ENV EIGEN3_ROOT
|
|
+ ENV EIGEN3_ROOT_DIR
|
|
+ PATHS
|
|
+ ${CMAKE_INSTALL_PREFIX}/include
|
|
+ ${KDE4_INCLUDE_DIR}
|
|
+ PATH_SUFFIXES eigen3 eigen
|
|
+ )
|
|
+ endif()
|
|
|
|
if(EIGEN3_INCLUDE_DIR)
|
|
_eigen3_check_version()
|
|
- endif(EIGEN3_INCLUDE_DIR)
|
|
+ endif()
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
find_package_handle_standard_args(Eigen3 DEFAULT_MSG EIGEN3_INCLUDE_DIR EIGEN3_VERSION_OK)
|
|
|
|
mark_as_advanced(EIGEN3_INCLUDE_DIR)
|
|
|
|
-endif(EIGEN3_INCLUDE_DIR)
|
|
+endif()
|
|
+
|
|
+if(EIGEN3_FOUND AND NOT TARGET Eigen3::Eigen)
|
|
+ add_library(Eigen3::Eigen INTERFACE IMPORTED)
|
|
+ set_target_properties(Eigen3::Eigen PROPERTIES
|
|
+ INTERFACE_INCLUDE_DIRECTORIES "${EIGEN3_INCLUDE_DIR}")
|
|
+endif()
|
|
|
|
From 5c1fd3e489da10a6fb828681b2ee777736b45a61 Mon Sep 17 00:00:00 2001
|
|
From: Jonne Mickelin <jonne@ljhms.se>
|
|
Date: Wed, 20 Nov 2024 16:11:11 +0100
|
|
Subject: [PATCH 3/5] Replace FindDbus.cmake with the upstream module
|
|
|
|
This solves the build error with missing headers.
|
|
|
|
Partially fixes #13608.
|
|
---
|
|
CMakeLists.txt | 2 +-
|
|
cmake/modules/FindDBus.cmake | 59 ------------------------------------
|
|
src/slic3r/CMakeLists.txt | 2 +-
|
|
3 files changed, 2 insertions(+), 61 deletions(-)
|
|
delete mode 100644 cmake/modules/FindDBus.cmake
|
|
|
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
index 31cb4c0ff3..42a9302a0d 100644
|
|
--- a/CMakeLists.txt
|
|
+++ b/CMakeLists.txt
|
|
@@ -246,7 +246,7 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
|
find_package(Threads REQUIRED)
|
|
|
|
- find_package(DBus REQUIRED)
|
|
+ find_package(DBus1 REQUIRED)
|
|
endif()
|
|
|
|
if (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUXX)
|
|
diff --git a/cmake/modules/FindDBus.cmake b/cmake/modules/FindDBus.cmake
|
|
deleted file mode 100644
|
|
index d54d4e516c..0000000000
|
|
--- a/cmake/modules/FindDBus.cmake
|
|
+++ /dev/null
|
|
@@ -1,59 +0,0 @@
|
|
-# - Try to find DBus
|
|
-# Once done, this will define
|
|
-#
|
|
-# DBUS_FOUND - system has DBus
|
|
-# DBUS_INCLUDE_DIRS - the DBus include directories
|
|
-# DBUS_LIBRARIES - link these to use DBus
|
|
-#
|
|
-# Copyright (C) 2012 Raphael Kubo da Costa <rakuco@webkit.org>
|
|
-#
|
|
-# Redistribution and use in source and binary forms, with or without
|
|
-# modification, are permitted provided that the following conditions
|
|
-# are met:
|
|
-# 1. Redistributions of source code must retain the above copyright
|
|
-# notice, this list of conditions and the following disclaimer.
|
|
-# 2. Redistributions in binary form must reproduce the above copyright
|
|
-# notice, this list of conditions and the following disclaimer in the
|
|
-# documentation and/or other materials provided with the distribution.
|
|
-#
|
|
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND ITS CONTRIBUTORS ``AS
|
|
-# IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
|
-# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
-# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ITS
|
|
-# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
-# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
|
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
|
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
|
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
|
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
-
|
|
-FIND_PACKAGE(PkgConfig)
|
|
-PKG_CHECK_MODULES(PC_DBUS QUIET dbus-1)
|
|
-
|
|
-FIND_LIBRARY(DBUS_LIBRARIES
|
|
- NAMES dbus-1
|
|
- HINTS ${PC_DBUS_LIBDIR}
|
|
- ${PC_DBUS_LIBRARY_DIRS}
|
|
-)
|
|
-
|
|
-FIND_PATH(DBUS_INCLUDE_DIR
|
|
- NAMES dbus/dbus.h
|
|
- HINTS ${PC_DBUS_INCLUDEDIR}
|
|
- ${PC_DBUS_INCLUDE_DIRS}
|
|
-)
|
|
-
|
|
-GET_FILENAME_COMPONENT(_DBUS_LIBRARY_DIR ${DBUS_LIBRARIES} PATH)
|
|
-FIND_PATH(DBUS_ARCH_INCLUDE_DIR
|
|
- NAMES dbus/dbus-arch-deps.h
|
|
- HINTS ${PC_DBUS_INCLUDEDIR}
|
|
- ${PC_DBUS_INCLUDE_DIRS}
|
|
- ${_DBUS_LIBRARY_DIR}
|
|
- ${DBUS_INCLUDE_DIR}
|
|
- PATH_SUFFIXES include
|
|
-)
|
|
-
|
|
-SET(DBUS_INCLUDE_DIRS ${DBUS_INCLUDE_DIR} ${DBUS_ARCH_INCLUDE_DIR})
|
|
-
|
|
-INCLUDE(FindPackageHandleStandardArgs)
|
|
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(DBus REQUIRED_VARS DBUS_INCLUDE_DIRS DBUS_LIBRARIES)
|
|
\ No newline at end of file
|
|
diff --git a/src/slic3r/CMakeLists.txt b/src/slic3r/CMakeLists.txt
|
|
index b20583a5ba..d1ce7b5b08 100644
|
|
--- a/src/slic3r/CMakeLists.txt
|
|
+++ b/src/slic3r/CMakeLists.txt
|
|
@@ -455,7 +455,7 @@ target_link_libraries(
|
|
if (MSVC)
|
|
target_link_libraries(libslic3r_gui PUBLIC Setupapi.lib)
|
|
elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
- target_link_libraries(libslic3r_gui PUBLIC ${DBUS_LIBRARIES})
|
|
+ target_link_libraries(libslic3r_gui PUBLIC ${DBus1_LIBRARIES})
|
|
elseif (APPLE)
|
|
target_link_libraries(libslic3r_gui PUBLIC ${DISKARBITRATION_LIBRARY} ${COREWLAN_LIBRARY})
|
|
endif()
|
|
|
|
From f7a25cae1820444f4e999b429598ca477a35ccb8 Mon Sep 17 00:00:00 2001
|
|
From: Jonne Mickelin <jonne@ljhms.se>
|
|
Date: Wed, 20 Nov 2024 16:14:07 +0100
|
|
Subject: [PATCH 4/5] Link boost_headeronly in slic3r and libslic3r
|
|
|
|
This solves the linker error about missing `boost::log` symbols.
|
|
|
|
Fixes #13608.
|
|
---
|
|
src/libslic3r/CMakeLists.txt | 3 ++-
|
|
src/slic3r/CMakeLists.txt | 1 +
|
|
2 files changed, 3 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/src/libslic3r/CMakeLists.txt b/src/libslic3r/CMakeLists.txt
|
|
index ea669ee30c..d80b17a0bc 100644
|
|
--- a/src/libslic3r/CMakeLists.txt
|
|
+++ b/src/libslic3r/CMakeLists.txt
|
|
@@ -524,7 +524,7 @@ cmake_policy(SET CMP0011 NEW)
|
|
find_package(CGAL REQUIRED)
|
|
cmake_policy(POP)
|
|
|
|
-add_library(libslic3r_cgal STATIC
|
|
+add_library(libslic3r_cgal STATIC
|
|
CutSurface.hpp CutSurface.cpp
|
|
Geometry/VoronoiUtilsCgal.hpp Geometry/VoronoiUtilsCgal.cpp
|
|
IntersectionPoints.hpp IntersectionPoints.cpp
|
|
@@ -596,6 +596,7 @@ target_link_libraries(libslic3r PUBLIC
|
|
libigl
|
|
agg
|
|
ankerl
|
|
+ boost_headeronly
|
|
)
|
|
|
|
if (APPLE)
|
|
diff --git a/src/slic3r/CMakeLists.txt b/src/slic3r/CMakeLists.txt
|
|
index d1ce7b5b08..27c226120d 100644
|
|
--- a/src/slic3r/CMakeLists.txt
|
|
+++ b/src/slic3r/CMakeLists.txt
|
|
@@ -450,6 +450,7 @@ target_link_libraries(
|
|
fastfloat
|
|
OpenSSL::SSL
|
|
OpenSSL::Crypto
|
|
+ boost_headeronly
|
|
)
|
|
|
|
if (MSVC)
|
|
|