Compare commits
238 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
988f419802 | ||
|
|
947edbc7eb | ||
|
|
461688262b | ||
|
|
a50f1155c0 | ||
|
|
e98c493bc9 | ||
|
|
ee83a907c7 | ||
|
|
cc57492e35 | ||
|
|
73f7cad391 | ||
|
|
6f9a6b8462 | ||
|
|
7e7d699e43 | ||
|
|
b15deeb656 | ||
|
|
0ae9828154 | ||
|
|
ffc9a88c31 | ||
|
|
4386e44453 | ||
|
|
0eb68458ad | ||
|
|
89ea2eb722 | ||
|
|
2c26a369bf | ||
|
|
24cc4a0e1d | ||
|
|
748e5f2db2 | ||
|
|
7529de7fe1 | ||
|
|
e0c8038c88 | ||
|
|
629a8a4ec7 | ||
|
|
4797f4743b | ||
|
|
29f208134f | ||
|
|
0cfd8657bb | ||
|
|
829d653759 | ||
|
|
8596fa2ce6 | ||
|
|
62d1ffbd78 | ||
|
|
1d1167eb6b | ||
|
|
45117df1b5 | ||
|
|
283e36df16 | ||
|
|
971cc5833c | ||
|
|
9ce2c02f70 | ||
|
|
4198b7a116 | ||
|
|
6b00c47546 | ||
|
|
7c85b11ac8 | ||
|
|
87d9e1e953 | ||
|
|
a42b7a0880 | ||
|
|
fe357e6de4 | ||
|
|
cb4f6b9da4 | ||
|
|
c9ec3da208 | ||
|
|
a616ed7278 | ||
|
|
cfc606fea9 | ||
|
|
17c9bfd127 | ||
|
|
d27a42ce90 | ||
|
|
1de2a4841c | ||
|
|
8c610a76ba | ||
|
|
5a04c0e5bf | ||
|
|
1f38488c27 | ||
|
|
f3d619b9b8 | ||
|
|
7db4414838 | ||
|
|
b2ca6dda6a | ||
|
|
ab349ad81b | ||
|
|
53b881144c | ||
|
|
ecff478fd4 | ||
|
|
43fc6f262a | ||
|
|
18a0c7bd80 | ||
|
|
007578e041 | ||
|
|
e6b82214e5 | ||
|
|
5ed1560c59 | ||
|
|
a6ed4e65cb | ||
|
|
ca82d85cc2 | ||
|
|
f69a71d1f5 | ||
|
|
e61c252aee | ||
|
|
146a4a15ed | ||
|
|
4bdb7b76df | ||
|
|
9509b4ffab | ||
|
|
8413db6570 | ||
|
|
bebee387c5 | ||
|
|
7e1ce117f7 | ||
|
|
a23a37cbca | ||
|
|
df89ee4f35 | ||
|
|
141752edf2 | ||
|
|
7a86f18bac | ||
|
|
61424985ac | ||
|
|
ad0b449ad4 | ||
|
|
6e8f38f01a | ||
|
|
24cff06406 | ||
|
|
4277d8118c | ||
|
|
7de8f0817f | ||
|
|
4e223315f8 | ||
|
|
db53ba056c | ||
|
|
5005a1df1b | ||
|
|
2b8deba938 | ||
|
|
6cf7a38bb9 | ||
|
|
be65279049 | ||
|
|
aca63cc7e0 | ||
|
|
90f64f7151 | ||
|
|
84312d4cb8 | ||
|
|
df194b11c8 | ||
|
|
8e9d4777f4 | ||
|
|
5d9df179dd | ||
|
|
8912079f62 | ||
|
|
e505af5cc7 | ||
|
|
11bda61bc8 | ||
|
|
4c9bbc53a3 | ||
|
|
e9146c950a | ||
|
|
3d288f47b1 | ||
|
|
69126621fc | ||
|
|
b7e961c443 | ||
|
|
5b5ff0a1eb | ||
|
|
e033b37e75 | ||
|
|
f25014959b | ||
|
|
78513b7b86 | ||
|
|
0fe9657904 | ||
|
|
f0c70857ae | ||
|
|
e21feab522 | ||
|
|
5b7a66b64c | ||
|
|
c2d1c70e10 | ||
|
|
a1c4285ffc | ||
|
|
ad0215fa2f | ||
|
|
8ef53eceee | ||
|
|
9e5911b2c3 | ||
|
|
4e0134d651 | ||
|
|
783b825007 | ||
|
|
201cb4a2fd | ||
|
|
125abfca57 | ||
|
|
e77259c80b | ||
|
|
0b00c61781 | ||
|
|
13d99fd843 | ||
|
|
f743590509 | ||
|
|
323538586d | ||
|
|
cb05d9d4a0 | ||
|
|
01cbd4c5d4 | ||
|
|
25062b9f99 | ||
|
|
d4f6c80a43 | ||
|
|
ee237cfc16 | ||
|
|
a9889b297e | ||
|
|
508ba0444c | ||
|
|
090eebdabc | ||
|
|
5368acee65 | ||
|
|
c2b5393b82 | ||
|
|
4404fdc03c | ||
|
|
8c0b581581 | ||
|
|
96b64539e2 | ||
|
|
e768b990a8 | ||
|
|
a2ddbe8eb4 | ||
|
|
a3e0809506 | ||
|
|
b13c47456b | ||
|
|
6121002516 | ||
|
|
8fa61058d4 | ||
|
|
0053429d72 | ||
|
|
da44f549e1 | ||
|
|
04ad174e91 | ||
|
|
9c52fb3733 | ||
|
|
128a023c41 | ||
|
|
b9452a91a2 | ||
|
|
cc68470ac8 | ||
|
|
0de9767ff0 | ||
|
|
3217389d20 | ||
|
|
05d820c13d | ||
|
|
68553eba55 | ||
|
|
6e4ada127d | ||
|
|
4d2d510050 | ||
|
|
825c980cef | ||
|
|
2a46a2f415 | ||
|
|
ea3407798b | ||
|
|
9917cfeb69 | ||
|
|
d06a7dfa89 | ||
|
|
ecde3d5864 | ||
|
|
446c2c4e75 | ||
|
|
2466489049 | ||
|
|
b9997e7ee2 | ||
|
|
b6d7c8a367 | ||
|
|
05e2b540ab | ||
|
|
0491f84149 | ||
|
|
88c9efa548 | ||
|
|
e6a64eb5cb | ||
|
|
a630648563 | ||
|
|
d884ef371d | ||
|
|
2f86351eab | ||
|
|
eeeb2a5437 | ||
|
|
8153dcc1b1 | ||
|
|
65a85dae84 | ||
|
|
2b269ea194 | ||
|
|
63f899f4a5 | ||
|
|
4d6feb71b9 | ||
|
|
d783651751 | ||
|
|
9b04886c3a | ||
|
|
3a99562743 | ||
|
|
5183107d79 | ||
|
|
8c672c53c7 | ||
|
|
3039c76417 | ||
|
|
f33a08f704 | ||
|
|
5ccb55ff98 | ||
|
|
764ce01063 | ||
|
|
58e2343a2e | ||
|
|
6485825ad8 | ||
|
|
2387bc9cdb | ||
|
|
63daf0c087 | ||
|
|
516d3a3313 | ||
|
|
470b3a19ed | ||
|
|
759c6732b8 | ||
|
|
c31585e5ba | ||
|
|
8cca851e84 | ||
|
|
00718edfa7 | ||
|
|
f82a8a4ca1 | ||
|
|
4407c9eb62 | ||
|
|
74f7fce027 | ||
|
|
354224679e | ||
|
|
92119cf9f5 | ||
|
|
0401c46f99 | ||
|
|
9d43e47a54 | ||
|
|
354ae2e282 | ||
|
|
4ffa594874 | ||
|
|
e795f88c09 | ||
|
|
e7028531e0 | ||
|
|
0d1dd29341 | ||
|
|
c56cfdb727 | ||
|
|
bfc036deae | ||
|
|
87ab8bd8dd | ||
|
|
ce3ad490b7 | ||
|
|
74d0317dd0 | ||
|
|
1c9ce7ec05 | ||
|
|
2a8cdc3414 | ||
|
|
cea37f9f7d | ||
|
|
48ed13e6f1 | ||
|
|
7a7fb7da00 | ||
|
|
02857e3fd8 | ||
|
|
8cb30a7329 | ||
|
|
1fc08d237c | ||
|
|
ee616bbbb6 | ||
|
|
30e9b00baf | ||
|
|
172b1893e2 | ||
|
|
04b1c22cc6 | ||
|
|
2046b2f21f | ||
|
|
1eb7e979b0 | ||
|
|
82f75eb146 | ||
|
|
7c6e614b3b | ||
|
|
76aaf50055 | ||
|
|
d76b009f40 | ||
|
|
ca4f336d62 | ||
|
|
9856ad7031 | ||
|
|
f6271b0c90 | ||
|
|
bc68a07f47 | ||
|
|
ec446edb36 | ||
|
|
4c3e3eea6d | ||
|
|
4bdbc32044 |
@@ -3,11 +3,11 @@
|
||||
#
|
||||
Language: Cpp
|
||||
AccessModifierOffset: -4
|
||||
AlignAfterOpenBracket: Align
|
||||
AlignConsecutiveAssignments: true
|
||||
AlignConsecutiveDeclarations: true
|
||||
AlignAfterOpenBracket: BlockIndent
|
||||
AlignConsecutiveAssignments: false
|
||||
AlignConsecutiveDeclarations: false
|
||||
AlignEscapedNewlines: DontAlign
|
||||
AlignOperands: true
|
||||
AlignOperands: false
|
||||
AlignTrailingComments: true
|
||||
AllowAllParametersOfDeclarationOnNextLine: true
|
||||
AllowShortBlocksOnASingleLine: true
|
||||
@@ -25,7 +25,7 @@ BraceWrapping:
|
||||
AfterClass: true
|
||||
AfterControlStatement: false
|
||||
AfterEnum: false
|
||||
AfterFunction: true
|
||||
AfterFunction: false
|
||||
AfterNamespace: false
|
||||
AfterObjCDeclaration: false
|
||||
AfterStruct: true
|
||||
@@ -46,7 +46,7 @@ BreakConstructorInitializersBeforeComma: false
|
||||
BreakConstructorInitializers: BeforeComma
|
||||
BreakAfterJavaFieldAnnotations: false
|
||||
BreakStringLiterals: true
|
||||
ColumnLimit: 140
|
||||
ColumnLimit: 100
|
||||
CommentPragmas: '^ IWYU pragma:'
|
||||
CompactNamespaces: true
|
||||
ConstructorInitializerAllOnOneLineOrOnePerLine: true
|
||||
@@ -95,6 +95,7 @@ PenaltyBreakString: 600
|
||||
PenaltyBreakTemplateDeclaration: 10
|
||||
PenaltyExcessCharacter: 50
|
||||
PenaltyReturnTypeOnItsOwnLine: 300
|
||||
PenaltyIndentedWhitespace: 10
|
||||
PointerAlignment: Right
|
||||
ReflowComments: true
|
||||
SortIncludes: false
|
||||
|
||||
2
.gitignore
vendored
@@ -12,7 +12,6 @@ xs/MANIFEST.bak
|
||||
xs/assertlib*
|
||||
.init_bundle.ini
|
||||
.vs/*
|
||||
local-lib
|
||||
/src/TAGS
|
||||
/.vscode/
|
||||
build-linux/*
|
||||
@@ -22,3 +21,4 @@ deps/build-linux/*
|
||||
**/.idea/
|
||||
.pkg_cache
|
||||
CMakeUserPresets.json
|
||||
/src/slic3r/QIDI
|
||||
|
||||
132
Build.PL
@@ -1,132 +0,0 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
print "This script is currently used for installing Perl dependenices for running\n";
|
||||
print "the libslic3r unit / integration tests through Perl prove.\n";
|
||||
print "If you don't plan to run the unit / integration tests, you don't need to\n";
|
||||
print "install these dependencies to build and run QIDISlicer.\n";
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use Config;
|
||||
use File::Spec;
|
||||
|
||||
my %prereqs = qw(
|
||||
Devel::CheckLib 0
|
||||
ExtUtils::MakeMaker 6.80
|
||||
ExtUtils::ParseXS 3.22
|
||||
ExtUtils::XSpp 0
|
||||
ExtUtils::XSpp::Cmd 0
|
||||
ExtUtils::CppGuess 0
|
||||
ExtUtils::Typemaps 0
|
||||
ExtUtils::Typemaps::Basic 0
|
||||
File::Basename 0
|
||||
File::Spec 0
|
||||
Getopt::Long 0
|
||||
Module::Build::WithXSpp 0.14
|
||||
Moo 1.003001
|
||||
POSIX 0
|
||||
Scalar::Util 0
|
||||
Test::More 0
|
||||
IO::Scalar 0
|
||||
Time::HiRes 0
|
||||
);
|
||||
my %recommends = qw(
|
||||
Class::XSAccessor 0
|
||||
Test::Harness 0
|
||||
);
|
||||
|
||||
my $sudo = grep { $_ eq '--sudo' } @ARGV;
|
||||
my $nolocal = grep { $_ eq '--nolocal' } @ARGV;
|
||||
|
||||
my @missing_prereqs = ();
|
||||
if ($ENV{SLIC3R_NO_AUTO}) {
|
||||
foreach my $module (sort keys %prereqs) {
|
||||
my $version = $prereqs{$module};
|
||||
next if eval "use $module $version; 1";
|
||||
push @missing_prereqs, $module if exists $prereqs{$module};
|
||||
print "Missing prerequisite $module $version\n";
|
||||
}
|
||||
foreach my $module (sort keys %recommends) {
|
||||
my $version = $recommends{$module};
|
||||
next if eval "use $module $version; 1";
|
||||
print "Missing optional $module $version\n";
|
||||
}
|
||||
} else {
|
||||
my @try = (
|
||||
$ENV{CPANM} // (),
|
||||
File::Spec->catfile($Config{sitebin}, 'cpanm'),
|
||||
File::Spec->catfile($Config{installscript}, 'cpanm'),
|
||||
);
|
||||
|
||||
my $cpanm;
|
||||
foreach my $path (@try) {
|
||||
if (-e $path) { # don't use -x because it fails on Windows
|
||||
$cpanm = $path;
|
||||
last;
|
||||
}
|
||||
}
|
||||
if (!$cpanm) {
|
||||
if ($^O =~ /^(?:darwin|linux)$/ && system(qw(which cpanm)) == 0) {
|
||||
$cpanm = 'cpanm';
|
||||
}
|
||||
}
|
||||
die <<'EOF'
|
||||
cpanm was not found. Please install it before running this script.
|
||||
|
||||
There are several ways to install cpanm, try one of these:
|
||||
|
||||
apt-get install cpanminus
|
||||
curl -L http://cpanmin.us | perl - --sudo App::cpanminus
|
||||
cpan App::cpanminus
|
||||
|
||||
If it is installed in a non-standard location you can do:
|
||||
|
||||
CPANM=/path/to/cpanm perl Build.PL
|
||||
|
||||
EOF
|
||||
if !$cpanm;
|
||||
my @cpanm_args = ();
|
||||
push @cpanm_args, "--sudo" if $sudo;
|
||||
|
||||
# install local::lib without --local-lib otherwise it's not usable afterwards
|
||||
if (!eval "use local::lib qw(local-lib); 1") {
|
||||
my $res = system $cpanm, @cpanm_args, 'local::lib';
|
||||
warn "Warning: local::lib is required. You might need to run the `cpanm --sudo local::lib` command in order to install it.\n"
|
||||
if $res != 0;
|
||||
}
|
||||
|
||||
push @cpanm_args, ('--local-lib', 'local-lib') if ! $nolocal;
|
||||
|
||||
# make sure our cpanm is updated (old ones don't support the ~ syntax)
|
||||
system $cpanm, @cpanm_args, 'App::cpanminus';
|
||||
|
||||
my %modules = (%prereqs, %recommends);
|
||||
foreach my $module (sort keys %modules) {
|
||||
my $version = $modules{$module};
|
||||
my @cmd = ($cpanm, @cpanm_args);
|
||||
|
||||
# temporary workaround for upstream bug in test
|
||||
push @cmd, '--notest'
|
||||
if $module =~ /^(?:OpenGL|Test::Harness)$/;
|
||||
|
||||
push @cmd, "$module~$version";
|
||||
|
||||
my $res = system @cmd;
|
||||
if ($res != 0) {
|
||||
if (exists $prereqs{$module}) {
|
||||
push @missing_prereqs, $module;
|
||||
} else {
|
||||
printf "Don't worry, this module is optional.\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
print "\n";
|
||||
print "In the next step, you need to build the QIDISlicer C++ library.\n";
|
||||
print "1) Create a build directory and change to it\n";
|
||||
print "2) run cmake .. -DCMAKE_BUILD_TYPE=Release\n";
|
||||
print "3) run make\n";
|
||||
print "4) to execute the automatic tests, run ctest --verbose\n";
|
||||
__END__
|
||||
@@ -28,12 +28,16 @@ option(SLIC3R_GUI "Compile QIDISlicer with GUI components (OpenGL, wxWidge
|
||||
option(SLIC3R_FHS "Assume QIDISlicer is to be installed in a FHS directory structure" 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)
|
||||
option(SLIC3R_PERL_XS "Compile XS Perl module and enable Perl unit and integration tests" 0)
|
||||
option(SLIC3R_ASAN "Enable ASan on Clang and GCC" 0)
|
||||
option(SLIC3R_UBSAN "Enable UBSan on Clang and GCC" 0)
|
||||
option(SLIC3R_ENABLE_FORMAT_STEP "Enable compilation of STEP file support" ON)
|
||||
# If SLIC3R_FHS is 1 -> SLIC3R_DESKTOP_INTEGRATION is always 0, othrewise variable.
|
||||
option(SLIC3R_LOG_TO_FILE "Enable logging into file")
|
||||
option(SLIC3R_REPO_URL "Preset repo URL")
|
||||
|
||||
# SLIC3R_OPENGL_ES can be enabled only if SLIC3R_GUI is enabled.
|
||||
CMAKE_DEPENDENT_OPTION(SLIC3R_OPENGL_ES "Compile QIDISlicer targeting OpenGL ES" OFF "SLIC3R_GUI" OFF)
|
||||
|
||||
# If SLIC3R_FHS is 1 -> SLIC3R_DESKTOP_INTEGRATION is always 0, otherwise variable.
|
||||
CMAKE_DEPENDENT_OPTION(SLIC3R_DESKTOP_INTEGRATION "Allow perfoming desktop integration during runtime" 1 "NOT SLIC3R_FHS" 0)
|
||||
|
||||
set(OPENVDB_FIND_MODULE_PATH "" CACHE PATH "Path to OpenVDB installation's find modules.")
|
||||
@@ -58,6 +62,7 @@ set(${PROJECT_NAME}_DEPS_BUILD_DIR "" CACHE PATH "Binary dir of the dependencies
|
||||
if (${PROJECT_NAME}_BUILD_DEPS)
|
||||
include(deps/autobuild.cmake)
|
||||
endif ()
|
||||
|
||||
if (APPLE)
|
||||
set(CMAKE_FIND_FRAMEWORK LAST)
|
||||
set(CMAKE_FIND_APPBUNDLE LAST)
|
||||
@@ -72,7 +77,6 @@ option(SLIC3R_BUILD_TESTS "Build unit tests" ON)
|
||||
|
||||
if (IS_CROSS_COMPILE)
|
||||
message("Detected cross compilation setup. Tests and encoding checks will be forcedly disabled!")
|
||||
set(SLIC3R_PERL_XS OFF CACHE BOOL "" FORCE)
|
||||
set(SLIC3R_BUILD_TESTS OFF CACHE BOOL "" FORCE)
|
||||
endif ()
|
||||
|
||||
@@ -85,10 +89,20 @@ foreach (_cache_var ${_cache_vars})
|
||||
endif ()
|
||||
endforeach()
|
||||
|
||||
if (SLIC3R_LOG_TO_FILE)
|
||||
add_definitions(-DSLIC3R_LOG_TO_FILE)
|
||||
endif ()
|
||||
if (SLIC3R_REPO_URL)
|
||||
add_definitions(-DSLIC3R_REPO_URL="${SLIC3R_REPO_URL}")
|
||||
endif()
|
||||
if (SLIC3R_GUI)
|
||||
add_definitions(-DSLIC3R_GUI)
|
||||
endif ()
|
||||
|
||||
if (SLIC3R_OPENGL_ES)
|
||||
add_definitions(-DSLIC3R_OPENGL_ES)
|
||||
endif()
|
||||
|
||||
if(SLIC3R_DESKTOP_INTEGRATION)
|
||||
add_definitions(-DSLIC3R_DESKTOP_INTEGRATION)
|
||||
endif ()
|
||||
@@ -165,10 +179,6 @@ if(NOT WIN32)
|
||||
add_compile_options("$<$<CONFIG:DEBUG>:-DDEBUG>")
|
||||
endif()
|
||||
|
||||
# To be able to link libslic3r with the Perl XS module.
|
||||
# Once we get rid of Perl and libslic3r is linked statically, we can get rid of -fPIC
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
# WIN10SDK_PATH is used to point CMake to the WIN10 SDK installation directory.
|
||||
# We pick it from environment if it is not defined in another way
|
||||
if(WIN32)
|
||||
@@ -178,8 +188,8 @@ if(WIN32)
|
||||
endif()
|
||||
endif()
|
||||
if(DEFINED WIN10SDK_PATH)
|
||||
if (EXISTS "${WIN10SDK_PATH}/winrt/windows.graphics.printing3d.h")
|
||||
set(WIN10SDK_INCLUDE_PATH "${WIN10SDK_PATH}")
|
||||
if (EXISTS "${WIN10SDK_PATH}/include/winrt/windows.graphics.printing3d.h")
|
||||
set(WIN10SDK_INCLUDE_PATH "${WIN10SDK_PATH}/Include")
|
||||
else()
|
||||
message("WIN10SDK_PATH is invalid: ${WIN10SDK_PATH}")
|
||||
message("${WIN10SDK_PATH}/include/winrt/windows.graphics.printing3d.h was not found")
|
||||
@@ -225,8 +235,7 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
||||
find_package(Threads REQUIRED)
|
||||
|
||||
find_package(DBus REQUIRED)
|
||||
include_directories(${DBUS_INCLUDE_DIRS})
|
||||
find_package(DBus1 REQUIRED)
|
||||
endif()
|
||||
|
||||
if (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUXX)
|
||||
@@ -319,11 +328,7 @@ if (APPLE)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror=partial-availability -Werror=unguarded-availability -Werror=unguarded-availability-new")
|
||||
endif ()
|
||||
|
||||
# Where all the bundled libraries reside?
|
||||
set(LIBDIR ${CMAKE_CURRENT_SOURCE_DIR}/src)
|
||||
set(LIBDIR_BIN ${CMAKE_CURRENT_BINARY_DIR}/src)
|
||||
# For the bundled boost libraries (boost::nowide)
|
||||
include_directories(${LIBDIR})
|
||||
# For generated header files
|
||||
include_directories(${LIBDIR_BIN}/platform)
|
||||
|
||||
@@ -354,10 +359,12 @@ endif()
|
||||
# set(Boost_COMPILER "-mgw81")
|
||||
# boost::process was introduced first in version 1.64.0,
|
||||
# boost::beast::detail::base64 was introduced first in version 1.66.0
|
||||
set(MINIMUM_BOOST_VERSION "1.66.0")
|
||||
set(_boost_components "system;filesystem;thread;log;locale;regex;chrono;atomic;date_time;iostreams")
|
||||
set(MINIMUM_BOOST_VERSION "1.83.0")
|
||||
set(_boost_components "system;filesystem;thread;log;locale;regex;chrono;atomic;date_time;iostreams;nowide")
|
||||
find_package(Boost ${MINIMUM_BOOST_VERSION} REQUIRED COMPONENTS ${_boost_components})
|
||||
|
||||
find_package(Eigen3 3.3.7 REQUIRED)
|
||||
|
||||
add_library(boost_libs INTERFACE)
|
||||
add_library(boost_headeronly INTERFACE)
|
||||
|
||||
@@ -438,26 +445,18 @@ endif()
|
||||
|
||||
## OPTIONAL packages
|
||||
|
||||
# Find eigen3 or use bundled version
|
||||
if (NOT SLIC3R_STATIC)
|
||||
find_package(Eigen3 3.3)
|
||||
endif ()
|
||||
if (NOT EIGEN3_FOUND)
|
||||
set(EIGEN3_FOUND 1)
|
||||
set(EIGEN3_INCLUDE_DIR ${LIBDIR}/eigen/)
|
||||
endif ()
|
||||
include_directories(BEFORE SYSTEM ${EIGEN3_INCLUDE_DIR})
|
||||
|
||||
# Find expat. We have our overriden FindEXPAT which exports libexpat target
|
||||
# no matter what.
|
||||
find_package(EXPAT REQUIRED)
|
||||
|
||||
add_library(libexpat INTERFACE)
|
||||
|
||||
if (TARGET EXPAT::EXPAT )
|
||||
if (TARGET EXPAT::EXPAT ) # found by a newer Find script
|
||||
target_link_libraries(libexpat INTERFACE EXPAT::EXPAT)
|
||||
elseif(TARGET expat::expat)
|
||||
elseif(TARGET expat::expat) # found by a config script
|
||||
target_link_libraries(libexpat INTERFACE expat::expat)
|
||||
else() # found by an older Find script
|
||||
target_link_libraries(libexpat INTERFACE ${EXPAT_LIBRARIES})
|
||||
endif ()
|
||||
|
||||
find_package(PNG REQUIRED)
|
||||
@@ -598,23 +597,16 @@ function(qidislicer_copy_dlls target)
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${TOP_LEVEL_PROJECT_DIR}/deps/+MPFR/mpfr/lib/win${_bits}/libmpfr-4.dll ${_out_dir}
|
||||
COMMENT "Copy mpfr runtime to build tree"
|
||||
VERBATIM)
|
||||
|
||||
endfunction()
|
||||
|
||||
|
||||
add_subdirectory(build-utils)
|
||||
add_subdirectory(bundled_deps)
|
||||
# libslic3r, QIDISlicer GUI and the QIDISlicer executable.
|
||||
add_subdirectory(src)
|
||||
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT QIDISlicer_app_console)
|
||||
|
||||
add_dependencies(gettext_make_pot hintsToPot)
|
||||
|
||||
# Perl bindings, currently only used for the unit / integration tests of libslic3r.
|
||||
# Also runs the unit / integration tests.
|
||||
#FIXME Port the tests into C++ to finally get rid of the Perl!
|
||||
if (SLIC3R_PERL_XS)
|
||||
add_subdirectory(xs)
|
||||
endif ()
|
||||
|
||||
if(SLIC3R_BUILD_SANDBOXES)
|
||||
add_subdirectory(sandboxes)
|
||||
endif()
|
||||
@@ -624,7 +616,6 @@ if(SLIC3R_BUILD_TESTS)
|
||||
endif()
|
||||
|
||||
|
||||
# Resources install target, configure fhs.hpp on UNIX
|
||||
if (WIN32)
|
||||
install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "${CMAKE_INSTALL_PREFIX}/resources")
|
||||
elseif (SLIC3R_FHS)
|
||||
@@ -644,10 +635,10 @@ elseif (SLIC3R_FHS)
|
||||
)
|
||||
endforeach()
|
||||
install(DIRECTORY ${SLIC3R_RESOURCES_DIR}/udev/ DESTINATION lib/udev/rules.d)
|
||||
target_compile_definitions(QIDISlicer PUBLIC SLIC3R_FHS SLIC3R_FHS_RESOURCES="${SLIC3R_FHS_RESOURCES}")
|
||||
else ()
|
||||
install(FILES src/platform/unix/QIDISlicer.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/resources/applications)
|
||||
install(FILES src/platform/unix/QIDIGcodeviewer.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/resources/applications)
|
||||
install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "${CMAKE_INSTALL_PREFIX}/resources")
|
||||
endif ()
|
||||
|
||||
configure_file(${LIBDIR}/platform/unix/fhs.hpp.in ${LIBDIR_BIN}/platform/unix/fhs.hpp)
|
||||
|
||||
10
LICENSE
@@ -1,7 +1,7 @@
|
||||
GNU AFFERO GENERAL PUBLIC LICENSE
|
||||
Version 3, 19 November 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
@@ -633,8 +633,8 @@ the "copyright" line and a pointer to where the full notice is found.
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published
|
||||
by the Free Software Foundation, either version 3 of the License, or
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
@@ -643,7 +643,7 @@ the "copyright" line and a pointer to where the full notice is found.
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
@@ -658,4 +658,4 @@ specific requirements.
|
||||
You should also get your employer (if you work as a programmer) or school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||
For more information on this, and how to apply and follow the GNU AGPL, see
|
||||
<https://www.gnu.org/licenses/>.
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
@@ -1,103 +0,0 @@
|
||||
{
|
||||
"build_systems":
|
||||
[
|
||||
{
|
||||
"name": "List",
|
||||
//"file_regex": " at ([^-\\s]*) line ([0-9]*)",
|
||||
// "file_regex": " at (D\\:\\/src\\/Slic3r\\/.*?) line ([0-9]*)",
|
||||
"shell_cmd": "ls -l"
|
||||
},
|
||||
{
|
||||
"name": "Run",
|
||||
"working_dir": "$project_path",
|
||||
"file_regex": " at (.*?) line ([0-9]*)",
|
||||
// "shell_cmd": "chdir & perl slic3r.pl --DataDir \"C:\\Users\\Public\\Documents\\QIDI3D\\Slic3r settings MK2\" --gui \"..\\Slic3r-tests\\gap fill torture 20 -rt.stl\""
|
||||
"shell_cmd": "chdir & perl slic3r.pl"
|
||||
},
|
||||
{
|
||||
"name": "full",
|
||||
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
|
||||
"shell_cmd": "chdir & perl Build.pl"
|
||||
},
|
||||
{
|
||||
"name": "xs",
|
||||
"working_dir": "$project_path/build",
|
||||
// for Visual Studio:
|
||||
"file_regex": "^(..[^:]*)\\(([0-9]+)\\)(.*)$",
|
||||
// For GCC:
|
||||
// "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
|
||||
"shell_cmd": "chdir & ninja -j 6 -v",
|
||||
"env": {
|
||||
// "PATH": "C:\\Program Files (x86)\\MSBuild\\12.0\\bin\\amd64;C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\BIN\\amd64;C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\Common7\\IDE;C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\Common7\\Tools;%PATH%;c:\\wperl64d\\site\\bin;c:\\wperl64d\\bin",
|
||||
// "PERL_CPANM_HOME": "c:\\wperl64d\\cpanm",
|
||||
// "WXDIR": "D:\\src-perl\\wxWidgets-3.0.3-beta1",
|
||||
// "BOOST_DIR": "D:\\src-perl\\boost_1_61_0",
|
||||
// "BOOST_INCLUDEDIR": "D:\\src-perl\\boost_1_61_0",
|
||||
// "BOOST_LIBRARYDIR": "D:\\src-perl\\boost_1_61_0\\stage\\x64\\lib",
|
||||
// "SLIC3R_STATIC": "1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "xs & run",
|
||||
"working_dir": "$project_path/build",
|
||||
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
|
||||
"shell_cmd": "chdir & ninja -j 6 & cd .. & perl slic3r.pl --gui \"..\\Slic3r-tests\\star3-big2.stl\""
|
||||
},
|
||||
{
|
||||
"name": "Slic3r - clean",
|
||||
"working_dir": "$project_path/build",
|
||||
"file_regex": "^(..[^:]*)(?::|\\()([0-9]+)(?::|\\))(?:([0-9]+):)?\\s*(.*)",
|
||||
"shell_cmd": ["chdir & ninja clean"]
|
||||
},
|
||||
{
|
||||
"name": "run tests",
|
||||
"working_dir": "$project_path/build",
|
||||
// for Visual Studio:
|
||||
"file_regex": "^(..[^:]*)\\(([0-9]+)\\)(.*)$",
|
||||
"shell_cmd": "chdir & ctest --verbose"
|
||||
},
|
||||
{
|
||||
"name": "Clean & Configure",
|
||||
"working_dir": "$project_path",
|
||||
// for Visual Studio:
|
||||
"file_regex": "^(..[^:]*)(?::|\\()([0-9]+)(?::|\\))(?:([0-9]+):)?\\s*(.*)",
|
||||
"shell_cmd": "chdir & rmdir /S /Q build & mkdir build & cd build & cmake -G Ninja .. -DCMAKE_COLOR_MAKEFILE=OFF -DCMAKE_RULE_PROGRESS=OFF -DCMAKE_RULE_MESSAGES=OFF -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo"
|
||||
},
|
||||
{
|
||||
"name": "Configure",
|
||||
"working_dir": "$project_path/build",
|
||||
// for Visual Studio:
|
||||
"file_regex": "^(..[^:]*)(?::|\\()([0-9]+)(?::|\\))(?:([0-9]+):)?\\s*(.*)",
|
||||
"shell_cmd": "cmake -G Ninja .. -DCMAKE_COLOR_MAKEFILE=OFF -DCMAKE_RULE_PROGRESS=OFF -DCMAKE_RULE_MESSAGES=OFF -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo"
|
||||
}
|
||||
],
|
||||
"folders":
|
||||
[
|
||||
{
|
||||
"path": ".",
|
||||
// "folder_exclude_patterns": [".svn", "._d", ".metadata", ".settings"],
|
||||
"file_exclude_patterns": ["XS.c", "*.pch", "*.ilk", "*.js" ]
|
||||
}
|
||||
],
|
||||
|
||||
"settings":
|
||||
{
|
||||
"sublimegdb_workingdir": "${folder:${project_path:run}}",
|
||||
// NOTE: You MUST provide --interpreter=mi for the plugin to work
|
||||
// "sublimegdb_commandline": "D:\\Qt\\Tools\\mingw492_32\\bin\\gdb.exe --interpreter=mi -ex 'target localhost:2345'",
|
||||
// "sublimegdb_commandline": "D:\\Qt\\Tools\\mingw492_32\\bin\\gdb.exe --interpreter=mi perl --args perl slic3r.pl",
|
||||
// "sublimegdb_commandline": "D:\\Qt\\Tools\\mingw492_32\\bin\\gdb.exe --interpreter=mi perl --args slic3r.pl ",
|
||||
// "sublimegdb_commandline": "D:\\Qt\\Tools\\mingw492_32\\bin\\gdb.exe --interpreter=mi -e C:\\Strawberry\\perl\\bin\\perl.exe -s C:\\Strawberry\\perl\\site\\lib\\auto\\Slic3r\\XS\\XS.xs.dll --args perl slic3r.pl -j 1 --gui D:\\src\\Slic3r-tests\\star3-big.stl",
|
||||
"sublimegdb_commandline": "D:\\Qt\\Tools\\mingw492_32\\bin\\gdb.exe --interpreter=mi perl.exe --args perl slic3r.pl -j 1 --gui", // D:\\src\\Slic3r-tests\\star3-big.stl",
|
||||
// "sublimegdb_commandline": "D:\\Qt\\Tools\\mingw492_32\\bin\\gdb.exe --interpreter=mi -x slic3r.gdb",
|
||||
// "arguments": "slic3r -j 1 --gui ../Slic3r-tests/star3-big.stl",
|
||||
// "arguments": "../slic3r.pl -j 1 --gui",
|
||||
// "sublimegdb_exec_cmd": "-exec-continue",
|
||||
|
||||
// Add "pending breakpoints" for symbols that are dynamically loaded from
|
||||
// external shared libraries
|
||||
"debug_ext" : true,
|
||||
"run_after_init": false,
|
||||
"close_views": false
|
||||
}
|
||||
}
|
||||
115
README.md
@@ -4,30 +4,123 @@
|
||||
# QIDISlicer
|
||||
QIDISlicer is a professional 3D printer slicing software,which is perfectly compatible with all printers and 3D printing filaments of QIDI Technology. Multi-platform support, simple inerface, easy to use, complate functions, easy to learn 3D printing.
|
||||
|
||||
**Notice:QIDISlicer as a new software dedicated to QIDI's new high speed printers, please make sure your firmware version is V 4.0.0 or above.**
|
||||
|
||||
QIDISlicer is based on [PrusaSlicer](https://github.com/prusa3d/PrusaSlicer) by Prusa Research, which is from [Slic3r](https://github.com/Slic3r/Slic3r) by Alessandro Ranellucci and the RepRap community.
|
||||
Thanks to PrusaSlicer, Bambulab and OrcaSlicer for their contributions to the 3D printing community.
|
||||
|
||||
See the [QIDI's homepage](https://qidi3d.com) for more information.
|
||||
|
||||
### Firmware
|
||||
<details open>
|
||||
<summary>Content Navigation</summary>
|
||||
<ol>
|
||||
<li>
|
||||
<a href="#function-introduction">Function Introduction</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#wiki">Wiki</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#Supporting-QIDI-Link-App">Supporting QIDI Link App</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#report-issues-and-make-suggestions">Report Issues and Make Suggestions</a>
|
||||
<ul>
|
||||
<li><a href="#some-formatting-requirements">Some Formatting Requirements</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#license">License</a>
|
||||
</li>
|
||||
</ol>
|
||||
</details>
|
||||
|
||||
You can find the printer's firmware here:
|
||||
----
|
||||
|
||||
[X-MAX 3](https://github.com/QIDITECH/QIDI_MAX3)
|
||||
## Function Introduction
|
||||
|
||||
[X-Plus 3](https://github.com/QIDITECH/QIDI_PLUS3)
|
||||
<p align="center">
|
||||
<img src="/readmeRes/UI.png" alt="UI">
|
||||
</p>
|
||||
|
||||
[X-smart 3](https://github.com/QIDITECH/QIDI_SMART3)
|
||||
### Key features are:
|
||||
|
||||
### Report Issues and Make Suggestions
|
||||
* **Slicer:** Fast and stable 3D model slicer
|
||||
* **Printer:** Perfect compatibility with all high-speed 3D printers of QIDI TECH
|
||||
* **Filament:** Perfect compatibility with all filaments of QIDI TECH and some general filaments
|
||||
* **LAN:** The printer can be directly connected through IP, convenient, safe and stable
|
||||
* **Internet:** Remote connection, start printing anytime, anywhere
|
||||
|
||||
Please send your question in the form of video or pictures to us through the [After-Sales Service](https://qidi3d.com/pages/warranty-policy-after-sales-support), we will reply to your information within 12 hours.
|
||||
### Other major features are:
|
||||
|
||||
Please try to contact us through [After-Sales Service](https://qidi3d.com/pages/warranty-policy-after-sales-support) and report problems or suggestions. On github, we cannot obtain your order information, operation records and other private intelligence, nor can we generate after-sales orders, send repair files, etc. Thank you for your understanding and cooperation.
|
||||
* **Model:** A variety of model operations, move, scale, rotate, crop, color, repair, combine, split, and more
|
||||
* **Parameter:** Rich parameter Settings, fine adjustment for a variety of complex models and application scenarios
|
||||
* **Calibration:** Multiple calibration functions to adjust the best parameters according to the actual situation
|
||||
|
||||
### License
|
||||
----
|
||||
|
||||
## wiki
|
||||
|
||||
The wiki below aims to provide a detailed explanation of the QIDISlicer settings, how to get the most out of them as
|
||||
well as how to calibrate and setup your printer.
|
||||
|
||||
The wiki is work in progress so bear with us while we get it up and running!
|
||||
|
||||
**[Access the wiki here](https://wiki.qidi3d.com/en/software/QIDISlicier)**
|
||||
|
||||
----
|
||||
|
||||
## Supporting QIDI Link App
|
||||
|
||||
**[Access QIDI Link App Guide Here](https://wiki.qidi3d.com/en/app)**
|
||||
|
||||
The supporting QIDI Link App supports IOS and Android platforms. In the app, you can scan the code to connect to the printer, remotely monitor the printer's printing progress, control the printer's printing parameters, and perform operations such as feeding and returning materials.
|
||||
<p align="center">
|
||||
<img src="/readmeRes/qidilink.png" alt="Add filament option ——Seal">
|
||||
</p>
|
||||
|
||||
----
|
||||
|
||||
## Report Issues and Make Suggestions
|
||||
|
||||
Please send your question in the form of video or pictures to us through
|
||||
the [After-Sales Service](https://qidi3d.com/pages/warranty-policy-after-sales-support), we will reply to your
|
||||
information within 12 hours.
|
||||
|
||||
Please try to contact us through [After-Sales Service](https://qidi3d.com/pages/warranty-policy-after-sales-support) and
|
||||
report problems or suggestions. On github, we cannot obtain your order information, operation records and other private
|
||||
intelligence, nor can we generate after-sales orders, send repair files, etc. Thank you for your understanding and
|
||||
cooperation.
|
||||
|
||||
### Some formatting requirements
|
||||
|
||||
#### Issue Title:
|
||||
|
||||
Briefly describe the issue (e.g., `could not open file`)
|
||||
|
||||
#### Description:
|
||||
|
||||
Provide a detailed description of the issue.This will help our engineers quickly locate the problem and assist you in
|
||||
resolving it
|
||||
|
||||
- **Issue Description**:
|
||||
- A clear explanation of the problem.
|
||||
- Compare the expected behavior with the actual behavior.
|
||||
|
||||
- **Steps to Reproduce**:
|
||||
1. Step one
|
||||
2. Step two
|
||||
3. Step three
|
||||
|
||||
- Specific steps to reproduce the issue. Include a precise sequence of actions if possible.
|
||||
|
||||
- **Additional Information**:
|
||||
- **Screenshots/Images**: Attach relevant screenshots or images that help in understanding the issue. Please add or
|
||||
link to images here.
|
||||
- **Environment Information**:
|
||||
- Operating System Version
|
||||
- Browser/Application Version
|
||||
- Other relevant environment details
|
||||
|
||||
## License
|
||||
|
||||
QIDISlicer is licensed under the _GNU Affero General Public License, version 3_. QIDISlicer is based on PrusaSlicer by PrusaResearch.
|
||||
|
||||
|
||||
@@ -235,7 +235,7 @@ FOR /F "tokens=2 delims=," %%I in (
|
||||
) do SET PS_PROJECT_IS_OPEN=%%~I
|
||||
cmake.exe .. -DCMAKE_PREFIX_PATH="%PS_DESTDIR%\usr\local" -DCMAKE_CONFIGURATION_TYPES=%PS_CONFIG_LIST%
|
||||
IF %ERRORLEVEL% NEQ 0 IF "%PS_STEPS_DIRTY%" NEQ "" (
|
||||
(del CMakeCache.txt && cmake.exe .. -DCMAKE_PREFIX_PATH="%PS_DESTDIR%\usr\local" -DCMAKE_CONFIGURATION_TYPES=%PS_CONFIG_LIST%) || GOTO :END
|
||||
(del CMakeCache.txt && cmake.exe .. -DCMAKE_PREFIX_PATH="%PS_DESTDIR%\usr\local" -DCMAKE_CONFIGURATION_TYPES=%PS_CONFIG_LIST% -DQDT_RELEASE_TO_PUBLIC=1) || GOTO :END
|
||||
) ELSE GOTO :END
|
||||
REM Skip the build step if we're using the undocumented app-cmake to regenerate the full config from inside devenv
|
||||
IF "%PS_STEPS%" NEQ "app-cmake" msbuild /m ALL_BUILD.vcxproj /p:Configuration=%PS_CONFIG% /v:quiet %PS_PRIORITY% || GOTO :END
|
||||
|
||||
52
bundled_deps/CMakeLists.txt
Normal file
@@ -0,0 +1,52 @@
|
||||
add_subdirectory(admesh)
|
||||
add_subdirectory(avrdude)
|
||||
add_subdirectory(miniz)
|
||||
add_subdirectory(glu-libtess)
|
||||
add_subdirectory(agg)
|
||||
add_subdirectory(libigl)
|
||||
add_subdirectory(hints)
|
||||
add_subdirectory(libnest2d)
|
||||
|
||||
add_library(semver STATIC
|
||||
semver/semver.c
|
||||
semver/semver.h
|
||||
)
|
||||
target_include_directories(semver PUBLIC semver)
|
||||
encoding_check(semver)
|
||||
|
||||
add_library(qoi STATIC
|
||||
qoi/qoilib.c
|
||||
qoi/qoi.h
|
||||
)
|
||||
target_include_directories(qoi PUBLIC qoi)
|
||||
encoding_check(qoi)
|
||||
|
||||
add_library(fastfloat INTERFACE)
|
||||
target_include_directories(fastfloat INTERFACE fast_float)
|
||||
|
||||
add_library(int128 INTERFACE)
|
||||
target_include_directories(int128 INTERFACE int128)
|
||||
|
||||
add_library(localesutils STATIC
|
||||
localesutils/LocalesUtils.cpp
|
||||
localesutils/LocalesUtils.hpp
|
||||
)
|
||||
target_include_directories(localesutils PUBLIC localesutils)
|
||||
target_link_libraries(localesutils PRIVATE fastfloat)
|
||||
|
||||
add_library(ankerl INTERFACE)
|
||||
target_include_directories(ankerl INTERFACE ankerl)
|
||||
|
||||
add_library(stb_dxt INTERFACE)
|
||||
target_include_directories(stb_dxt INTERFACE stb_dxt)
|
||||
|
||||
add_library(stb_image INTERFACE)
|
||||
target_include_directories(stb_image INTERFACE stb_image)
|
||||
|
||||
add_library(tcbspan INTERFACE)
|
||||
target_include_directories(tcbspan INTERFACE tcbspan)
|
||||
|
||||
if (SLIC3R_GUI)
|
||||
add_subdirectory(imgui)
|
||||
add_subdirectory(hidapi)
|
||||
endif ()
|
||||
16
bundled_deps/admesh/CMakeLists.txt
Normal file
@@ -0,0 +1,16 @@
|
||||
cmake_minimum_required(VERSION 2.8.12)
|
||||
project(admesh)
|
||||
|
||||
add_library(admesh STATIC
|
||||
admesh/connect.cpp
|
||||
admesh/normals.cpp
|
||||
admesh/shared.cpp
|
||||
admesh/stl.h
|
||||
admesh/stl_io.cpp
|
||||
admesh/stlinit.cpp
|
||||
admesh/util.cpp
|
||||
)
|
||||
|
||||
target_include_directories(admesh PUBLIC .)
|
||||
target_link_libraries(admesh PRIVATE boost_headeronly localesutils)
|
||||
target_link_libraries(admesh PUBLIC Eigen3::Eigen)
|
||||
@@ -114,7 +114,7 @@ static bool check_normal_vector(stl_file *stl, int facet_num, int normal_fix_fla
|
||||
|
||||
void stl_fix_normal_directions(stl_file *stl)
|
||||
{
|
||||
// This may happen for malformed models, see: https://github.com/qidi3d/QIDISlicer/issues/2209
|
||||
// This may happen for malformed models, see: https://github.com/QIDITECH/QIDISlicer/issues/2209
|
||||
if (stl->stats.number_of_facets == 0)
|
||||
return;
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
#include "stl.h"
|
||||
|
||||
#include "libslic3r/LocalesUtils.hpp"
|
||||
#include <LocalesUtils.hpp>
|
||||
|
||||
void stl_generate_shared_vertices(stl_file *stl, indexed_triangle_set &its)
|
||||
{
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
#include "stl.h"
|
||||
|
||||
#include "libslic3r/LocalesUtils.hpp"
|
||||
#include <LocalesUtils.hpp>
|
||||
|
||||
#ifndef SEEK_SET
|
||||
#error "SEEK_SET not defined"
|
||||
@@ -222,6 +222,15 @@ static bool stl_read(stl_file *stl, FILE *fp, int first_facet, bool first)
|
||||
}
|
||||
#endif
|
||||
|
||||
for (int j = 0; j < 3; ++j) {
|
||||
for (int u = 0; u < 3; ++u) {
|
||||
if (std::isnan(facet.vertex[j](u)) || std::isinf(facet.vertex[j](u))) {
|
||||
BOOST_LOG_TRIVIAL(error) << "stl_read: facet " << i << ": vertex " << j << "contains invalid coordinate";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Write the facet into memory.
|
||||
stl->facet_start[i] = facet;
|
||||
stl_facet_stats(stl, facet, first);
|
||||
5
bundled_deps/agg/CMakeLists.txt
Normal file
@@ -0,0 +1,5 @@
|
||||
cmake_minimum_required(VERSION 3.13)
|
||||
project(agg)
|
||||
|
||||
add_library(agg INTERFACE)
|
||||
target_include_directories(agg INTERFACE .)
|
||||
107
bundled_deps/avrdude/CMakeLists.txt
Normal file
@@ -0,0 +1,107 @@
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
|
||||
add_definitions(-D_BSD_SOURCE -D_DEFAULT_SOURCE) # To enable various useful macros and functions on Unices
|
||||
remove_definitions(-D_UNICODE -DUNICODE)
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
set(CMAKE_C_STANDARD 99)
|
||||
set(CMAKE_C_STANDARD_REQUIRED ON)
|
||||
|
||||
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
# Workaround for an old CMake, which does not understand CMAKE_C_STANDARD.
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99 -Wall")
|
||||
endif()
|
||||
|
||||
|
||||
set(AVRDUDE_SOURCES
|
||||
avrdude/arduino.c
|
||||
avrdude/avr.c
|
||||
# avrdude/avrftdi.c
|
||||
# avrdude/avrftdi_tpi.c
|
||||
avrdude/avrpart.c
|
||||
avrdude/avr910.c
|
||||
avrdude/bitbang.c
|
||||
avrdude/buspirate.c
|
||||
avrdude/butterfly.c
|
||||
avrdude/config.c
|
||||
avrdude/config_gram.c
|
||||
# avrdude/confwin.c
|
||||
avrdude/crc16.c
|
||||
# avrdude/dfu.c
|
||||
avrdude/fileio.c
|
||||
# avrdude/flip1.c
|
||||
# avrdude/flip2.c
|
||||
# avrdude/ft245r.c
|
||||
# avrdude/jtagmkI.c
|
||||
# avrdude/jtagmkII.c
|
||||
# avrdude/jtag3.c
|
||||
avrdude/lexer.c
|
||||
avrdude/linuxgpio.c
|
||||
avrdude/lists.c
|
||||
# avrdude/par.c
|
||||
avrdude/pgm.c
|
||||
avrdude/pgm_type.c
|
||||
avrdude/pickit2.c
|
||||
avrdude/pindefs.c
|
||||
# avrdude/ppi.c
|
||||
# avrdude/ppiwin.c
|
||||
avrdude/safemode.c
|
||||
avrdude/ser_avrdoper.c
|
||||
avrdude/serbb_posix.c
|
||||
avrdude/serbb_win32.c
|
||||
avrdude/ser_posix.c
|
||||
avrdude/ser_win32.c
|
||||
avrdude/stk500.c
|
||||
avrdude/stk500generic.c
|
||||
avrdude/stk500v2.c
|
||||
avrdude/term.c
|
||||
avrdude/update.c
|
||||
# avrdude/usbasp.c
|
||||
# avrdude/usb_hidapi.c
|
||||
# avrdude/usb_libusb.c
|
||||
# avrdude/usbtiny.c
|
||||
avrdude/wiring.c
|
||||
|
||||
avrdude/main.c
|
||||
avrdude/avrdude-slic3r.hpp
|
||||
avrdude/avrdude-slic3r.cpp
|
||||
)
|
||||
if (MSVC)
|
||||
set(AVRDUDE_SOURCES ${AVRDUDE_SOURCES}
|
||||
avrdude/windows/utf8.c
|
||||
avrdude/windows/unistd.cpp
|
||||
avrdude/windows/getopt.c
|
||||
)
|
||||
elseif (MINGW)
|
||||
set(AVRDUDE_SOURCES ${AVRDUDE_SOURCES}
|
||||
avrdude/windows/utf8.c
|
||||
)
|
||||
endif()
|
||||
|
||||
include(bin2h)
|
||||
|
||||
bin2h(
|
||||
SOURCE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/avrdude/avrdude-slic3r.conf
|
||||
VARIABLE_NAME avrdude_slic3r_conf
|
||||
HEADER_FILE ${CMAKE_CURRENT_BINARY_DIR}/avrdude-slic3r.conf.h
|
||||
ADD_WARNING_TEXT
|
||||
)
|
||||
|
||||
add_library(avrdude STATIC ${AVRDUDE_SOURCES})
|
||||
target_link_libraries(avrdude PRIVATE localesutils)
|
||||
|
||||
add_executable(avrdude-slic3r avrdude/main-standalone.cpp)
|
||||
target_link_libraries(avrdude-slic3r avrdude)
|
||||
|
||||
encoding_check(avrdude)
|
||||
encoding_check(avrdude-slic3r)
|
||||
|
||||
# Make avrdude-slic3r.conf.h includable:
|
||||
target_include_directories(avrdude SYSTEM PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
|
||||
target_include_directories(avrdude PUBLIC .)
|
||||
|
||||
if (WIN32)
|
||||
target_compile_definitions(avrdude PRIVATE WIN32NATIVE=1)
|
||||
if(MSVC)
|
||||
target_include_directories(avrdude SYSTEM PRIVATE avrdude/windows) # So that sources find the getopt.h windows drop-in
|
||||
endif(MSVC)
|
||||
endif()
|
||||
@@ -172,7 +172,7 @@
|
||||
#define PACKAGE "avrdude-slic3r"
|
||||
|
||||
/* Define to the address where bug reports for this package should be sent. */
|
||||
#define PACKAGE_BUGREPORT "https://github.com/prusa3d/QIDISlicer/issues"
|
||||
#define PACKAGE_BUGREPORT "https://github.com/QIDITECH/QIDISlicer/issues"
|
||||
|
||||
/* Define to the full name of this package. */
|
||||
#define PACKAGE_NAME "avrdude-slic3r"
|
||||
@@ -184,7 +184,7 @@
|
||||
#define PACKAGE_TARNAME "avrdude-slic3r"
|
||||
|
||||
/* Define to the home page for this package. */
|
||||
#define PACKAGE_URL "https://github.com/prusa3d/QIDISlicer"
|
||||
#define PACKAGE_URL "https://github.com/QIDITECH/QIDISlicer"
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#define PACKAGE_VERSION "6.3-20160220"
|
||||
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 703 B After Width: | Height: | Size: 703 B |
|
Before Width: | Height: | Size: 583 B After Width: | Height: | Size: 583 B |
|
Before Width: | Height: | Size: 798 B After Width: | Height: | Size: 798 B |
|
Before Width: | Height: | Size: 98 B After Width: | Height: | Size: 98 B |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 156 B After Width: | Height: | Size: 156 B |
|
Before Width: | Height: | Size: 199 B After Width: | Height: | Size: 199 B |
|
Before Width: | Height: | Size: 164 B After Width: | Height: | Size: 164 B |
|
Before Width: | Height: | Size: 198 B After Width: | Height: | Size: 198 B |