Merge remote-tracking branch 'public/master'

This commit is contained in:
Lukas Matena 2023-07-24 10:23:06 +02:00
commit 035331ab9f
16 changed files with 4483 additions and 22 deletions

View File

@ -26,7 +26,6 @@ endif()
option(SLIC3R_STATIC "Compile PrusaSlicer with static libraries (Boost, TBB, glew)" ${SLIC3R_STATIC_INITIAL})
option(SLIC3R_GUI "Compile PrusaSlicer with GUI components (OpenGL, wxWidgets)" 1)
option(SLIC3R_FHS "Assume PrusaSlicer is to be installed in a FHS directory structure" 0)
option(SLIC3R_WX_STABLE "Build against wxWidgets stable (3.0) as oppsed to dev (3.1) on Linux" 0)
option(SLIC3R_PCH "Use precompiled headers" 1)
option(SLIC3R_MSVC_COMPILE_PARALLEL "Compile on Visual Studio in parallel" 1)
option(SLIC3R_MSVC_PDB "Generate PDB files on MSVC in Release mode" 1)

View File

@ -1,7 +1,7 @@
# Dependency report for PrusaSlicer
## Possible dynamic linking on Linux
* zlib: Strict dependency required from the system, linked dynamically. Many other libs depend on zlib.
* wxWidgets: searches for wx-3.1 by default, but with cmake option `SLIC3R_WX_STABLE=ON` it will use wx-3.0 bundled with most distros.
* wxWidgets >= 3.1.6
* libcurl
* tbb
* boost

View File

@ -87,7 +87,6 @@ And that's it. It is now possible to run the freshly built PrusaSlicer binary:
- `-DSLIC3R_ASAN=ON` enables gcc/clang address sanitizer (defaults to `OFF`, requires gcc>4.8 or clang>3.1)
- `-DSLIC3R_GTK=3` to use GTK3 (defaults to `2`). Note that wxWidgets must be built against the same GTK version.
- `-DSLIC3R_STATIC=ON` for static build (defaults to `OFF`)
- `-DSLIC3R_WX_STABLE=ON` to look for wxWidgets 3.0 (defaults to `OFF`)
- `-DCMAKE_BUILD_TYPE=Debug` to build in debug mode (defaults to `Release`)
- `-DSLIC3R_GUI=no` to build the console variant of PrusaSlicer
@ -101,14 +100,6 @@ As already mentioned above, dynamic linking of dependencies is possible, but Pru
The list of dependencies can be easily obtained by inspecting the CMake scripts in the `deps/` directory. Some of the dependencies don't have to be as recent as the versions listed - generally versions available on conservative Linux distros such as Debian stable, Ubuntu LTS releases or Fedora are likely sufficient. If you decide to build this way, it is your responsibility to make sure that CMake finds all required dependencies. It is possible to look at your distribution PrusaSlicer package to see how the package maintainers solved the dependency issues.
#### wxWidgets
By default, PrusaSlicer looks for wxWidgets 3.1. Our build script in fact downloads specific patched version of wxWidgets. If you want to link against wxWidgets 3.0 (which are still provided by most distributions because wxWidgets 3.1 have not yet been declared stable), you must set `-DSLIC3R_WX_STABLE=ON` when running CMake. Note that while PrusaSlicer can be linked against wWidgets 3.0, the combination is not well tested and there might be bugs in the resulting application.
When building on ubuntu 20.04 focal fossa, the package libwxgtk3.0-gtk3-dev needs to be installed instead of libwxgtk3.0-dev and you should use:
```
-DSLIC3R_WX_STABLE=1 -DSLIC3R_GTK=3
```
## Miscellaneous
### Installation

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 26.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 794.8 681.4" style="enable-background:new 0 0 794.8 681.4;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;stroke:#FFFFFF;stroke-width:1.0002;stroke-miterlimit:11.3405;}
.st1{fill:#EFE4E4;stroke:#FFFFFF;stroke-width:1.0002;stroke-miterlimit:11.3405;}
.st2{enable-background:new ;}
.st3{fill:none;stroke:#FFFFFF;stroke-miterlimit:11.3386;}
</style>
<path class="st0" d="M23.2,0.5h756.1c8.3,0,15,5.5,15,12.3l0,0v626.3c0,6.8-6.7,12.3-15,12.3H15.5c-8.3,0-15-5.5-15-12.3l0,0v-620
C0.5,8.8,10.6,0.5,23.2,0.5z"/>
<polygon class="st1" points="530.6,680.9 264.2,680.9 238.5,651.4 556.8,651.4 "/>
<g class="st2">
<path class="st3" d="M342.5,609.5l2.7-0.2c0.1,0.9,0.4,1.6,0.9,2.2s1.2,1,2.2,1.4s2.1,0.5,3.4,0.5c1.1,0,2.1-0.1,2.9-0.4
c0.8-0.3,1.5-0.6,1.9-1.1c0.4-0.5,0.6-1,0.6-1.5c0-0.6-0.2-1.1-0.6-1.5s-1.1-0.8-2-1.1c-0.6-0.2-1.9-0.5-3.9-0.9
c-2-0.4-3.4-0.8-4.2-1.1c-1-0.4-1.8-1-2.3-1.7c-0.5-0.7-0.8-1.4-0.8-2.2c0-0.9,0.3-1.8,0.9-2.5c0.6-0.8,1.5-1.4,2.7-1.8
c1.2-0.4,2.5-0.6,4-0.6c1.6,0,3.1,0.2,4.3,0.6c1.2,0.4,2.2,1.1,2.9,1.9c0.7,0.8,1,1.8,1.1,2.8l-2.8,0.2c-0.1-1.1-0.7-2-1.5-2.6
c-0.9-0.6-2.1-0.9-3.8-0.9c-1.8,0-3,0.3-3.8,0.8c-0.8,0.5-1.2,1.2-1.2,1.9c0,0.6,0.3,1.2,0.9,1.6c0.6,0.4,2,0.8,4.4,1.3
c2.4,0.4,4,0.8,4.8,1.1c1.3,0.5,2.2,1.1,2.8,1.8c0.6,0.7,0.9,1.6,0.9,2.6c0,1-0.3,1.9-1,2.7c-0.7,0.8-1.6,1.5-2.9,2
s-2.7,0.7-4.2,0.7c-2,0-3.6-0.2-5-0.7c-1.3-0.5-2.4-1.2-3.1-2.1C343,611.7,342.6,610.7,342.5,609.5z"/>
</g>
<g class="st2">
<path class="st3" d="M357.3,608.7c0-2.4,0.8-4.2,2.4-5.3c1.4-1,3-1.4,5-1.4c2.2,0,4,0.6,5.3,1.8c1.4,1.2,2.1,2.8,2.1,4.8
c0,1.7-0.3,3-0.9,3.9s-1.5,1.7-2.7,2.2c-1.2,0.5-2.4,0.8-3.8,0.8c-2.2,0-4-0.6-5.4-1.7C358,612.6,357.3,610.9,357.3,608.7z
M360,608.7c0,1.7,0.4,2.9,1.3,3.7c0.9,0.8,2,1.2,3.3,1.2c1.3,0,2.4-0.4,3.3-1.2c0.9-0.8,1.3-2.1,1.3-3.8c0-1.6-0.4-2.8-1.3-3.7
c-0.9-0.8-2-1.2-3.3-1.2c-1.3,0-2.5,0.4-3.3,1.2C360.5,605.8,360,607.1,360,608.7z"/>
</g>
<g class="st2">
<path class="st3" d="M379.3,615.2l-6-13h2.8l3.4,7.8c0.4,0.8,0.7,1.7,1,2.6c0.2-0.7,0.6-1.5,1-2.5l3.5-7.9h2.8l-6,13H379.3z"/>
</g>
<g class="st2">
<path class="st3" d="M388.4,608.7c0-2.4,0.8-4.2,2.4-5.3c1.4-1,3-1.4,5-1.4c2.2,0,4,0.6,5.3,1.8s2.1,2.8,2.1,4.8
c0,1.7-0.3,3-0.9,3.9c-0.6,1-1.5,1.7-2.7,2.2c-1.2,0.5-2.4,0.8-3.8,0.8c-2.2,0-4-0.6-5.4-1.7C389.1,612.6,388.4,610.9,388.4,608.7z
M391.1,608.7c0,1.7,0.4,2.9,1.3,3.7c0.9,0.8,2,1.2,3.3,1.2c1.3,0,2.4-0.4,3.3-1.2c0.9-0.8,1.3-2.1,1.3-3.8c0-1.6-0.4-2.8-1.3-3.7
c-0.9-0.8-2-1.2-3.3-1.2c-1.3,0-2.5,0.4-3.3,1.2C391.6,605.8,391.1,607.1,391.1,608.7z"/>
<path class="st3" d="M406.3,615.2v-17.9h2.7v17.9H406.3z"/>
<path class="st3" d="M420.9,610.5l2.7-0.3c0.3,1.2,0.8,2.1,1.6,2.7s1.6,0.8,2.7,0.8c1.3,0,2.3-0.4,3.2-1.1c0.9-0.7,1.3-1.6,1.3-2.7
c0-1-0.4-1.8-1.2-2.5c-0.8-0.7-1.8-1-3.1-1c-0.5,0-1.1,0.1-1.9,0.2l0.3-1.9c0.2,0,0.3,0,0.4,0c1.1,0,2.2-0.2,3.1-0.7
c0.9-0.5,1.4-1.2,1.4-2.3c0-0.8-0.3-1.5-1-2c-0.7-0.5-1.5-0.8-2.6-0.8c-1,0-1.9,0.3-2.6,0.8s-1.1,1.3-1.3,2.4l-2.7-0.4
c0.3-1.5,1.1-2.6,2.2-3.4s2.6-1.2,4.3-1.2c1.2,0,2.3,0.2,3.3,0.6s1.8,1,2.3,1.7s0.8,1.5,0.8,2.3c0,0.8-0.3,1.5-0.8,2.1
c-0.5,0.6-1.3,1.1-2.3,1.5c1.3,0.2,2.3,0.8,3,1.5c0.7,0.8,1.1,1.7,1.1,2.9c0,1.6-0.7,2.9-2.1,4c-1.4,1.1-3.2,1.6-5.3,1.6
c-1.9,0-3.5-0.5-4.8-1.4C421.8,613.2,421.1,612,420.9,610.5z"/>
<path class="st3" d="M439,615.2v-17.9h7.5c1.7,0,3,0.1,3.9,0.3c1.3,0.2,2.3,0.7,3.2,1.3c1.2,0.8,2,1.8,2.6,3.1s0.9,2.7,0.9,4.3
c0,1.4-0.2,2.6-0.6,3.6c-0.4,1.1-0.9,1.9-1.5,2.6c-0.6,0.7-1.3,1.2-2,1.6c-0.7,0.4-1.6,0.7-2.6,0.9c-1,0.2-2.2,0.3-3.5,0.3H439z
M441.9,613.1h4.7c1.4,0,2.6-0.1,3.4-0.3s1.5-0.5,2-0.9c0.7-0.6,1.2-1.3,1.6-2.3c0.4-1,0.6-2.1,0.6-3.5c0-1.9-0.4-3.3-1.1-4.3
c-0.8-1-1.7-1.7-2.7-2c-0.8-0.2-2-0.4-3.7-0.4h-4.6V613.1z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 26.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 624.8 624.8" style="enable-background:new 0 0 624.8 624.8;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;stroke:#FFFFFF;stroke-width:1.0002;stroke-miterlimit:11.3414;}
.st1{fill:#EFE4E4;stroke:#FFFFFF;stroke-width:1.0002;stroke-miterlimit:11.3414;}
.st2{enable-background:new ;}
.st3{fill:none;stroke:#FFFFFF;stroke-miterlimit:11.3386;}
</style>
<path class="st0" d="M18.3,0.5h594.1c6.4-0.1,11.6,4.9,11.8,11.3l0,0v574.1c0,6.2-5.3,11.2-11.8,11.2H12.3c-6.5,0-11.8-5-11.8-11.2
l0,0V17.5C0.5,8.1,8.5,0.5,18.3,0.5z"/>
<polygon class="st1" points="417,624.3 207.8,624.3 187.5,597.1 437.6,597.1 "/>
<g class="st2">
<path class="st3" d="M269.2,558.8l2.2-0.2c0.1,0.8,0.3,1.5,0.7,2c0.4,0.5,1,1,1.7,1.3c0.8,0.3,1.7,0.5,2.6,0.5
c0.9,0,1.6-0.1,2.3-0.4c0.7-0.2,1.2-0.6,1.5-1s0.5-0.9,0.5-1.4c0-0.5-0.2-1-0.5-1.4c-0.3-0.4-0.8-0.7-1.6-1
c-0.5-0.2-1.5-0.4-3.1-0.8c-1.6-0.4-2.7-0.7-3.3-1c-0.8-0.4-1.4-0.9-1.8-1.5c-0.4-0.6-0.6-1.3-0.6-2c0-0.8,0.2-1.6,0.7-2.3
s1.2-1.3,2.2-1.6c0.9-0.4,2-0.6,3.2-0.6c1.3,0,2.4,0.2,3.4,0.6c1,0.4,1.7,1,2.3,1.7c0.5,0.8,0.8,1.6,0.8,2.6l-2.2,0.2
c-0.1-1-0.5-1.8-1.2-2.4c-0.7-0.5-1.7-0.8-3-0.8c-1.4,0-2.4,0.2-3,0.7s-0.9,1.1-0.9,1.7c0,0.6,0.2,1.1,0.7,1.5
c0.4,0.4,1.6,0.8,3.4,1.2c1.9,0.4,3.1,0.8,3.8,1c1,0.4,1.7,1,2.2,1.7c0.5,0.7,0.7,1.5,0.7,2.3c0,0.9-0.3,1.7-0.8,2.5
c-0.5,0.8-1.3,1.4-2.3,1.8c-1,0.4-2.1,0.6-3.3,0.6c-1.6,0-2.9-0.2-3.9-0.7s-1.9-1.1-2.5-2C269.6,560.8,269.3,559.9,269.2,558.8z"/>
</g>
<g class="st2">
<path class="st3" d="M280.9,558.1c0-2.2,0.6-3.8,1.9-4.9c1.1-0.9,2.4-1.3,3.9-1.3c1.7,0,3.1,0.5,4.2,1.6c1.1,1.1,1.6,2.6,1.6,4.4
c0,1.5-0.2,2.7-0.7,3.6c-0.5,0.9-1.2,1.6-2.1,2c-0.9,0.5-1.9,0.7-3,0.7c-1.8,0-3.2-0.5-4.2-1.6
C281.4,561.6,280.9,560.1,280.9,558.1z M283,558.1c0,1.5,0.3,2.7,1,3.4c0.7,0.8,1.6,1.1,2.6,1.1c1.1,0,1.9-0.4,2.6-1.1s1-1.9,1-3.5
c0-1.5-0.4-2.6-1.1-3.3s-1.6-1.1-2.6-1.1c-1.1,0-1.9,0.4-2.6,1.1C283.4,555.4,283,556.6,283,558.1z"/>
</g>
<g class="st2">
<path class="st3" d="M298.1,564l-4.8-11.9h2.2l2.7,7.1c0.3,0.8,0.6,1.6,0.8,2.4c0.2-0.6,0.5-1.4,0.8-2.3l2.8-7.3h2.2l-4.7,11.9
H298.1z"/>
</g>
<g class="st2">
<path class="st3" d="M305.3,558.1c0-2.2,0.6-3.8,1.9-4.9c1.1-0.9,2.4-1.3,3.9-1.3c1.7,0,3.1,0.5,4.2,1.6c1.1,1.1,1.6,2.6,1.6,4.4
c0,1.5-0.2,2.7-0.7,3.6c-0.5,0.9-1.2,1.6-2.1,2c-0.9,0.5-1.9,0.7-3,0.7c-1.8,0-3.2-0.5-4.2-1.6
C305.8,561.6,305.3,560.1,305.3,558.1z M307.5,558.1c0,1.5,0.3,2.7,1,3.4c0.7,0.8,1.6,1.1,2.6,1.1c1.1,0,1.9-0.4,2.6-1.1
s1-1.9,1-3.5c0-1.5-0.4-2.6-1.1-3.3s-1.6-1.1-2.6-1.1c-1.1,0-1.9,0.4-2.6,1.1C307.8,555.4,307.5,556.6,307.5,558.1z"/>
<path class="st3" d="M319.4,564v-16.4h2.1V564H319.4z"/>
<path class="st3" d="M331,559.7l2.1-0.3c0.2,1.1,0.7,2,1.2,2.5c0.6,0.5,1.3,0.8,2.1,0.8c1,0,1.8-0.3,2.5-1c0.7-0.7,1-1.5,1-2.4
c0-0.9-0.3-1.7-1-2.3s-1.4-0.9-2.4-0.9c-0.4,0-0.9,0.1-1.5,0.2l0.2-1.8c0.1,0,0.3,0,0.3,0c0.9,0,1.7-0.2,2.4-0.7s1.1-1.1,1.1-2.1
c0-0.7-0.3-1.4-0.8-1.8c-0.5-0.5-1.2-0.7-2-0.7c-0.8,0-1.5,0.2-2.1,0.7c-0.5,0.5-0.9,1.2-1.1,2.2l-2.1-0.4c0.3-1.4,0.8-2.4,1.8-3.1
c0.9-0.7,2.1-1.1,3.4-1.1c0.9,0,1.8,0.2,2.6,0.6c0.8,0.4,1.4,0.9,1.8,1.6c0.4,0.7,0.6,1.4,0.6,2.1c0,0.7-0.2,1.4-0.6,1.9
s-1,1-1.8,1.4c1,0.2,1.8,0.7,2.4,1.4c0.6,0.7,0.8,1.6,0.8,2.7c0,1.4-0.5,2.7-1.6,3.7c-1.1,1-2.5,1.5-4.2,1.5
c-1.5,0-2.8-0.4-3.8-1.3C331.7,562.2,331.1,561.1,331,559.7z"/>
<path class="st3" d="M345.2,564v-16.4h5.9c1.3,0,2.4,0.1,3.1,0.2c1,0.2,1.8,0.6,2.5,1.2c0.9,0.7,1.6,1.7,2,2.8s0.7,2.4,0.7,3.9
c0,1.2-0.2,2.4-0.5,3.3c-0.3,1-0.7,1.8-1.2,2.4c-0.5,0.6-1,1.1-1.6,1.5c-0.6,0.4-1.3,0.6-2.1,0.8s-1.7,0.3-2.8,0.3H345.2z
M347.5,562.1h3.7c1.1,0,2-0.1,2.7-0.3c0.6-0.2,1.2-0.5,1.5-0.9c0.5-0.5,1-1.2,1.3-2.1c0.3-0.9,0.5-1.9,0.5-3.2c0-1.7-0.3-3-0.9-4
c-0.6-0.9-1.3-1.5-2.2-1.9c-0.6-0.2-1.6-0.3-3-0.3h-3.6V562.1z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

File diff suppressed because it is too large Load Diff

View File

@ -49,23 +49,17 @@ if (SLIC3R_GUI)
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
set (wxWidgets_CONFIG_OPTIONS "--toolkit=gtk${SLIC3R_GTK}")
if (SLIC3R_WX_STABLE)
find_package(wxWidgets 3.0 REQUIRED COMPONENTS base core adv html gl)
else ()
find_package(wxWidgets 3.1 QUIET COMPONENTS base core adv html gl)
find_package(wxWidgets 3.1.6 QUIET COMPONENTS base core adv html gl)
if (NOT wxWidgets_FOUND)
message(FATAL_ERROR "\nCould not find wxWidgets 3.1.\n"
"Hint: On Linux you can set -DSLIC3R_WX_STABLE=1 to use wxWidgets 3.0\n")
endif ()
message(FATAL_ERROR "Could not find wxWidgets >= 3.1.6")
endif ()
include(${wxWidgets_USE_FILE})
else ()
find_package(wxWidgets 3.1 COMPONENTS html adv gl core base)
find_package(wxWidgets 3.1.6 COMPONENTS html adv gl core base)
if (NOT wxWidgets_FOUND)
message(STATUS "Trying to find wxWidgets in CONFIG mode...")
find_package(wxWidgets 3.2 CONFIG REQUIRED COMPONENTS html adv gl core base)
find_package(wxWidgets 3.1.6 CONFIG REQUIRED COMPONENTS html adv gl core base)
slic3r_remap_configs(wx::wxhtml wx::wxadv wx::wxgl wx::wxcore wx::wxbase RelWithDebInfo Release)
else ()
include(${wxWidgets_USE_FILE})