Compare commits
400 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 | ||
|
|
4888f01b47 | ||
|
|
428388b804 | ||
|
|
576389430c | ||
|
|
2b0652398d | ||
|
|
aa6efa280d | ||
|
|
8c016acf83 | ||
|
|
4983297dee | ||
|
|
e0dd4753c0 | ||
|
|
bb3884101f | ||
|
|
f155e1c167 | ||
|
|
a50473f8a9 | ||
|
|
b6f5986a9a | ||
|
|
821eb8ebe9 | ||
|
|
2eecb1ce8a | ||
|
|
12da7dac6a | ||
|
|
83c42c3d4f | ||
|
|
bf9dbfae79 | ||
|
|
5bba8ccb1b | ||
|
|
8de170e272 | ||
|
|
ec37905b75 | ||
|
|
c564e62549 | ||
|
|
eba6ab9ac1 | ||
|
|
abbe9d06df | ||
|
|
0b6f75c9dc | ||
|
|
2f7a8a7568 | ||
|
|
b7625edc45 | ||
|
|
6a26320804 | ||
|
|
8f7e2169c4 | ||
|
|
8a2eb9fc45 | ||
|
|
d199c9bf3a | ||
|
|
93813fb671 | ||
|
|
cad0b137b4 | ||
|
|
bfff15eb8e | ||
|
|
e706861147 | ||
|
|
632fb9e06e | ||
|
|
6382f4e052 | ||
|
|
b46944f32d | ||
|
|
8a3b753bb1 | ||
|
|
c6f7bed17e | ||
|
|
38ddeff65b | ||
|
|
e4497e898c | ||
|
|
ce07369753 | ||
|
|
bb8113dee9 | ||
|
|
b92ad8b784 | ||
|
|
84b63fde9f | ||
|
|
c09a8dbf2e | ||
|
|
70534de371 | ||
|
|
a02bacb307 | ||
|
|
aae387d68b | ||
|
|
fca9b72407 | ||
|
|
ab227dba3c | ||
|
|
a551053046 | ||
|
|
0a3c63dcb1 | ||
|
|
b33112327f | ||
|
|
fcdbe3aa23 | ||
|
|
93d09b4181 | ||
|
|
8ef002af7e | ||
|
|
5079fb72f8 | ||
|
|
5936250ad8 | ||
|
|
d9c7898876 | ||
|
|
c08509a354 | ||
|
|
c2d45c696e | ||
|
|
9f5d69a0a6 | ||
|
|
45d2bf40e2 | ||
|
|
ca4e3f3824 | ||
|
|
1c1786d922 | ||
|
|
7d152a9d82 | ||
|
|
0e56a49501 | ||
|
|
ef74fffcba | ||
|
|
8656b2408f | ||
|
|
b3cd2d72cf | ||
|
|
352ac5ab2d | ||
|
|
ea99e07679 | ||
|
|
01d319ed8a | ||
|
|
34cd2c69ce | ||
|
|
73860b7625 | ||
|
|
578400753e | ||
|
|
edb08f521d | ||
|
|
5d9f6cd345 | ||
|
|
aa434bbef0 | ||
|
|
8594787d58 | ||
|
|
f094d28462 | ||
|
|
b2d3a0ed41 | ||
|
|
d8dc67aea0 | ||
|
|
3cbf2d3318 | ||
|
|
ef91535e6b | ||
|
|
75c28861f5 | ||
|
|
8928344d31 | ||
|
|
9c9c716198 | ||
|
|
f25363d857 | ||
|
|
694e83c0ca | ||
|
|
ea0725bc04 | ||
|
|
5fb4188a19 | ||
|
|
357e2de750 | ||
|
|
417e890ac0 | ||
|
|
00a61f7a0b | ||
|
|
9d44a533df | ||
|
|
b0d35bd265 | ||
|
|
8a37bf9f93 | ||
|
|
edf53d8b0d | ||
|
|
25096e7aad | ||
|
|
2fa4dd2459 | ||
|
|
51438fe624 | ||
|
|
8b420304ba | ||
|
|
3954d5d13b | ||
|
|
2664036512 | ||
|
|
1f9400ddda | ||
|
|
d6408bf239 | ||
|
|
d2012d4d9b | ||
|
|
2b80442677 | ||
|
|
494970573e | ||
|
|
4ee031407d | ||
|
|
f713cb579a | ||
|
|
7f19806dd9 | ||
|
|
f4f63b9a54 | ||
|
|
07b20e3c40 | ||
|
|
535ce1e4d5 | ||
|
|
478a3cabc4 | ||
|
|
40e1a5534e | ||
|
|
019c6dbb10 | ||
|
|
3e70923483 | ||
|
|
d1902fa3d5 | ||
|
|
424a37a68c | ||
|
|
1b2437fa02 | ||
|
|
1687c5d624 | ||
|
|
b1ff57de34 | ||
|
|
bccab56220 | ||
|
|
8ecf30a51d | ||
|
|
cf13b6b6ab | ||
|
|
1c85f23870 | ||
|
|
35c97ae363 | ||
|
|
963e22db99 | ||
|
|
1338e60f8b | ||
|
|
a6c966ffd8 | ||
|
|
2c2e8aaab2 | ||
|
|
65a245af41 | ||
|
|
f2ea046ab5 | ||
|
|
313d89a44f | ||
|
|
5dc99e0fdd | ||
|
|
f2a36c90c1 | ||
|
|
1d73b29a00 | ||
|
|
39bb8169a0 | ||
|
|
205d475acb | ||
|
|
a8371bbded | ||
|
|
261cd7d6e9 | ||
|
|
c4f8a7808a | ||
|
|
a2b2cf743e | ||
|
|
07e2346d8d | ||
|
|
0a6a5f8690 | ||
|
|
51c4567a09 | ||
|
|
0b9b50fa22 | ||
|
|
1cceb727d7 | ||
|
|
49f599efbf | ||
|
|
140ee733ca | ||
|
|
3d89653ad6 | ||
|
|
59aa772875 | ||
|
|
a7ad626cdd | ||
|
|
0886a00cae | ||
|
|
e452f65575 | ||
|
|
a867b747e6 | ||
|
|
8c0ec030e1 | ||
|
|
f39d64153a |
@@ -3,11 +3,11 @@
|
|||||||
#
|
#
|
||||||
Language: Cpp
|
Language: Cpp
|
||||||
AccessModifierOffset: -4
|
AccessModifierOffset: -4
|
||||||
AlignAfterOpenBracket: Align
|
AlignAfterOpenBracket: BlockIndent
|
||||||
AlignConsecutiveAssignments: true
|
AlignConsecutiveAssignments: false
|
||||||
AlignConsecutiveDeclarations: true
|
AlignConsecutiveDeclarations: false
|
||||||
AlignEscapedNewlines: DontAlign
|
AlignEscapedNewlines: DontAlign
|
||||||
AlignOperands: true
|
AlignOperands: false
|
||||||
AlignTrailingComments: true
|
AlignTrailingComments: true
|
||||||
AllowAllParametersOfDeclarationOnNextLine: true
|
AllowAllParametersOfDeclarationOnNextLine: true
|
||||||
AllowShortBlocksOnASingleLine: true
|
AllowShortBlocksOnASingleLine: true
|
||||||
@@ -25,7 +25,7 @@ BraceWrapping:
|
|||||||
AfterClass: true
|
AfterClass: true
|
||||||
AfterControlStatement: false
|
AfterControlStatement: false
|
||||||
AfterEnum: false
|
AfterEnum: false
|
||||||
AfterFunction: true
|
AfterFunction: false
|
||||||
AfterNamespace: false
|
AfterNamespace: false
|
||||||
AfterObjCDeclaration: false
|
AfterObjCDeclaration: false
|
||||||
AfterStruct: true
|
AfterStruct: true
|
||||||
@@ -46,7 +46,7 @@ BreakConstructorInitializersBeforeComma: false
|
|||||||
BreakConstructorInitializers: BeforeComma
|
BreakConstructorInitializers: BeforeComma
|
||||||
BreakAfterJavaFieldAnnotations: false
|
BreakAfterJavaFieldAnnotations: false
|
||||||
BreakStringLiterals: true
|
BreakStringLiterals: true
|
||||||
ColumnLimit: 140
|
ColumnLimit: 100
|
||||||
CommentPragmas: '^ IWYU pragma:'
|
CommentPragmas: '^ IWYU pragma:'
|
||||||
CompactNamespaces: true
|
CompactNamespaces: true
|
||||||
ConstructorInitializerAllOnOneLineOrOnePerLine: true
|
ConstructorInitializerAllOnOneLineOrOnePerLine: true
|
||||||
@@ -95,6 +95,7 @@ PenaltyBreakString: 600
|
|||||||
PenaltyBreakTemplateDeclaration: 10
|
PenaltyBreakTemplateDeclaration: 10
|
||||||
PenaltyExcessCharacter: 50
|
PenaltyExcessCharacter: 50
|
||||||
PenaltyReturnTypeOnItsOwnLine: 300
|
PenaltyReturnTypeOnItsOwnLine: 300
|
||||||
|
PenaltyIndentedWhitespace: 10
|
||||||
PointerAlignment: Right
|
PointerAlignment: Right
|
||||||
ReflowComments: true
|
ReflowComments: true
|
||||||
SortIncludes: false
|
SortIncludes: false
|
||||||
|
|||||||
54
.gitignore
vendored
@@ -1,32 +1,24 @@
|
|||||||
# Prerequisites
|
Build
|
||||||
*.d
|
Build.bat
|
||||||
|
/build/
|
||||||
# Compiled Object files
|
MYMETA.json
|
||||||
*.slo
|
MYMETA.yml
|
||||||
*.lo
|
_build
|
||||||
|
blib
|
||||||
|
xs/buildtmp
|
||||||
*.o
|
*.o
|
||||||
*.obj
|
MANIFEST.bak
|
||||||
|
xs/MANIFEST.bak
|
||||||
# Precompiled Headers
|
xs/assertlib*
|
||||||
*.gch
|
.init_bundle.ini
|
||||||
*.pch
|
.vs/*
|
||||||
|
/src/TAGS
|
||||||
# Compiled Dynamic libraries
|
/.vscode/
|
||||||
*.so
|
build-linux/*
|
||||||
*.dylib
|
deps/build*
|
||||||
*.dll
|
deps/build-linux/*
|
||||||
|
**/.DS_Store
|
||||||
# Fortran module files
|
**/.idea/
|
||||||
*.mod
|
.pkg_cache
|
||||||
*.smod
|
CMakeUserPresets.json
|
||||||
|
/src/slic3r/QIDI
|
||||||
# Compiled Static libraries
|
|
||||||
*.lai
|
|
||||||
*.la
|
|
||||||
*.a
|
|
||||||
*.lib
|
|
||||||
|
|
||||||
# Executables
|
|
||||||
*.exe
|
|
||||||
*.out
|
|
||||||
*.app
|
|
||||||
|
|||||||
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__
|
|
||||||
@@ -26,15 +26,18 @@ endif()
|
|||||||
option(SLIC3R_STATIC "Compile QIDISlicer with static libraries (Boost, TBB, glew)" ${SLIC3R_STATIC_INITIAL})
|
option(SLIC3R_STATIC "Compile QIDISlicer with static libraries (Boost, TBB, glew)" ${SLIC3R_STATIC_INITIAL})
|
||||||
option(SLIC3R_GUI "Compile QIDISlicer with GUI components (OpenGL, wxWidgets)" 1)
|
option(SLIC3R_GUI "Compile QIDISlicer with GUI components (OpenGL, wxWidgets)" 1)
|
||||||
option(SLIC3R_FHS "Assume QIDISlicer is to be installed in a FHS directory structure" 0)
|
option(SLIC3R_FHS "Assume QIDISlicer 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_PCH "Use precompiled headers" 1)
|
||||||
option(SLIC3R_MSVC_COMPILE_PARALLEL "Compile on Visual Studio in parallel" 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_ASAN "Enable ASan on Clang and GCC" 0)
|
||||||
option(SLIC3R_UBSAN "Enable UBSan 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" 1)
|
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)
|
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.")
|
set(OPENVDB_FIND_MODULE_PATH "" CACHE PATH "Path to OpenVDB installation's find modules.")
|
||||||
@@ -51,6 +54,15 @@ if (SLIC3R_STATIC)
|
|||||||
set(CMAKE_FIND_PACKAGE_PREFER_CONFIG ON)
|
set(CMAKE_FIND_PACKAGE_PREFER_CONFIG ON)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
# Dependency build management
|
||||||
|
option(${PROJECT_NAME}_BUILD_DEPS "Build dependencies before the project" OFF)
|
||||||
|
option(${PROJECT_NAME}_DEPS_OUTPUT_QUIET "Don't print build output for dependencies" OFF)
|
||||||
|
set(${PROJECT_NAME}_DEPS_PRESET "default" CACHE STRING "Preset of the dependencies when ${PROJECT_NAME}_BUILD_DEPS is ON")
|
||||||
|
set(${PROJECT_NAME}_DEPS_BUILD_DIR "" CACHE PATH "Binary dir of the dependencies build when ${PROJECT_NAME}_BUILD_DEPS is ON")
|
||||||
|
if (${PROJECT_NAME}_BUILD_DEPS)
|
||||||
|
include(deps/autobuild.cmake)
|
||||||
|
endif ()
|
||||||
|
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
set(CMAKE_FIND_FRAMEWORK LAST)
|
set(CMAKE_FIND_FRAMEWORK LAST)
|
||||||
set(CMAKE_FIND_APPBUNDLE LAST)
|
set(CMAKE_FIND_APPBUNDLE LAST)
|
||||||
@@ -60,13 +72,11 @@ if (APPLE)
|
|||||||
endif ()
|
endif ()
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
# Proposal for C++ unit tests and sandboxes
|
|
||||||
option(SLIC3R_BUILD_SANDBOXES "Build development sandboxes" OFF)
|
option(SLIC3R_BUILD_SANDBOXES "Build development sandboxes" OFF)
|
||||||
option(SLIC3R_BUILD_TESTS "Build unit tests" ON)
|
option(SLIC3R_BUILD_TESTS "Build unit tests" ON)
|
||||||
|
|
||||||
if (IS_CROSS_COMPILE)
|
if (IS_CROSS_COMPILE)
|
||||||
message("Detected cross compilation setup. Tests and encoding checks will be forcedly disabled!")
|
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)
|
set(SLIC3R_BUILD_TESTS OFF CACHE BOOL "" FORCE)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
@@ -79,10 +89,20 @@ foreach (_cache_var ${_cache_vars})
|
|||||||
endif ()
|
endif ()
|
||||||
endforeach()
|
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)
|
if (SLIC3R_GUI)
|
||||||
add_definitions(-DSLIC3R_GUI)
|
add_definitions(-DSLIC3R_GUI)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
if (SLIC3R_OPENGL_ES)
|
||||||
|
add_definitions(-DSLIC3R_OPENGL_ES)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(SLIC3R_DESKTOP_INTEGRATION)
|
if(SLIC3R_DESKTOP_INTEGRATION)
|
||||||
add_definitions(-DSLIC3R_DESKTOP_INTEGRATION)
|
add_definitions(-DSLIC3R_DESKTOP_INTEGRATION)
|
||||||
endif ()
|
endif ()
|
||||||
@@ -159,10 +179,6 @@ if(NOT WIN32)
|
|||||||
add_compile_options("$<$<CONFIG:DEBUG>:-DDEBUG>")
|
add_compile_options("$<$<CONFIG:DEBUG>:-DDEBUG>")
|
||||||
endif()
|
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.
|
# 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
|
# We pick it from environment if it is not defined in another way
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
@@ -177,7 +193,7 @@ if(WIN32)
|
|||||||
else()
|
else()
|
||||||
message("WIN10SDK_PATH is invalid: ${WIN10SDK_PATH}")
|
message("WIN10SDK_PATH is invalid: ${WIN10SDK_PATH}")
|
||||||
message("${WIN10SDK_PATH}/include/winrt/windows.graphics.printing3d.h was not found")
|
message("${WIN10SDK_PATH}/include/winrt/windows.graphics.printing3d.h was not found")
|
||||||
message("STL fixing by the Netfabb service will not be compiled")
|
message("STL fixing by WinSDK will not be compiled")
|
||||||
unset(WIN10SDK_PATH)
|
unset(WIN10SDK_PATH)
|
||||||
endif()
|
endif()
|
||||||
else()
|
else()
|
||||||
@@ -185,16 +201,16 @@ if(WIN32)
|
|||||||
set(WIN10SDK_INCLUDE_PATH "$ENV{WindowsSdkDir}/Include/$ENV{WindowsSDKVersion}")
|
set(WIN10SDK_INCLUDE_PATH "$ENV{WindowsSdkDir}/Include/$ENV{WindowsSDKVersion}")
|
||||||
if (NOT EXISTS "${WIN10SDK_INCLUDE_PATH}/winrt/windows.graphics.printing3d.h")
|
if (NOT EXISTS "${WIN10SDK_INCLUDE_PATH}/winrt/windows.graphics.printing3d.h")
|
||||||
message("${WIN10SDK_INCLUDE_PATH}/winrt/windows.graphics.printing3d.h was not found")
|
message("${WIN10SDK_INCLUDE_PATH}/winrt/windows.graphics.printing3d.h was not found")
|
||||||
message("STL fixing by the Netfabb service will not be compiled")
|
message("STL fixing by WinSDK will not be compiled")
|
||||||
unset(WIN10SDK_INCLUDE_PATH)
|
unset(WIN10SDK_INCLUDE_PATH)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
if(WIN10SDK_INCLUDE_PATH)
|
if(WIN10SDK_INCLUDE_PATH)
|
||||||
message("Building with Win10 Netfabb STL fixing service support")
|
message("Building with Win10 STL fixing service support")
|
||||||
add_definitions(-DHAS_WIN10SDK)
|
add_definitions(-DHAS_WIN10SDK)
|
||||||
include_directories("${WIN10SDK_INCLUDE_PATH}")
|
include_directories("${WIN10SDK_INCLUDE_PATH}")
|
||||||
else()
|
else()
|
||||||
message("Building without Win10 Netfabb STL fixing service support")
|
message("Building without Win10 STL fixing service support")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -219,8 +235,7 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|||||||
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
||||||
find_package(Threads REQUIRED)
|
find_package(Threads REQUIRED)
|
||||||
|
|
||||||
find_package(DBus REQUIRED)
|
find_package(DBus1 REQUIRED)
|
||||||
include_directories(${DBUS_INCLUDE_DIRS})
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUXX)
|
if (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUXX)
|
||||||
@@ -313,11 +328,7 @@ if (APPLE)
|
|||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror=partial-availability -Werror=unguarded-availability -Werror=unguarded-availability-new")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror=partial-availability -Werror=unguarded-availability -Werror=unguarded-availability-new")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
# Where all the bundled libraries reside?
|
|
||||||
set(LIBDIR ${CMAKE_CURRENT_SOURCE_DIR}/src)
|
|
||||||
set(LIBDIR_BIN ${CMAKE_CURRENT_BINARY_DIR}/src)
|
set(LIBDIR_BIN ${CMAKE_CURRENT_BINARY_DIR}/src)
|
||||||
# For the bundled boost libraries (boost::nowide)
|
|
||||||
include_directories(${LIBDIR})
|
|
||||||
# For generated header files
|
# For generated header files
|
||||||
include_directories(${LIBDIR_BIN}/platform)
|
include_directories(${LIBDIR_BIN}/platform)
|
||||||
|
|
||||||
@@ -348,10 +359,12 @@ endif()
|
|||||||
# set(Boost_COMPILER "-mgw81")
|
# set(Boost_COMPILER "-mgw81")
|
||||||
# boost::process was introduced first in version 1.64.0,
|
# boost::process was introduced first in version 1.64.0,
|
||||||
# boost::beast::detail::base64 was introduced first in version 1.66.0
|
# boost::beast::detail::base64 was introduced first in version 1.66.0
|
||||||
set(MINIMUM_BOOST_VERSION "1.66.0")
|
set(MINIMUM_BOOST_VERSION "1.83.0")
|
||||||
set(_boost_components "system;filesystem;thread;log;locale;regex;chrono;atomic;date_time;iostreams")
|
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(Boost ${MINIMUM_BOOST_VERSION} REQUIRED COMPONENTS ${_boost_components})
|
||||||
|
|
||||||
|
find_package(Eigen3 3.3.7 REQUIRED)
|
||||||
|
|
||||||
add_library(boost_libs INTERFACE)
|
add_library(boost_libs INTERFACE)
|
||||||
add_library(boost_headeronly INTERFACE)
|
add_library(boost_headeronly INTERFACE)
|
||||||
|
|
||||||
@@ -432,26 +445,18 @@ endif()
|
|||||||
|
|
||||||
## OPTIONAL packages
|
## 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
|
# Find expat. We have our overriden FindEXPAT which exports libexpat target
|
||||||
# no matter what.
|
# no matter what.
|
||||||
find_package(EXPAT REQUIRED)
|
find_package(EXPAT REQUIRED)
|
||||||
|
|
||||||
add_library(libexpat INTERFACE)
|
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)
|
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)
|
target_link_libraries(libexpat INTERFACE expat::expat)
|
||||||
|
else() # found by an older Find script
|
||||||
|
target_link_libraries(libexpat INTERFACE ${EXPAT_LIBRARIES})
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
find_package(PNG REQUIRED)
|
find_package(PNG REQUIRED)
|
||||||
@@ -584,36 +589,24 @@ function(qidislicer_copy_dlls target)
|
|||||||
|
|
||||||
# This has to be a separate target due to the windows command line lenght limits
|
# This has to be a separate target due to the windows command line lenght limits
|
||||||
add_custom_command(TARGET ${target} POST_BUILD
|
add_custom_command(TARGET ${target} POST_BUILD
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${TOP_LEVEL_PROJECT_DIR}/deps/GMP/gmp/lib/win${_bits}/libgmp-10.dll ${_out_dir}
|
COMMAND ${CMAKE_COMMAND} -E copy ${TOP_LEVEL_PROJECT_DIR}/deps/+GMP/gmp/lib/win${_bits}/libgmp-10.dll ${_out_dir}
|
||||||
COMMENT "Copy gmp runtime to build tree"
|
COMMENT "Copy gmp runtime to build tree"
|
||||||
VERBATIM)
|
VERBATIM)
|
||||||
|
|
||||||
add_custom_command(TARGET ${target} POST_BUILD
|
add_custom_command(TARGET ${target} POST_BUILD
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${TOP_LEVEL_PROJECT_DIR}/deps/MPFR/mpfr/lib/win${_bits}/libmpfr-4.dll ${_out_dir}
|
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"
|
COMMENT "Copy mpfr runtime to build tree"
|
||||||
VERBATIM)
|
VERBATIM)
|
||||||
|
|
||||||
add_custom_command(TARGET ${target} POST_BUILD
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${TOP_LEVEL_PROJECT_DIR}/deps/MPFR/mpfr/lib/win${_bits}/WebView2Loader.dll ${_out_dir}
|
|
||||||
COMMENT "Copy mpfr runtime to build tree"
|
|
||||||
VERBATIM)
|
|
||||||
|
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
add_subdirectory(build-utils)
|
||||||
|
add_subdirectory(bundled_deps)
|
||||||
# libslic3r, QIDISlicer GUI and the QIDISlicer executable.
|
# libslic3r, QIDISlicer GUI and the QIDISlicer executable.
|
||||||
add_subdirectory(src)
|
add_subdirectory(src)
|
||||||
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT QIDISlicer_app_console)
|
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT QIDISlicer_app_console)
|
||||||
|
|
||||||
add_dependencies(gettext_make_pot hintsToPot)
|
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)
|
if(SLIC3R_BUILD_SANDBOXES)
|
||||||
add_subdirectory(sandboxes)
|
add_subdirectory(sandboxes)
|
||||||
endif()
|
endif()
|
||||||
@@ -623,7 +616,6 @@ if(SLIC3R_BUILD_TESTS)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
# Resources install target, configure fhs.hpp on UNIX
|
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "${CMAKE_INSTALL_PREFIX}/resources")
|
install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "${CMAKE_INSTALL_PREFIX}/resources")
|
||||||
elseif (SLIC3R_FHS)
|
elseif (SLIC3R_FHS)
|
||||||
@@ -643,10 +635,10 @@ elseif (SLIC3R_FHS)
|
|||||||
)
|
)
|
||||||
endforeach()
|
endforeach()
|
||||||
install(DIRECTORY ${SLIC3R_RESOURCES_DIR}/udev/ DESTINATION lib/udev/rules.d)
|
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 ()
|
else ()
|
||||||
install(FILES src/platform/unix/QIDISlicer.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/resources/applications)
|
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(FILES src/platform/unix/QIDIGcodeviewer.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/resources/applications)
|
||||||
install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "${CMAKE_INSTALL_PREFIX}/resources")
|
install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "${CMAKE_INSTALL_PREFIX}/resources")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
configure_file(${LIBDIR}/platform/unix/fhs.hpp.in ${LIBDIR_BIN}/platform/unix/fhs.hpp)
|
|
||||||
|
|||||||
46
CMakePresets.json
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"configurePresets": [
|
||||||
|
{
|
||||||
|
"name": "default",
|
||||||
|
"displayName": "Default Config",
|
||||||
|
"description": "Building with statically linked dependencies",
|
||||||
|
"binaryDir": "${sourceDir}/build-default",
|
||||||
|
"cacheVariables": {
|
||||||
|
"CMAKE_BUILD_TYPE": "Release",
|
||||||
|
"SLIC3R_STATIC": true,
|
||||||
|
"SLIC3R_GTK": "3",
|
||||||
|
"SLIC3R_ENC_CHECK": false,
|
||||||
|
"SLIC3R_PCH": true,
|
||||||
|
"CMAKE_INSTALL_PREFIX": "${sourceDir}/build-default/dist",
|
||||||
|
"QIDISlicer_DEPS_PRESET": "default",
|
||||||
|
"QIDISlicer_DEPS_OUTPUT_QUIET": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "no-occt",
|
||||||
|
"displayName": "Without STEP",
|
||||||
|
"description": "Building with statically linked dependencies without STEP file support",
|
||||||
|
"inherits": "default",
|
||||||
|
"binaryDir": "${sourceDir}/build-no-occt",
|
||||||
|
"cacheVariables": {
|
||||||
|
"SLIC3R_ENABLE_FORMAT_STEP": false,
|
||||||
|
"QIDISlicer_DEPS_PRESET": "no-occt"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "shareddeps",
|
||||||
|
"displayName": "Shared dependencies",
|
||||||
|
"description": "Building with dynamically linked dependencies from the system",
|
||||||
|
"binaryDir": "${sourceDir}/shareddeps",
|
||||||
|
"cacheVariables": {
|
||||||
|
"CMAKE_BUILD_TYPE": "Release",
|
||||||
|
"SLIC3R_STATIC": false,
|
||||||
|
"SLIC3R_GTK": "3",
|
||||||
|
"SLIC3R_ENC_CHECK": false,
|
||||||
|
"SLIC3R_PCH": true,
|
||||||
|
"QIDISlicer_BUILD_DEPS": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
10
LICENSE
@@ -1,7 +1,7 @@
|
|||||||
GNU AFFERO GENERAL PUBLIC LICENSE
|
GNU AFFERO GENERAL PUBLIC LICENSE
|
||||||
Version 3, 19 November 2007
|
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
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
of this license document, but changing it is not allowed.
|
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>
|
Copyright (C) <year> <name of author>
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU Affero General Public License as published by
|
||||||
by the Free Software Foundation, either version 3 of the License, or
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
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.
|
GNU Affero General Public License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Affero General Public License
|
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.
|
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,
|
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.
|
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
|
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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,21 +1,21 @@
|
|||||||
1.0.2
|
1.0.5
|
||||||
alpha=1.0.2-alpha1
|
alpha=1.0.5-alpha1
|
||||||
beta=1.0.2-beta1
|
beta=1.0.5-beta1
|
||||||
|
|
||||||
[common]
|
[common]
|
||||||
release = 1.0.2
|
release = 1.0.5
|
||||||
alpha = 1.0.2-alpha1
|
alpha = 1.0.5-alpha1
|
||||||
beta = 1.0.2-beta1
|
beta = 1.0.5-beta1
|
||||||
rc = 1.0.2-rc2
|
rc = 1.0.5-rc2
|
||||||
|
|
||||||
[release:win64]
|
[release:win64]
|
||||||
url = https://github.com/QIDITECH/QIDISlicer/releases/download/V1.0.2/QIDISlicer_Setup_1.0.2.exe
|
url = https://github.com/QIDITECH/QIDISlicer/releases/download/V1.0.5/QIDISlicer_Setup_1.0.5_Win64.exe
|
||||||
size = 71118761
|
size = 71118761
|
||||||
|
|
||||||
[release:linux]
|
[release:linux]
|
||||||
url = https://qidi3d.com
|
url = https://github.com/QIDITECH/QIDISlicer/releases/download/V1.0.4/QIDISlicer-1.0.4.AppImage
|
||||||
size = 69915840
|
size = 69915840
|
||||||
|
|
||||||
[release:osx]
|
[release:osx]
|
||||||
url = https://qidi3d.com/
|
url = https://github.com/QIDITECH/QIDISlicer/releases/download/V1.0.5/QIDISlicer_Setup_1.0.5_Win64.exe
|
||||||
size = 90237989
|
size = 90237989
|
||||||
117
README.md
@@ -4,28 +4,123 @@
|
|||||||
# QIDISlicer
|
# 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.
|
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.
|
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 and Bambulab for their contributions to the 3D printing 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.
|
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
|
||||||
|
|
||||||
You can contact [After-Sales Service](https://qidi3d.com/pages/warranty-policy-after-sales-support) to report issues and make suggestions.
|
### Other major features are:
|
||||||
|
|
||||||
### License
|
* **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
|
||||||
|
|
||||||
|
----
|
||||||
|
|
||||||
|
## 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.
|
QIDISlicer is licensed under the _GNU Affero General Public License, version 3_. QIDISlicer is based on PrusaSlicer by PrusaResearch.
|
||||||
|
|
||||||
|
|||||||
@@ -63,10 +63,14 @@ SET PS_DEPS_PATH_FILE_NAME=.DEPS_PATH.txt
|
|||||||
SET PS_DEPS_PATH_FILE=%~dp0deps\build\%PS_DEPS_PATH_FILE_NAME%
|
SET PS_DEPS_PATH_FILE=%~dp0deps\build\%PS_DEPS_PATH_FILE_NAME%
|
||||||
SET PS_CONFIG_LIST="Debug;MinSizeRel;Release;RelWithDebInfo"
|
SET PS_CONFIG_LIST="Debug;MinSizeRel;Release;RelWithDebInfo"
|
||||||
|
|
||||||
REM The officially supported toolchain version is 16 (Visual Studio 2019)
|
REM Update this script for new versions by setting PS_VERSION_SUPPORTED to a
|
||||||
REM TODO: Update versions after Boost gets rolled to 1.78 or later
|
REM new minimum version and setting PS_VERSION_EXCEEDED to the maximum supported
|
||||||
|
REM version plus one.
|
||||||
|
REM The officially supported toolchain versions are:
|
||||||
|
REM Minimum: 16 (Visual Studio 2019)
|
||||||
|
REM Maximum: 17 (Visual Studio 2022)
|
||||||
SET PS_VERSION_SUPPORTED=16
|
SET PS_VERSION_SUPPORTED=16
|
||||||
SET PS_VERSION_EXCEEDED=17
|
SET PS_VERSION_EXCEEDED=18
|
||||||
SET VSWHERE=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe
|
SET VSWHERE=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe
|
||||||
IF NOT EXIST "%VSWHERE%" SET VSWHERE=%ProgramFiles%\Microsoft Visual Studio\Installer\vswhere.exe
|
IF NOT EXIST "%VSWHERE%" SET VSWHERE=%ProgramFiles%\Microsoft Visual Studio\Installer\vswhere.exe
|
||||||
FOR /F "tokens=4 USEBACKQ delims=." %%I IN (`"%VSWHERE%" -nologo -property productId`) DO SET PS_PRODUCT_DEFAULT=%%I
|
FOR /F "tokens=4 USEBACKQ delims=." %%I IN (`"%VSWHERE%" -nologo -property productId`) DO SET PS_PRODUCT_DEFAULT=%%I
|
||||||
@@ -231,7 +235,7 @@ FOR /F "tokens=2 delims=," %%I in (
|
|||||||
) do SET PS_PROJECT_IS_OPEN=%%~I
|
) do SET PS_PROJECT_IS_OPEN=%%~I
|
||||||
cmake.exe .. -DCMAKE_PREFIX_PATH="%PS_DESTDIR%\usr\local" -DCMAKE_CONFIGURATION_TYPES=%PS_CONFIG_LIST%
|
cmake.exe .. -DCMAKE_PREFIX_PATH="%PS_DESTDIR%\usr\local" -DCMAKE_CONFIGURATION_TYPES=%PS_CONFIG_LIST%
|
||||||
IF %ERRORLEVEL% NEQ 0 IF "%PS_STEPS_DIRTY%" NEQ "" (
|
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
|
) ELSE GOTO :END
|
||||||
REM Skip the build step if we're using the undocumented app-cmake to regenerate the full config from inside devenv
|
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
|
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)
|
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)
|
if (stl->stats.number_of_facets == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
|
|
||||||
#include "stl.h"
|
#include "stl.h"
|
||||||
|
|
||||||
#include "libslic3r/LocalesUtils.hpp"
|
#include <LocalesUtils.hpp>
|
||||||
|
|
||||||
void stl_generate_shared_vertices(stl_file *stl, indexed_triangle_set &its)
|
void stl_generate_shared_vertices(stl_file *stl, indexed_triangle_set &its)
|
||||||
{
|
{
|
||||||
@@ -165,6 +165,7 @@ struct indexed_triangle_set
|
|||||||
std::vector<stl_vertex> vertices;
|
std::vector<stl_vertex> vertices;
|
||||||
|
|
||||||
bool empty() const { return indices.empty() || vertices.empty(); }
|
bool empty() const { return indices.empty() || vertices.empty(); }
|
||||||
|
bool operator==(const indexed_triangle_set& other) const { return this->indices == other.indices && this->vertices == other.vertices; }
|
||||||
};
|
};
|
||||||
|
|
||||||
extern bool stl_open(stl_file *stl, const char *file);
|
extern bool stl_open(stl_file *stl, const char *file);
|
||||||
@@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#include "stl.h"
|
#include "stl.h"
|
||||||
|
|
||||||
#include "libslic3r/LocalesUtils.hpp"
|
#include <LocalesUtils.hpp>
|
||||||
|
|
||||||
#ifndef SEEK_SET
|
#ifndef SEEK_SET
|
||||||
#error "SEEK_SET not defined"
|
#error "SEEK_SET not defined"
|
||||||
@@ -222,6 +222,15 @@ static bool stl_read(stl_file *stl, FILE *fp, int first_facet, bool first)
|
|||||||
}
|
}
|
||||||
#endif
|
#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.
|
// Write the facet into memory.
|
||||||
stl->facet_start[i] = facet;
|
stl->facet_start[i] = facet;
|
||||||
stl_facet_stats(stl, facet, first);
|
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 .)
|
||||||
@@ -4,4 +4,4 @@ https://github.com/martinus/unordered_dense
|
|||||||
unordered_dense 3.1.1 10782bfc651c2bb75b11bf90491f50da122e5432
|
unordered_dense 3.1.1 10782bfc651c2bb75b11bf90491f50da122e5432
|
||||||
SOURCE DISTRIBUTION.
|
SOURCE DISTRIBUTION.
|
||||||
|
|
||||||
THIS IS NOT THE COMPLETE unordered_dense DISTRIBUTION. ONLY FILES NEEDED FOR COMPILING PRUSASLICER WERE PUT INTO THE PRUSASLICER SOURCE DISTRIBUTION.
|
THIS IS NOT THE COMPLETE unordered_dense DISTRIBUTION. ONLY FILES NEEDED FOR COMPILING QIDISLICER WERE PUT INTO THE QIDISLICER SOURCE DISTRIBUTION.
|
||||||
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()
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
THIS IS A PRUSA3D BRANCH, WORKING AROUND A SPECIFIC PROBLEM
|
THIS IS A QIDI3D BRANCH, WORKING AROUND A SPECIFIC PROBLEM
|
||||||
IN THE EARLY I3 MK2 USB COMMUNICATION CHIPS.
|
IN THE EARLY I3 MK2 USB COMMUNICATION CHIPS.
|
||||||
|
|
||||||
Some of the early QIDI3D i3 MK2 printers were shipped with a buggy
|
Some of the early QIDI3D i3 MK2 printers were shipped with a buggy
|
||||||
@@ -12,7 +12,7 @@ https://github.com/arduino/Arduino-stk500v2-bootloader
|
|||||||
|
|
||||||
The avrdude binary modified by QIDI3D could replace the avrdude bianary
|
The avrdude binary modified by QIDI3D could replace the avrdude bianary
|
||||||
of arduino to program the RAMBo board. In that case the modified binary
|
of arduino to program the RAMBo board. In that case the modified binary
|
||||||
is identified by a "-prusa3d" suffix to the version information.
|
is identified by a "-qidi3d" suffix to the version information.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
|
|
||||||
@@ -172,7 +172,7 @@
|
|||||||
#define PACKAGE "avrdude-slic3r"
|
#define PACKAGE "avrdude-slic3r"
|
||||||
|
|
||||||
/* Define to the address where bug reports for this package should be sent. */
|
/* 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 to the full name of this package. */
|
||||||
#define PACKAGE_NAME "avrdude-slic3r"
|
#define PACKAGE_NAME "avrdude-slic3r"
|
||||||
@@ -184,7 +184,7 @@
|
|||||||
#define PACKAGE_TARNAME "avrdude-slic3r"
|
#define PACKAGE_TARNAME "avrdude-slic3r"
|
||||||
|
|
||||||
/* Define to the home page for this package. */
|
/* 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 to the version of this package. */
|
||||||
#define PACKAGE_VERSION "6.3-20160220"
|
#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 |