Benjamin Greiner
f01114ea75
* When using the wipe tower with "No sparse layers" option enabled, there would still be travels to the wipe tower location even for the skipped layers. This is a regression introduced in 2.8.1-rc1 (#13384). * A warning about inconsistent color profiles in PNGs used as Prusa Account avatar is now silently ignored (#12920). ## Improvements with respect to 2.8.0 * Based on the feedback received after 2.8.0 release, the menu bar was reinstated and the menu no longer hides under a button. Thanks everyone for the feedback, it was very helpful and it will be taken into consideration during possible UI-related decisions in the future. #12943 * When logging-in with the PrusaAccount using third party authorization (Google, Apple, Facebook), an external browser window is opened so the user is not forced to enter their credentials into windows created by PrusaSlicer. * The built-in web engine no longer remembers the user after logout. * There are two new parameters: Filaments->Advanced->Abrasive material and Printers->Extruder->High flow nozzle. Both flags will be used to check whether a sliced G-code is compatible with the given printer (abrasive material requires hardened nozzle) and also to ensure that "Set as current" function in PrusaSlicer-embedded Prusa Connect will select the suitable profile for the given configuration. * Note that this feature is supported since MINI/MK4/XL firmware version 6.2.0-alpha1, and that the implementation in Prusa Connect is not completely finished yet, meaning that the dialog where printer is selected does not use this information - it OBS-URL: https://build.opensuse.org/package/show/science/PrusaSlicer?expand=0&rev=87
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)
|
|
|