mirror of
https://github.com/meganz/MEGAcmd
synced 2025-08-22 01:47:24 +00:00
Compare commits
660 Commits
4953f6bdbe
...
45549ee970
Author | SHA1 | Date | |
---|---|---|---|
|
45549ee970 | ||
|
d0a1e8e2c7 | ||
|
2946460db3 | ||
|
7afb81496f | ||
|
bc0e4016ee | ||
|
c75506966f | ||
|
2d3526ab31 | ||
|
0114e09bfe | ||
|
7c78fe6188 | ||
|
ab2f569172 | ||
|
030dfa3e64 | ||
|
f32d660049 | ||
|
8f368b725f | ||
|
814f420ffa | ||
|
7884eeba0d | ||
|
89b56543d5 | ||
|
48f96edadb | ||
|
f341848a52 | ||
|
bfe9f8ab13 | ||
|
6f36ec0040 | ||
|
5d3d5fbd21 | ||
|
c25d2cfe2b | ||
|
ce7aac0959 | ||
|
c7419a2a33 | ||
|
05456c2803 | ||
|
15cfe40b6d | ||
|
1f9914a0d1 | ||
|
fcf7036881 | ||
|
9f6272ed86 | ||
|
6d489a4c98 | ||
|
574790cd78 | ||
|
0af327d201 | ||
|
3c8838c615 | ||
|
ff4cdf57aa | ||
|
5382026f86 | ||
|
cdc7b048e4 | ||
|
65cdc51ac5 | ||
|
5656c2f912 | ||
|
69fb1f8dab | ||
|
24038ac7aa | ||
|
18c4cd2eca | ||
|
6a026d9281 | ||
|
89cdb1b43b | ||
|
3ad09cb24d | ||
|
be464835db | ||
|
2cfd5ba2de | ||
|
b658b18509 | ||
|
acc49f0795 | ||
|
e136a032cf | ||
|
bd1f7882e7 | ||
|
90981e2491 | ||
|
7ef7b43c99 | ||
|
bdac676670 | ||
|
690e086657 | ||
|
9ce411df04 | ||
|
e69a8f5d6a | ||
|
bdfa8fc8b2 | ||
|
8e317b5191 | ||
|
8ae66630d5 | ||
|
6f5687b68c | ||
|
dabb3f81e5 | ||
|
763cff0967 | ||
|
b724278874 | ||
|
a9443e4c2c | ||
|
adbb9517dc | ||
|
d9b0368f92 | ||
|
c7b440d56f | ||
|
68081e27de | ||
|
b7d1f0a402 | ||
|
434040804e | ||
|
5cff214e57 | ||
|
3c71f5f79d | ||
|
abb5e5eeec | ||
|
3f9ed15c00 | ||
|
e6b1335a86 | ||
|
df5abb49df | ||
|
2d27ec9ab7 | ||
|
941135b86b | ||
|
e62cfe15fe | ||
|
6956ca30ea | ||
|
438492a890 | ||
|
500569a068 | ||
|
54f4fc6318 | ||
|
d11ca6c2dd | ||
|
f5b39fd0a3 | ||
|
7fc22bb199 | ||
|
2445d23801 | ||
|
39d01af02e | ||
|
8fd93dd6ea | ||
|
a33991ebca | ||
|
856783fa6a | ||
|
2b72846074 | ||
|
8972afc64f | ||
|
b695794045 | ||
|
b71573f982 | ||
|
ff7a4359e7 | ||
|
373e8e375e | ||
|
73bf953784 | ||
|
db60ef033d | ||
|
6c37e3912d | ||
|
804b7e61a9 | ||
|
6643560ce0 | ||
|
5e47ef8925 | ||
|
9db30498e8 | ||
|
b0347cc1c9 | ||
|
77e4e5854c | ||
|
8084f74ca1 | ||
|
6caf3837b5 | ||
|
a342b86b64 | ||
|
41b3c04df0 | ||
|
4dc7d1654d | ||
|
4e5ef4cd4f | ||
|
58a489ea58 | ||
|
0f84c62d40 | ||
|
610728cee3 | ||
|
a17b1bcadd | ||
|
86baa024cf | ||
|
c380b1fba5 | ||
|
3e07e494e3 | ||
|
43bdf420ec | ||
|
7dc57a34a0 | ||
|
61f0e8006d | ||
|
189bf2a141 | ||
|
2745b1d14b | ||
|
c17a551751 | ||
|
a425e6758e | ||
|
3be8b0530a | ||
|
68c0ba7135 | ||
|
6aa68698a0 | ||
|
f7f38084dc | ||
|
23d9cedda4 | ||
|
2951ee809f | ||
|
aba499f777 | ||
|
1785e15c0c | ||
|
60f210dab8 | ||
|
26b200bf37 | ||
|
bb52f0ccba | ||
|
0ec216fbfa | ||
|
74d8ec995f | ||
|
d0a8803965 | ||
|
f3c194dafa | ||
|
17770743d6 | ||
|
51ab89abdd | ||
|
238b087b71 | ||
|
d1df1af477 | ||
|
98dbb4cb5a | ||
|
c09ee64ec6 | ||
|
3b5017cfe8 | ||
|
f689d9cd10 | ||
|
c67ff78aa0 | ||
|
6860354b14 | ||
|
c7d25eea5f | ||
|
3419cbc581 | ||
|
fbd202573e | ||
|
faa0a9c95d | ||
|
496fc4cbb2 | ||
|
398d3814cb | ||
|
94a9fc3511 | ||
|
92003a73f9 | ||
|
a543e39f21 | ||
|
cd170e6033 | ||
|
654f0b2477 | ||
|
a0bdb763b5 | ||
|
3a7af02b7c | ||
|
6b2591ace8 | ||
|
0db6ff334b | ||
|
834f9f8c0f | ||
|
95f483bfc7 | ||
|
380083ba51 | ||
|
67a3dbb6ad | ||
|
9ee7447777 | ||
|
bbdb1eafac | ||
|
d82e4c7e80 | ||
|
00bac5336b | ||
|
3f71e15098 | ||
|
22cb5dbfa9 | ||
|
d70d944c7d | ||
|
71cc33130d | ||
|
052cde3ea1 | ||
|
0e8cdb209f | ||
|
6795cff0e6 | ||
|
28aaa42770 | ||
|
275610f8e0 | ||
|
0a348ddea3 | ||
|
f2ea5b2efe | ||
|
61c7c1c14f | ||
|
b536c86d87 | ||
|
33b7b72870 | ||
|
b359b8ae38 | ||
|
212a89d43c | ||
|
fae43035bc | ||
|
22c25c5b5c | ||
|
e4257ebf23 | ||
|
21f9ae2821 | ||
|
6dcde72736 | ||
|
408191a41d | ||
|
a972e0ef83 | ||
|
05be33425a | ||
|
a04840930a | ||
|
bc55bf863e | ||
|
5b8c400fe7 | ||
|
a7e709c5c8 | ||
|
2242161d43 | ||
|
00c27e7930 | ||
|
1ac5536f29 | ||
|
1055634075 | ||
|
9935e6ade3 | ||
|
a2ad726ce4 | ||
|
faeead57e2 | ||
|
dc9336d208 | ||
|
5b2046604d | ||
|
90b0d0a1c7 | ||
|
3361abf9a4 | ||
|
ba87b185bb | ||
|
a165a45184 | ||
|
958e12910e | ||
|
36892fad7a | ||
|
28d84ca947 | ||
|
c0cf314ea0 | ||
|
db56bbe3e0 | ||
|
f7032228a8 | ||
|
bc2f8229c9 | ||
|
d5792d127d | ||
|
c7892b8fbd | ||
|
35495f31b0 | ||
|
12cc3facff | ||
|
1090ac5595 | ||
|
5b053bbd47 | ||
|
6e0cf00c66 | ||
|
78e6840603 | ||
|
1deb1adb48 | ||
|
c05e6510aa | ||
|
7f3712016e | ||
|
7652591c37 | ||
|
678d94af40 | ||
|
509a87f21b | ||
|
bf31559ef1 | ||
|
14d87ed8f1 | ||
|
1ef3eb43a4 | ||
|
db3df0ad75 | ||
|
f4bd2b1c8f | ||
|
6e77780f16 | ||
|
f890223a5c | ||
|
f14f948051 | ||
|
106c1775da | ||
|
9f969eaf3c | ||
|
c7d4652082 | ||
|
bc9bbb3218 | ||
|
84030bdf35 | ||
|
1edda80028 | ||
|
80635cffa3 | ||
|
2defb9e881 | ||
|
3e2ecaf6e0 | ||
|
8f28bd9f11 | ||
|
d2201896ee | ||
|
0b9ae6e4d9 | ||
|
89f4b8cf52 | ||
|
8690f0ddd8 | ||
|
c028359e73 | ||
|
4f32bb1696 | ||
|
b7a99501c8 | ||
|
132e945eff | ||
|
ada1acced6 | ||
|
5810743a8c | ||
|
8e3b15f239 | ||
|
9ded2ea371 | ||
|
3a85aaadb8 | ||
|
6cdc7fb599 | ||
|
6d98ffceed | ||
|
aecb2ed118 | ||
|
482b9a103e | ||
|
9fc7f5cc9d | ||
|
05c9011c2a | ||
|
64bb15b5da | ||
|
0525ccbe88 | ||
|
d5f38588c3 | ||
|
8285ebd019 | ||
|
01a03182e2 | ||
|
b4d97e1f66 | ||
|
5965eea395 | ||
|
9d1663bdcc | ||
|
ff755a99ab | ||
|
4a81373e45 | ||
|
7a1c653b01 | ||
|
21518b5c13 | ||
|
7f3dda1063 | ||
|
13a217e7f2 | ||
|
a576d7f9e4 | ||
|
733c90a910 | ||
|
b9104f6efa | ||
|
97d389734c | ||
|
1f1b16576b | ||
|
cc9ef463c5 | ||
|
0da6f87600 | ||
|
92d6df1cb0 | ||
|
eb69bc905c | ||
|
5b4113b66a | ||
|
a0df6a37fb | ||
|
5c3c2992a9 | ||
|
b8695be086 | ||
|
0df7e000fd | ||
|
c5b01a96c9 | ||
|
fe7826c6b4 | ||
|
710cda73d2 | ||
|
7ed6cfe08a | ||
|
8e3263f1e9 | ||
|
1bc3ef6f81 | ||
|
f793904e4d | ||
|
921dda5c19 | ||
|
757ce34007 | ||
|
6c05b4e7c4 | ||
|
5365380a3b | ||
|
30eb84460b | ||
|
f630614546 | ||
|
96d4e6d4f5 | ||
|
2efcbde342 | ||
|
65a79d7a99 | ||
|
dd7e5ccbe3 | ||
|
ad3eb95eb8 | ||
|
c1559baafe | ||
|
30bd51eb1c | ||
|
ecd0933eff | ||
|
ca76904fb4 | ||
|
a346668dc8 | ||
|
a3bbc3ff4a | ||
|
6274d553df | ||
|
671f6f80f7 | ||
|
5583ea9a29 | ||
|
8b36d4e591 | ||
|
6b345a4dc9 | ||
|
87b625122b | ||
|
5ba419fae9 | ||
|
54495b8679 | ||
|
c81bdba306 | ||
|
e15baef696 | ||
|
4aa94a863d | ||
|
b0c0a5e8f8 | ||
|
ff8e1551ec | ||
|
3695642dff | ||
|
b95754ebf0 | ||
|
c7198e3533 | ||
|
f52e98eeb9 | ||
|
d39157e507 | ||
|
4616fc3987 | ||
|
83bb7a40a1 | ||
|
27053360e7 | ||
|
64a33c9b96 | ||
|
798c666ef6 | ||
|
e98b360771 | ||
|
48fd8a7e4c | ||
|
543cec0eda | ||
|
08ef87e2c4 | ||
|
c826776a7e | ||
|
7eec7272fb | ||
|
e923c51b28 | ||
|
8181e4c438 | ||
|
f31cb3555b | ||
|
848108f5ff | ||
|
bfbde84464 | ||
|
8335ab6c3e | ||
|
ecb0108555 | ||
|
7ca6ddd755 | ||
|
97b1f14a97 | ||
|
6d9fb22f57 | ||
|
7e84480753 | ||
|
dd4212542f | ||
|
61b875d310 | ||
|
96d5bd7f3e | ||
|
a3cb2e9159 | ||
|
fe95b416a7 | ||
|
b105cf1f64 | ||
|
1d9fe50467 | ||
|
794b005ec9 | ||
|
91d5db39e3 | ||
|
93e1029a96 | ||
|
2877530a88 | ||
|
e1b253905f | ||
|
427efa58c4 | ||
|
f4fd210b81 | ||
|
90a77be1f1 | ||
|
d0e9728b60 | ||
|
eb6b65295a | ||
|
3d4731e860 | ||
|
587f905ecf | ||
|
4988b9febb | ||
|
3e46e7dee4 | ||
|
c783c11af4 | ||
|
71d07c022c | ||
|
8b9b7cbff7 | ||
|
472444b63e | ||
|
6e5fb5a9fc | ||
|
d753a011df | ||
|
6d521e6103 | ||
|
b744909254 | ||
|
0163d58616 | ||
|
fc98590762 | ||
|
0e1481cf99 | ||
|
253fdf615e | ||
|
37325d28bf | ||
|
89e91cc9c9 | ||
|
b252a6c314 | ||
|
0c23cc7db4 | ||
|
540be97e30 | ||
|
714f124e41 | ||
|
13417a073b | ||
|
9fafdd639e | ||
|
72dd2f5416 | ||
|
18f062bf98 | ||
|
1b603cb01c | ||
|
1e15f43058 | ||
|
1dfcd520f3 | ||
|
740e530ac8 | ||
|
8184d70b4b | ||
|
c1be89c9f1 | ||
|
2dc7502b98 | ||
|
937bced02c | ||
|
a931ee4479 | ||
|
245de6bbf8 | ||
|
a563a8c3e9 | ||
|
bf7e55b24e | ||
|
39cb317208 | ||
|
dc335586c9 | ||
|
610b9fe7cc | ||
|
9a7af5fa87 | ||
|
b13b801bb3 | ||
|
061376afbc | ||
|
5c2121dd92 | ||
|
e1be4613c5 | ||
|
656a22cc5f | ||
|
635203a918 | ||
|
91d6d31861 | ||
|
e0673beda1 | ||
|
31bcef86d0 | ||
|
e837b6d3e4 | ||
|
1f80e3a10b | ||
|
2d58165370 | ||
|
abc666dd4c | ||
|
9edc888382 | ||
|
505d924996 | ||
|
eab64dd08a | ||
|
7a4b2fb05c | ||
|
5bf0afea2a | ||
|
46cac73324 | ||
|
a6cfcd1834 | ||
|
f25d712731 | ||
|
793dfc75bc | ||
|
ea35f0ea74 | ||
|
749e437e17 | ||
|
c7e66f5106 | ||
|
af1eed48fb | ||
|
f090ff730c | ||
|
85ae0263e8 | ||
|
d5ca152a0c | ||
|
9606d6a241 | ||
|
5c30feca91 | ||
|
2233fe9996 | ||
|
1ea00c68c2 | ||
|
671b858481 | ||
|
8e31c2b648 | ||
|
89a77ada83 | ||
|
7def5ecfc3 | ||
|
3df71b45ae | ||
|
9029acafb0 | ||
|
e90286d3f8 | ||
|
898425b3c8 | ||
|
5060f95354 | ||
|
d238499cfe | ||
|
fe15b4d166 | ||
|
420ce42cbf | ||
|
2fd3a12b6c | ||
|
199f52687a | ||
|
7ca34e13cf | ||
|
b4e09ff04b | ||
|
b879ce6513 | ||
|
14f373bbaa | ||
|
7f7c5cd28a | ||
|
7f981b6902 | ||
|
feb084a205 | ||
|
bb0ae184d6 | ||
|
c4ce94d726 | ||
|
ca785dcb59 | ||
|
15b79e3c1b | ||
|
43fbefe54a | ||
|
d06a8b577b | ||
|
360ebe45f0 | ||
|
97d97f1a89 | ||
|
3b705373a1 | ||
|
6732f68a5d | ||
|
f16d9d4993 | ||
|
520a1e0ca5 | ||
|
df622258f1 | ||
|
72d44d50d6 | ||
|
346b02e3c2 | ||
|
08402a15e6 | ||
|
ddc21d9cb9 | ||
|
cccac4accc | ||
|
92119e562a | ||
|
446ceb32d1 | ||
|
1ebf79bef1 | ||
|
153678034a | ||
|
633019acc7 | ||
|
4f8ba63aa7 | ||
|
b36e246795 | ||
|
b9381ffe06 | ||
|
9b76c7b924 | ||
|
5eec9e9c4c | ||
|
b0a7f1dece | ||
|
b8bfd1c72d | ||
|
35c40bec5c | ||
|
a0012b4a1c | ||
|
fc9d113141 | ||
|
5391a14719 | ||
|
8a79f5aec8 | ||
|
76eb967e3c | ||
|
c3ab8bf02a | ||
|
f9146f3d46 | ||
|
8c44138f27 | ||
|
8c26597835 | ||
|
d0f232d4ef | ||
|
6206af88c4 | ||
|
c3b8f1e67a | ||
|
3c8364db21 | ||
|
230ff0f92d | ||
|
abca833db7 | ||
|
6c76bf0f4a | ||
|
7d2493642d | ||
|
f4e68f4fac | ||
|
4e4bac4ba1 | ||
|
77581b138a | ||
|
bcbc897548 | ||
|
9d5a93871e | ||
|
f58c7d2423 | ||
|
b95490a987 | ||
|
6e292b90a0 | ||
|
b6397f67c9 | ||
|
b8179389ed | ||
|
fee56ffac0 | ||
|
12299631f8 | ||
|
34351b1720 | ||
|
b46ef406f6 | ||
|
47d9ba97cd | ||
|
761bf944d2 | ||
|
12395882d8 | ||
|
927d1305ad | ||
|
d86077666d | ||
|
dc298dc514 | ||
|
da5d3028a1 | ||
|
e51a0a2a5d | ||
|
5e1554210d | ||
|
a40d31304a | ||
|
d92a71d73e | ||
|
90fc9a3a10 | ||
|
e8dc4c0111 | ||
|
84e8d4eee4 | ||
|
923e19a64f | ||
|
12416ce90b | ||
|
b583bfb01e | ||
|
113c729ff2 | ||
|
6ae36f95eb | ||
|
d30d00611e | ||
|
accd8b6813 | ||
|
23b2ad4ea9 | ||
|
3b7a110749 | ||
|
3a56b3126f | ||
|
fcf206712c | ||
|
4c843315f9 | ||
|
4831750f1c | ||
|
d8640b7b57 | ||
|
5e315b426d | ||
|
4f41c73934 | ||
|
f0e3bdc476 | ||
|
63201a8fee | ||
|
531bf66f10 | ||
|
84a470a796 | ||
|
3e0a83c2d8 | ||
|
c0c841d3d6 | ||
|
cb2ca19c7c | ||
|
2d34c682fb | ||
|
5263b63ab3 | ||
|
8e2e954c19 | ||
|
291b33edeb | ||
|
51d446023c | ||
|
f107dafe58 | ||
|
a3d47754ff | ||
|
151cd9a9bf | ||
|
a16dd08264 | ||
|
3ec85f862b | ||
|
16bb29a8e3 | ||
|
89169a6699 | ||
|
1a888ec8c6 | ||
|
a31bb78070 | ||
|
280bae3f66 | ||
|
7ac9ed4a01 | ||
|
56e05f286a | ||
|
6a8ad70c8d | ||
|
141d385849 | ||
|
23efbb9276 | ||
|
6ba5da676e | ||
|
da7059a854 | ||
|
b799d8c5ab | ||
|
66b29a5a01 | ||
|
821e320710 | ||
|
19f3db36d5 | ||
|
6fcef47ff3 | ||
|
25db38edf8 | ||
|
894bc01b08 | ||
|
7528e26614 | ||
|
0d242946fc | ||
|
93f223b988 | ||
|
f6b4fd339b | ||
|
92ba28da45 | ||
|
e757b8fea7 | ||
|
88adefb092 | ||
|
d9724a52c6 | ||
|
e1879be8a9 | ||
|
30ab7e556a | ||
|
3be402f289 | ||
|
b408d0c561 | ||
|
0eea84d6c2 | ||
|
7e7700f08b | ||
|
323d394edc | ||
|
a1bfa7b1cd | ||
|
6d5f8a7826 | ||
|
ff40d6ea96 | ||
|
6583e947bf | ||
|
2f574c1b6e | ||
|
d4c27c6c33 | ||
|
1a7a6e4685 | ||
|
968979c6e1 | ||
|
97589d984c | ||
|
45e2f22b52 | ||
|
a39c91b1d0 | ||
|
70f66a8759 | ||
|
2b26d2ea29 | ||
|
cc509aeaa1 | ||
|
57ece5a0c0 | ||
|
2e2aff97c7 | ||
|
8faa47e528 | ||
|
f6f03a919a | ||
|
83c7edc512 | ||
|
a041c2e40c | ||
|
75c185c771 | ||
|
d6a705a9d7 | ||
|
6667178a2f | ||
|
b473a951da | ||
|
c386e8b52b | ||
|
0d57e0fde9 | ||
|
8faffd0fe6 | ||
|
cb8e2a0727 | ||
|
817be6f7a5 | ||
|
417c9fb948 | ||
|
43362191b2 | ||
|
d8343041aa | ||
|
8108edb5fe | ||
|
94757c7582 | ||
|
ca56bffdae | ||
|
1c434d5ce7 | ||
|
366ca8a214 | ||
|
a2738a0df3 | ||
|
0544eade10 |
156
.dockerignore
Normal file
156
.dockerignore
Normal file
@ -0,0 +1,156 @@
|
||||
# Compiled Object files
|
||||
*.slo
|
||||
*.lo
|
||||
*.o
|
||||
*.obj
|
||||
*.lo
|
||||
*.pyc
|
||||
|
||||
# Compiled Dynamic libraries
|
||||
*.so
|
||||
*.dylib
|
||||
*.dll
|
||||
|
||||
# Compiled Static libraries
|
||||
*.lai
|
||||
*.la
|
||||
*.a
|
||||
*.lib
|
||||
|
||||
# Executables
|
||||
*.exe
|
||||
*.out
|
||||
*.app
|
||||
|
||||
# Autotool stuff
|
||||
.deps
|
||||
/Makefile
|
||||
/include/Makefile
|
||||
Makefile.in
|
||||
aclocal.m4
|
||||
autom4te.cache
|
||||
/include/mega/config.h
|
||||
/include/mega/config.h.in
|
||||
configure
|
||||
depcomp
|
||||
*.swp
|
||||
install-sh
|
||||
libtool
|
||||
ltmain.sh
|
||||
missing
|
||||
.libs
|
||||
stamp-h1
|
||||
.dirstamp
|
||||
libmega.pc
|
||||
*.db
|
||||
.ycm_extra_conf.py
|
||||
test-driver
|
||||
m4/libtool.m4
|
||||
m4/ltoptions.m4
|
||||
m4/ltsugar.m4
|
||||
m4/ltversion.m4
|
||||
m4/lt~obsolete.m4
|
||||
compile
|
||||
clean
|
||||
config.guess
|
||||
config.log
|
||||
config.status
|
||||
config.sub
|
||||
py-compile
|
||||
|
||||
# Editor and IDE stuff
|
||||
*~
|
||||
.project
|
||||
.cproject
|
||||
.settings
|
||||
*~
|
||||
Debug
|
||||
Release
|
||||
*.pro.user*
|
||||
|
||||
megaclient_statecache*
|
||||
|
||||
|
||||
mega-cmd
|
||||
mega-exec
|
||||
mega-cmd-server
|
||||
mega-cmd-integration-tests
|
||||
mega-cmd-unit-tests
|
||||
|
||||
/contrib/QtCreator/MEGAcmd/MEGAcmd.pro.user
|
||||
/contrib/QtCreator/MEGAcmd/MEGAcmd
|
||||
/contrib/QtCreator/MEGAcmd/Makefile
|
||||
/contrib/QtCreator/MEGAcmd/moc_*.cpp
|
||||
src/build/Release_x64
|
||||
MEGAcmdServer.pro.user
|
||||
/src/build/megacmd/megacmd.dsc
|
||||
/src/build/megacmd/megacmd.spec
|
||||
/src/build/megacmd/megacmd_*.tar.gz
|
||||
/src/build/megacmd/PKGBUILD
|
||||
/contrib/QtCreator/MEGAcmd/MEGAcmdClient/MEGAclient
|
||||
/contrib/QtCreator/MEGAcmd/MEGAcmdClient/Makefile
|
||||
/contrib/QtCreator/MEGAcmd/MEGAcmdShell/MEGAcmdShell
|
||||
/contrib/QtCreator/MEGAcmd/MEGAcmdUpdater/MEGAcmdUpdater
|
||||
/contrib/QtCreator/MEGAcmd/MEGAcmdServer/MEGAcmd
|
||||
/contrib/QtCreator/MEGAcmd/MEGAcmdServer/Makefile
|
||||
/contrib/QtCreator/MEGAcmd/MEGAcmdLoader/MEGAcmdLoader
|
||||
/contrib/QtCreator/MEGAcmd/MEGAcmdLoader/Makefile
|
||||
/contrib/QtCreator/build-*
|
||||
|
||||
|
||||
#built stuff
|
||||
build/archives
|
||||
build/megacmd-*
|
||||
megacmdconfig.h
|
||||
megacmdconfig.h.in
|
||||
/build/megacmd/PKGBUILD
|
||||
/build/megacmd/megacmd.dsc
|
||||
/build/megacmd/megacmd.spec
|
||||
/build/megacmd/megacmd_*.tar.gz
|
||||
/build/build-cmake-*
|
||||
/build/cmake/CMakeLists.txt.user
|
||||
contrib/QtCreator/MEGAcmd/MEGAcmdServer/Makefile.Debug
|
||||
contrib/QtCreator/MEGAcmd/.qmake.stash
|
||||
contrib/QtCreator/MEGAcmd/MEGAcmdClient/Makefile.Debug
|
||||
contrib/QtCreator/MEGAcmd/MEGAcmdClient/Makefile.Release
|
||||
contrib/QtCreator/MEGAcmd/MEGAcmdServer/Makefile.Release
|
||||
contrib/QtCreator/MEGAcmd/MEGAcmdUpdateGenerator/Makefile*
|
||||
contrib/QtCreator/MEGAcmd/MEGAcmdUpdater/Makefile*
|
||||
contrib/QtCreator/MEGAcmd/build-*
|
||||
contrib/QtCreator/*/Makefile
|
||||
contrib/QtCreator/*/*/Makefile
|
||||
contrib/QtCreator/*/*/*/Makefile
|
||||
test_integration
|
||||
test_unit
|
||||
.qtc_clangd
|
||||
CMakeFiles
|
||||
build-x64-windows-mega
|
||||
Makefile.Debug
|
||||
Makefile.Release
|
||||
|
||||
build/Release_x64
|
||||
/build/megacmd/megacmd*.dsc
|
||||
|
||||
#git stuff
|
||||
*_BACKUP_*
|
||||
*_BASE_*
|
||||
*_LOCAL_*
|
||||
*_REMOTE_*
|
||||
.git
|
||||
|
||||
#backups
|
||||
*_bk
|
||||
compile_commands.json
|
||||
build/cmake/.cmake/
|
||||
build/cmake/CMakeCache.txt
|
||||
build/cmake/CMakeCache.txt.prev
|
||||
build/cmake/Makefile
|
||||
build/cmake/Testing/
|
||||
build/cmake/cmake_install.cmake
|
||||
build/cmake/compile_commands.json
|
||||
build/cmake/qtcsettings.cmake
|
||||
# Created by configure
|
||||
config.cache
|
||||
# Created by clangd
|
||||
.cache
|
||||
build-with-docker
|
71
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
Normal file
71
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
Normal file
@ -0,0 +1,71 @@
|
||||
name: Bug Report
|
||||
description: "Report an issue with MEGAcmd"
|
||||
labels: ["bug"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: "Thank you for filing a bug report!"
|
||||
- type: dropdown
|
||||
id: version
|
||||
attributes:
|
||||
label: "MEGAcmd version"
|
||||
description: "Which version of MEGAcmd did you encountered this issue? (Can be looked up using the `version` command)"
|
||||
options:
|
||||
- 1.7.0
|
||||
- 1.6.3
|
||||
- 1.6.2
|
||||
- 1.6.1
|
||||
- 1.6.0
|
||||
- 1.5.1
|
||||
- 1.5.0
|
||||
- 1.4.1
|
||||
- 1.3.0
|
||||
- 1.2.0
|
||||
- 1.1.0
|
||||
- 1.0.0
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: platform
|
||||
attributes:
|
||||
label: "Operating System/Platform"
|
||||
description: "What platform are you using MEGAcmd on?"
|
||||
options:
|
||||
- Windows
|
||||
- Linux
|
||||
- MacOS
|
||||
- Synology
|
||||
- QNAP
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: platform-version
|
||||
attributes:
|
||||
label: "Platform version. In the case of Linux, please enter the Linux distribution you are using."
|
||||
placeholder: "ex. Windows 11 Pro"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: steps
|
||||
attributes:
|
||||
label: "Steps"
|
||||
description: "What steps did you take you encounter this issue?"
|
||||
placeholder: |
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
4.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: expected-behavior
|
||||
attributes:
|
||||
label: "Expected behavior"
|
||||
description: "What did you expect to happen?"
|
||||
- type: textarea
|
||||
id: actual-behavior
|
||||
attributes:
|
||||
label: "Actual behavior"
|
||||
description: "What actually happened?"
|
||||
validations:
|
||||
required: true
|
24
.gitignore
vendored
24
.gitignore
vendored
@ -66,7 +66,7 @@ py-compile
|
||||
*~
|
||||
Debug
|
||||
Release
|
||||
*.pro.user
|
||||
*.pro.user*
|
||||
|
||||
megaclient_statecache*
|
||||
|
||||
@ -74,6 +74,8 @@ megaclient_statecache*
|
||||
mega-cmd
|
||||
mega-exec
|
||||
mega-cmd-server
|
||||
mega-cmd-integration-tests
|
||||
mega-cmd-unit-tests
|
||||
|
||||
/contrib/QtCreator/MEGAcmd/MEGAcmd.pro.user
|
||||
/contrib/QtCreator/MEGAcmd/MEGAcmd
|
||||
@ -87,6 +89,8 @@ MEGAcmdServer.pro.user
|
||||
/src/build/megacmd/PKGBUILD
|
||||
/contrib/QtCreator/MEGAcmd/MEGAcmdClient/MEGAclient
|
||||
/contrib/QtCreator/MEGAcmd/MEGAcmdClient/Makefile
|
||||
/contrib/QtCreator/MEGAcmd/MEGAcmdShell/MEGAcmdShell
|
||||
/contrib/QtCreator/MEGAcmd/MEGAcmdUpdater/MEGAcmdUpdater
|
||||
/contrib/QtCreator/MEGAcmd/MEGAcmdServer/MEGAcmd
|
||||
/contrib/QtCreator/MEGAcmd/MEGAcmdServer/Makefile
|
||||
/contrib/QtCreator/MEGAcmd/MEGAcmdLoader/MEGAcmdLoader
|
||||
@ -105,6 +109,7 @@ megacmdconfig.h.in
|
||||
/build/megacmd/megacmd_*.tar.gz
|
||||
/build/build-cmake-*
|
||||
/build/cmake/CMakeLists.txt.user
|
||||
build/cmake/build_dir
|
||||
contrib/QtCreator/MEGAcmd/MEGAcmdServer/Makefile.Debug
|
||||
contrib/QtCreator/MEGAcmd/.qmake.stash
|
||||
contrib/QtCreator/MEGAcmd/MEGAcmdClient/Makefile.Debug
|
||||
@ -113,13 +118,30 @@ contrib/QtCreator/MEGAcmd/MEGAcmdServer/Makefile.Release
|
||||
contrib/QtCreator/MEGAcmd/MEGAcmdUpdateGenerator/Makefile*
|
||||
contrib/QtCreator/MEGAcmd/MEGAcmdUpdater/Makefile*
|
||||
contrib/QtCreator/MEGAcmd/build-*
|
||||
contrib/QtCreator/*/Makefile
|
||||
contrib/QtCreator/*/*/Makefile
|
||||
contrib/QtCreator/*/*/*/Makefile
|
||||
test_integration
|
||||
test_unit
|
||||
.qtc_clangd
|
||||
CMakeFiles
|
||||
build-x64-windows-mega
|
||||
build-x86-windows-mega
|
||||
Makefile.Debug
|
||||
Makefile.Release
|
||||
|
||||
/Makefile*
|
||||
build/Release_x64
|
||||
/build/megacmd/megacmd*.dsc
|
||||
|
||||
build/built64
|
||||
build/built32
|
||||
|
||||
#git stuff
|
||||
*_BACKUP_*
|
||||
*_BASE_*
|
||||
*_LOCAL_*
|
||||
*_REMOTE_*
|
||||
|
||||
#backups
|
||||
*_bk
|
||||
|
35
README.md
35
README.md
@ -40,17 +40,8 @@ In order to have support for thumbnails and previews, it is highly recommended t
|
||||
* In some instanances you may need to run
|
||||
`apt install --reinstall build-essential`
|
||||
|
||||
* **Windows**
|
||||
|
||||
* For Windows, we have recently overhauled the build system and now all the steps are captured in this one script that will acquire and build all dependencies, as well as building MEGAcmd itself, using vcpkg and cmake. To get and use this script, follow these steps in a command prompt:
|
||||
* git clone --recurse-submodules --branch tag/youChoose https://github.com/meganz/MEGAcmd.git
|
||||
* cd megacmd/build/cmake
|
||||
* fullBuildFromScratchOnWindows x64-windows-mega
|
||||
|
||||
* **MacOS**
|
||||
|
||||
* For MacOS, here is a bundle with all the 3rd party dependencies required to build, plus a `config.h` file to be placed at `sdk/include/mega/config.h`:
|
||||
https://mega.nz/#F!WwZyBZRL!1vXiBr7pJZLINpSRErBxvA
|
||||
* **Windows and MacOS**
|
||||
* The simplest way to build on Windows and MacOS is to use CMake. In that case, all required dependencies will be downloaded and compiled automatically.
|
||||
|
||||
## Getting the source
|
||||
|
||||
@ -62,6 +53,7 @@ cd MEGAcmd && git submodule update --init --recursive
|
||||
|
||||
## Building and installing
|
||||
|
||||
### With Autotools
|
||||
For platforms with Autotools, MEGAcmd can be built and installed with:
|
||||
|
||||
sh autogen.sh
|
||||
@ -75,9 +67,26 @@ For platforms with Autotools, MEGAcmd can be built and installed with:
|
||||
won't work. You would need to `source /YOUR/PREFIX/etc/bash_completion.d/megacmd_completion.sh`
|
||||
(or link it at /etc/bash_completion.d)
|
||||
|
||||
Alternatively you can build using Qt project located at `contrib/QtCreator/MEGAcmd/MEGAcmd.pro`.
|
||||
### With CMake
|
||||
With CMake, all third-party libraries and dependencies will be downloaded and compiled automatically in `../3rdparty_megacmd/`. Nothing else is required; the `build_from_scratch` script takes care of everything. Just navigate to `build/cmake/` and run:
|
||||
```
|
||||
cmake -DTRIPLET=<triplet> -P build_from_scratch.cmake
|
||||
```
|
||||
|
||||
For Windows/MacOS you will need to place the `3rdparty` folder (included in the dependency bundle referenced [`above`](#requirements)) into `sdk/bindings/qt/`.
|
||||
Some notes on the above command:
|
||||
* The `<triplet>` options are (depending on OS and architecture):
|
||||
* For Windows, either `x64-windows-mega` or `x86-windows-mega`
|
||||
* For MacOS, either `arm64-osx-mega` or `x64-osx-mega`
|
||||
* After third-party dependencies are downloaded, the build of the project itself may be controlled with an optional `-DTARGET` parameter (or multiple targets separated by semicolons)
|
||||
* If not provided, everything will be built (equivalent to `make all`)
|
||||
* On Windows
|
||||
* You can use a CMake version from a newer Visual Studio using the `-G` option (e.g., `-G Visual Studio 16 2019`)
|
||||
* The directory `../3rdparty_megacmd/vcpkg/installed/<triplet>/debug/bin/` (or `../3rdparty_megacmd/vcpkg/installed/<triplet>/bin` for release) must be added to `PATH` _as an absolute path_ to be able to run the executables properly
|
||||
|
||||
If the build is successful, the binaries will be located in `build-<triplet>/`.
|
||||
|
||||
### With QtCreator
|
||||
You can build with QtCreator by opening the Qt project file at `contrib/QtCreator/MEGAcmd/MEGAcmd.pro`.
|
||||
|
||||
# Usage
|
||||
|
||||
|
1072
UserGuide.md
1072
UserGuide.md
File diff suppressed because it is too large
Load Diff
23
build-with-docker/Dockerfile
Normal file
23
build-with-docker/Dockerfile
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
FROM debian:11-slim
|
||||
|
||||
|
||||
ADD ./builder.sh /opt/builder.sh
|
||||
RUN chmod +x /opt/builder.sh
|
||||
|
||||
# install all build dependencies
|
||||
RUN apt-get update; \
|
||||
apt-get install -y libzen-dev libmediainfo-dev pkg-config debhelper libcrypto++-dev libpcre3-dev libc-ares-dev libssl-dev \
|
||||
libsqlite3-dev zlib1g-dev wget dh-autoreconf libtool-bin libreadline-dev libfreeimage-dev \
|
||||
libsodium-dev libuv1-dev libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libmediainfo-dev libzen-dev zip libicu-dev
|
||||
|
||||
#Install pdfium
|
||||
RUN wget https://artifactory.developers.mega.co.nz/artifactory/debian-dev/private/Debian_11/amd64/pdfium-mega_5247.0-4.1_amd64.deb
|
||||
RUN apt-get install -y $PWD/pdfium-mega_5247.0-4.1_amd64.deb
|
||||
|
||||
#Install gtest
|
||||
RUN apt-get install -y libgtest-dev libgmock-dev
|
||||
|
||||
RUN apt-get clean && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
ENTRYPOINT /opt/builder.sh
|
109
build-with-docker/Dockerfile.autotools
Normal file
109
build-with-docker/Dockerfile.autotools
Normal file
@ -0,0 +1,109 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
FROM scratch as pdfium
|
||||
ADD https://artifactory.developers.mega.co.nz/artifactory/debian-dev/private/Debian_12/amd64/pdfium-mega_5247.0-4.1_amd64.deb /tmp/pdfium/pdfium-mega.deb
|
||||
|
||||
FROM debian:12-slim as base
|
||||
|
||||
RUN rm -f /etc/apt/apt.conf.d/docker-clean; \
|
||||
echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache
|
||||
|
||||
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
|
||||
--mount=type=cache,target=/var/lib/apt,sharing=locked \
|
||||
--mount=type=bind,from=pdfium,source=/tmp/pdfium/pdfium-mega.deb,target=/tmp/pdfium/pdfium-mega.deb \
|
||||
apt-get update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
googletest \
|
||||
libasan8 \
|
||||
libtsan2 \
|
||||
libavcodec59 \
|
||||
libavformat59 \
|
||||
libavutil57 \
|
||||
libc6 \
|
||||
libpcrecpp0v5 \
|
||||
libc-ares2 \
|
||||
libcrypto++8 \
|
||||
libfreeimage3 \
|
||||
libgcc-s1 \
|
||||
libicu72 \
|
||||
libmediainfo0v5 \
|
||||
libpcre3 \
|
||||
libpcre32-3 \
|
||||
libreadline8 \
|
||||
libsodium23 \
|
||||
libsqlite3-0 \
|
||||
libssl3 \
|
||||
libstdc++6 \
|
||||
libswscale6 \
|
||||
libtinyxml2-9 \
|
||||
libtinyxml2.6.2v5 \
|
||||
libubsan1 \
|
||||
libuv1 \
|
||||
libzen0v5 \
|
||||
zlib1g \
|
||||
gpg \
|
||||
/tmp/pdfium/pdfium-mega.deb
|
||||
|
||||
FROM base as build-deps
|
||||
|
||||
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
|
||||
--mount=type=cache,target=/var/lib/apt,sharing=locked \
|
||||
apt-get update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
build-essential \
|
||||
ccache \
|
||||
debhelper dh-autoreconf \
|
||||
libavcodec-dev \
|
||||
libavformat-dev \
|
||||
libavutil-dev \
|
||||
libc-ares-dev \
|
||||
libcrypto++-dev \
|
||||
libfreeimage-dev \
|
||||
libgmock-dev \
|
||||
libgtest-dev \
|
||||
libicu-dev \
|
||||
libmediainfo-dev \
|
||||
libpcre3-dev \
|
||||
libreadline-dev \
|
||||
libsodium-dev \
|
||||
libsqlite3-dev \
|
||||
libssl-dev \
|
||||
libswscale-dev \
|
||||
libtinyxml2-dev \
|
||||
libtool-bin \
|
||||
libuv1-dev \
|
||||
libzen-dev \
|
||||
pkg-config \
|
||||
zip \
|
||||
zlib1g-dev
|
||||
|
||||
FROM scratch as src
|
||||
WORKDIR /usr/src/megacmd
|
||||
COPY sdk ./sdk
|
||||
COPY src ./src
|
||||
COPY tests ./tests
|
||||
COPY build ./build
|
||||
COPY contrib ./contrib
|
||||
COPY Makefile.am autogen.sh clean.sh configure.ac ./
|
||||
|
||||
FROM build-deps as build
|
||||
|
||||
WORKDIR /usr/src/megacmd
|
||||
|
||||
ENV CC "ccache gcc-12"
|
||||
ENV CXX "ccache g++-12"
|
||||
ENV CCACHE_DIR /tmp/ccache
|
||||
ARG BUILD_OPT_SANITIZERS=all
|
||||
|
||||
COPY --from=src /usr/src/megacmd /usr/src/megacmd
|
||||
|
||||
RUN --mount=type=cache,target=/tmp/ccache \
|
||||
./autogen.sh \
|
||||
&& ./configure --disable-silent-rules --prefix=/usr/local \
|
||||
--disable-examples --enable-megacmd-tests --with-gtest \
|
||||
--enable-sanitizer=${BUILD_OPT_SANITIZERS} --enable-debug \
|
||||
&& make -j$(nproc) && make install
|
||||
|
||||
FROM base as final
|
||||
|
||||
ENV LD_LIBRARY_PATH /usr/local/lib
|
||||
COPY --from=build /usr/local/ /usr/local/
|
129
build-with-docker/Dockerfile.c-make
Normal file
129
build-with-docker/Dockerfile.c-make
Normal file
@ -0,0 +1,129 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
FROM scratch as pdfium
|
||||
ADD https://artifactory.developers.mega.co.nz/artifactory/debian-dev/private/Debian_12/amd64/pdfium-mega_5247.0-4.1_amd64.deb /tmp/pdfium/pdfium-mega.deb
|
||||
|
||||
FROM debian:12-slim as base
|
||||
|
||||
RUN rm -f /etc/apt/apt.conf.d/docker-clean; \
|
||||
echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache
|
||||
|
||||
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
|
||||
--mount=type=cache,target=/var/lib/apt,sharing=locked \
|
||||
--mount=type=bind,from=pdfium,source=/tmp/pdfium/pdfium-mega.deb,target=/tmp/pdfium/pdfium-mega.deb \
|
||||
apt-get update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
googletest \
|
||||
libasan8 \
|
||||
libtsan2 \
|
||||
libavcodec59 \
|
||||
libavformat59 \
|
||||
libavutil57 \
|
||||
libc6 \
|
||||
libpcrecpp0v5 \
|
||||
libc-ares2 \
|
||||
libcrypto++8 \
|
||||
libfreeimage3 \
|
||||
libgcc-s1 \
|
||||
libicu72 \
|
||||
libmediainfo0v5 \
|
||||
libpcre3 \
|
||||
libpcre32-3 \
|
||||
libreadline8 \
|
||||
libsodium23 \
|
||||
libsqlite3-0 \
|
||||
libssl3 \
|
||||
libstdc++6 \
|
||||
libswscale6 \
|
||||
libtinyxml2-9 \
|
||||
libtinyxml2.6.2v5 \
|
||||
libubsan1 \
|
||||
libuv1 \
|
||||
libzen0v5 \
|
||||
zlib1g \
|
||||
gpg \
|
||||
/tmp/pdfium/pdfium-mega.deb
|
||||
|
||||
FROM base as build-deps
|
||||
|
||||
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
|
||||
--mount=type=cache,target=/var/lib/apt,sharing=locked \
|
||||
apt-get update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
build-essential \
|
||||
ccache \
|
||||
debhelper dh-autoreconf \
|
||||
libavcodec-dev \
|
||||
libavformat-dev \
|
||||
libavutil-dev \
|
||||
libc-ares-dev \
|
||||
libcrypto++-dev \
|
||||
libfreeimage-dev \
|
||||
libgmock-dev \
|
||||
libgtest-dev \
|
||||
libicu-dev \
|
||||
libmediainfo-dev \
|
||||
libpcre3-dev \
|
||||
libreadline-dev \
|
||||
libsodium-dev \
|
||||
libsqlite3-dev \
|
||||
libssl-dev \
|
||||
libswscale-dev \
|
||||
libtinyxml2-dev \
|
||||
libtool-bin \
|
||||
libuv1-dev \
|
||||
libzen-dev \
|
||||
pkg-config \
|
||||
zip \
|
||||
zlib1g-dev
|
||||
|
||||
FROM build-deps as build-deps-cmake
|
||||
|
||||
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
|
||||
--mount=type=cache,target=/var/lib/apt,sharing=locked \
|
||||
apt-get update \
|
||||
&& apt-get install -y --no-install-recommends cmake
|
||||
|
||||
FROM scratch as src
|
||||
|
||||
WORKDIR /usr/src/megacmd
|
||||
COPY Makefile.am autogen.sh clean.sh configure.ac ./
|
||||
COPY sdk ./sdk
|
||||
COPY src ./src
|
||||
COPY build ./build
|
||||
COPY contrib ./contrib
|
||||
COPY tests/common ./tests/common
|
||||
COPY tests/integration ./tests/integration
|
||||
COPY tests/unit ./tests/unit
|
||||
|
||||
FROM build-deps-cmake as build
|
||||
|
||||
WORKDIR /usr/src/megacmd
|
||||
|
||||
ENV CC "ccache gcc-12"
|
||||
ENV CXX "ccache g++-12"
|
||||
ENV CCACHE_DIR /tmp/ccache
|
||||
ARG ENABLE_ASAN=ON
|
||||
ARG ENABLE_UBSAN=ON
|
||||
ARG ENABLE_TSAN=OFF
|
||||
ARG ENABLE_MEGACMD_TESTS=ON
|
||||
|
||||
COPY --from=src /usr/src/megacmd /usr/src/megacmd
|
||||
|
||||
RUN --mount=type=cache,target=/tmp/ccache \
|
||||
--mount=type=tmpfs,target=/tmp/build \
|
||||
cmake -S build/cmake -B /tmp/build \
|
||||
-D ENABLE_ASAN=${ENABLE_ASAN} -D \
|
||||
ENABLE_UBSAN=${ENABLE_UBSAN} -D \
|
||||
ENABLE_TSAN=${ENABLE_TSAN} -D \
|
||||
ENABLE_MEGACMD_TESTS=${ENABLE_MEGACMD_TESTS} \
|
||||
&& make -C /tmp/build -j$(nproc) mega-cmd mega-cmd-server mega-exec \
|
||||
mega-cmd-updater mega-cmd-tests-integration mega-cmd-tests-unit \
|
||||
&& cd /tmp/build \
|
||||
&& install mega-cmd mega-cmd-server \
|
||||
mega-cmd-tests-integration mega-cmd-tests-unit \
|
||||
mega-cmd-updater mega-exec \
|
||||
/usr/local/bin/
|
||||
|
||||
FROM base as final
|
||||
|
||||
COPY --from=build /usr/local/ /usr/local/
|
30
build-with-docker/builder.sh
Normal file
30
build-with-docker/builder.sh
Normal file
@ -0,0 +1,30 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
volume_dest="/opt/megacmd"
|
||||
owner_uid=`stat -c "%u" $volume_dest`
|
||||
owner_gid=`stat -c "%g" $volume_dest`
|
||||
|
||||
|
||||
groupadd -g $owner_gid jenkins
|
||||
echo "Adding \"jenkins\" user..."
|
||||
useradd -r -M -u $owner_uid -g $owner_gid -d $volume_dest -s /bin/bash jenkins
|
||||
chown -R jenkins:jenkins $volume_dest
|
||||
|
||||
echo "Configuring core dumpings on docker"
|
||||
ulimit -c unlimited
|
||||
rm -rf installdir || :
|
||||
|
||||
exec su - jenkins -c "
|
||||
set -e
|
||||
./autogen.sh
|
||||
./sdk/contrib/build_sdk.sh -b -g -f -I -i -s -n -z -o ./3rd_pkgs -p ./3rd_deps
|
||||
rm ./3rd_deps/include/sqlite* ./3rd_deps/lib/libsqlite* || :
|
||||
./configure --disable-silent-rules --disable-examples --prefix=$volume_dest/installdir --with-curl=$volume_dest/3rd_deps --disable-curl-checks --enable-megacmd-tests --with-gtest
|
||||
|
||||
make clean
|
||||
make
|
||||
make install
|
||||
|
||||
#now run the unit tests
|
||||
$volume_dest/installdir/bin/mega-cmd-unit-tests
|
||||
"
|
@ -3,7 +3,7 @@ QPKG_NAME="MEGAcmd"
|
||||
# Name of the display application.
|
||||
QPKG_DISPLAY_NAME="MEGAcmd"
|
||||
# Version of the packaged application.
|
||||
QPKG_VER="1.6.3"
|
||||
QPKG_VER="1.7.0"
|
||||
# Author or maintainer of the package
|
||||
QPKG_AUTHOR="Mega.nz"
|
||||
# One-line description of the packaged application
|
||||
|
@ -3,7 +3,7 @@
|
||||
source /pkgscripts/include/pkg_util.sh
|
||||
|
||||
package="megacmdpkg"
|
||||
version="1.6.3-0001"
|
||||
version="1.7.0-0001"
|
||||
displayname="MEGAcmd"
|
||||
maintainer="Mega NZ"
|
||||
|
||||
|
39
build/build_3rd_parties.cmd
Normal file
39
build/build_3rd_parties.cmd
Normal file
@ -0,0 +1,39 @@
|
||||
IF "%1%" EQU "-help" (
|
||||
goto Usage
|
||||
)
|
||||
|
||||
IF [%MEGA_VCPKGPATH%]==[] (
|
||||
SET MEGA_VCPKGPATH="C:\mega\dev\3rdparty_megacmd"
|
||||
)
|
||||
|
||||
SET MEGA_ARCH=%1
|
||||
|
||||
:: CHECK ARCHITECTURE
|
||||
IF "%MEGA_ARCH%" EQU "64" (
|
||||
echo "Info: Building x64 only"
|
||||
SET MEGA_SKIP_32_BIT_BUILD=true
|
||||
) ELSE (
|
||||
IF "%MEGA_ARCH%" EQU "32/64" (
|
||||
echo "Info: Building both x64 and x86"
|
||||
) ELSE (
|
||||
echo "Please add the architecture as first parameter: 64 or 32/64"
|
||||
goto Usage
|
||||
)
|
||||
)
|
||||
|
||||
cd cmake
|
||||
|
||||
cmake -G "Visual Studio 16 2019" -D3RDPARTY_DIR=%MEGA_VCPKGPATH% -DSKIP_PROJECT_BUILD=1 -DTRIPLET=x64-windows-mega -P build_from_scratch.cmake || exit 1 /b
|
||||
|
||||
IF NOT "%MEGA_SKIP_32_BIT_BUILD%" == "true" (
|
||||
cmake -G "Visual Studio 16 2019" -D3RDPARTY_DIR=%MEGA_VCPKGPATH% -DSKIP_PROJECT_BUILD=1 -DTRIPLET=x86-windows-mega -P build_from_scratch.cmake || exit 1 /b
|
||||
)
|
||||
|
||||
cd ..
|
||||
|
||||
exit /b
|
||||
|
||||
:Usage
|
||||
echo "Usage: %~0 [-help] [32|32/64|64]"
|
||||
echo Script for building vcpkg 3rd party dependencies"
|
||||
exit 2 /b
|
@ -1,6 +1,26 @@
|
||||
# For convenient building on windows, eg via generating Visual Studio projects and solutions. Adjust the 'include' line to refer to your repo of MegaSDK
|
||||
|
||||
cmake_minimum_required(VERSION 3.8)
|
||||
|
||||
# Set min OSX version
|
||||
if(CMAKE_HOST_APPLE)
|
||||
# Minimum deployment target differs if we are building for intel or arm64 targets
|
||||
# CMAKE_SYSTEM_PROCESSOR and CMAKE_HOST_SYSTEM_PROCESSOR are only available after project()
|
||||
execute_process(
|
||||
COMMAND uname -m
|
||||
OUTPUT_VARIABLE HOST_ARCHITECTURE
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
# Setup CMAKE_OSX_DEPLOYMENT_TARGET before project()
|
||||
if(CMAKE_OSX_ARCHITECTURES STREQUAL "arm64" OR (NOT CMAKE_OSX_ARCHITECTURES AND HOST_ARCHITECTURE STREQUAL "arm64"))
|
||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "11.1" CACHE STRING "Minimum OS X deployment version")
|
||||
else()
|
||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.13" CACHE STRING "Minimum OS X deployment version")
|
||||
endif()
|
||||
message(STATUS "Minimum OS X deployment version is set to ${CMAKE_OSX_DEPLOYMENT_TARGET}")
|
||||
unset(HOST_ARCHITECTURE)
|
||||
endif()
|
||||
|
||||
project(MEGAcmd)
|
||||
|
||||
# Turn on SDK flags which might be off by default in the SDK, but should be on for MEGAcmd, also set to 0 flags we want to be aware of but not use yet
|
||||
@ -19,6 +39,16 @@ set (USE_PCRE 1 CACHE STRING "Provides pattern matching functionality for sync r
|
||||
set (HAVE_FFMPEG 1 CACHE STRING "Used to create previews/thumbnails for video files")
|
||||
set (USE_FFMPEG 1 CACHE STRING "Used to create previews/thumbnails for video files")
|
||||
|
||||
# Flags for enabling runtime checks
|
||||
option (ENABLE_ASAN "Build MEGAcmd with AddressSanitizer" OFF)
|
||||
option (ENABLE_UBSAN "Build MEGAcmd with UndefinedBehaviorSanitizer" OFF)
|
||||
option (ENABLE_TSAN "Build MEGAcmd with ThreadSanitizer" OFF)
|
||||
option (ENABLE_MEGACMD_TESTS "Build MEGAcmd with tests" OFF)
|
||||
|
||||
if(ENABLE_MEGACMD_TESTS)
|
||||
add_definitions( -DMEGACMD_TESTING_CODE )
|
||||
endif()
|
||||
|
||||
if(WIN32)
|
||||
add_definitions( -DUNICODE -D_UNICODE ) # needed for visual studio projects to use the unicode runtime libraries
|
||||
|
||||
@ -28,11 +58,40 @@ if(WIN32)
|
||||
endif()
|
||||
|
||||
#specify where 3rd party libraries are available
|
||||
set(Mega3rdPartyDir "${CMAKE_CURRENT_LIST_DIR}/../../../3rdparty" CACHE STRING "")
|
||||
set(Mega3rdPartyDir "${CMAKE_CURRENT_LIST_DIR}/../../../3rdparty_megacmd" CACHE STRING "")
|
||||
|
||||
# Include SDK's CMakeLists.txt
|
||||
# this line could also point to an sdk repo outside this one, or you can use the submodule in ./sdk folder
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/../../sdk/contrib/cmake/CMakeLists.txt)
|
||||
|
||||
|
||||
#Substract not needed avfilter/avdevice when not using vcpkg (linux' system ones)
|
||||
if (NOT USE_THIRDPARTY_FROM_VCPKG) #vcpkg or system
|
||||
get_target_property(OVERRIDING_TARGET_LIBRARIES Mega INTERFACE_LINK_LIBRARIES)
|
||||
LIST(REMOVE_ITEM OVERRIDING_TARGET_LIBRARIES $<${HAVE_FFMPEG}:avfilter> )
|
||||
LIST(REMOVE_ITEM OVERRIDING_TARGET_LIBRARIES $<${HAVE_FFMPEG}:avdevice> )
|
||||
set_property(TARGET Mega PROPERTY INTERFACE_LINK_LIBRARIES ${OVERRIDING_TARGET_LIBRARIES} )
|
||||
endif()
|
||||
|
||||
#ensure NDEBUG is set when not debugging
|
||||
if (NOT CMAKE_BUILD_TYPE EQUAL "Debug")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DNDEBUG")
|
||||
endif ()
|
||||
|
||||
if (ENABLE_ASAN)
|
||||
add_compile_options("-fsanitize=address -fno-omit-frame-pointer -fno-common")
|
||||
link_libraries("-fsanitize=address")
|
||||
endif()
|
||||
|
||||
if (ENABLE_UBSAN)
|
||||
add_compile_options("-fsanitize=undefined -fno-omit-frame-pointer")
|
||||
link_libraries("-fsanitize=undefined")
|
||||
endif()
|
||||
|
||||
if (ENABLE_TSAN)
|
||||
add_compile_options("-fsanitize=thread -fno-omit-frame-pointer")
|
||||
endif()
|
||||
|
||||
set(ProjectDir "${CMAKE_CURRENT_LIST_DIR}/../..")
|
||||
|
||||
set (ENABLE_BACKUP 1 CACHE STRING "")
|
||||
@ -41,10 +100,10 @@ if (ENABLE_BACKUP)
|
||||
add_definitions( -DENABLE_BACKUPS )
|
||||
endif (ENABLE_BACKUP)
|
||||
|
||||
|
||||
add_executable(mega-cmd-server
|
||||
add_library(LMegacmdServer STATIC
|
||||
"${ProjectDir}/src/megacmd.cpp"
|
||||
"${ProjectDir}/src/megacmdexecuter.cpp"
|
||||
"${ProjectDir}/src/megacmd_events.cpp"
|
||||
"${ProjectDir}/src/megacmdtransfermanager.cpp"
|
||||
"${ProjectDir}/src/megacmdlogger.cpp"
|
||||
"${ProjectDir}/src/megacmdsandbox.cpp"
|
||||
@ -56,14 +115,27 @@ add_executable(mega-cmd-server
|
||||
"${ProjectDir}/src/comunicationsmanagerportsockets.cpp"
|
||||
"${ProjectDir}/src/configurationmanager.cpp"
|
||||
"${ProjectDir}/src/listeners.cpp"
|
||||
)
|
||||
|
||||
if (ENABLE_MEGACMD_TESTS)
|
||||
list(APPEND c++17targets LMegacmdServer)
|
||||
target_link_libraries(LMegacmdServer LMegacmdTestsCommon)
|
||||
endif()
|
||||
|
||||
add_executable(mega-cmd-server
|
||||
"${ProjectDir}/src/megacmd_server_main.cpp"
|
||||
"${ProjectDir}/contrib/QtCreator/MEGAcmd/MEGAcmdServer/icon.rc"
|
||||
)
|
||||
|
||||
add_executable(mega-exec
|
||||
add_library(LMegacmdClient STATIC
|
||||
"${ProjectDir}/src/client/megacmdclient.cpp"
|
||||
"${ProjectDir}/src/megacmdshell/megacmdshellcommunicationsnamedpipes.cpp"
|
||||
"${ProjectDir}/src/megacmdshell/megacmdshellcommunications.cpp"
|
||||
"${ProjectDir}/src/megacmdcommonutils.cpp"
|
||||
)
|
||||
|
||||
add_executable(mega-exec
|
||||
"${ProjectDir}/src/client/megacmd_client_main.cpp"
|
||||
"${ProjectDir}/contrib/QtCreator/MEGAcmd/MEGAcmdClient/icon.rc"
|
||||
)
|
||||
|
||||
@ -81,8 +153,53 @@ add_executable(mega-cmd-updater WIN32
|
||||
"${ProjectDir}/contrib/QtCreator/MEGAcmd/MEGAcmdUpdater/icon.rc"
|
||||
)
|
||||
|
||||
if (ENABLE_MEGACMD_TESTS)
|
||||
#Test Common:
|
||||
add_library(LMegacmdTestsCommon STATIC
|
||||
"${ProjectDir}/tests/common/Instruments.cpp"
|
||||
"${ProjectDir}/tests/common/TestUtils.cpp"
|
||||
)
|
||||
target_link_libraries(LMegacmdTestsCommon gmock gtest)
|
||||
if (NOT WIN32)
|
||||
target_link_libraries(LMegacmdTestsCommon -pthread)
|
||||
endif()
|
||||
|
||||
list(APPEND c++17targets LMegacmdTestsCommon)
|
||||
|
||||
#Integration tests:
|
||||
add_executable(mega-cmd-tests-integration
|
||||
"${ProjectDir}/tests/integration/BasicTests.cpp"
|
||||
"${ProjectDir}/tests/integration/ExportTests.cpp"
|
||||
"${ProjectDir}/tests/integration/MegaCmdTestingTools.cpp"
|
||||
"${ProjectDir}/tests/integration/main.cpp"
|
||||
)
|
||||
target_include_directories(mega-cmd-tests-integration PUBLIC ${ProjectDir}/src ${ProjectDir}/tests/common)
|
||||
target_link_libraries(mega-cmd-tests-integration LMegacmdServer LMegacmdClient LMegacmdTestsCommon)
|
||||
if(APPLE)
|
||||
target_link_libraries(mega-cmd-tests-integration "-framework Security" )
|
||||
endif()
|
||||
|
||||
list(APPEND c++17targets mega-cmd-tests-integration)
|
||||
|
||||
#Unit tests:
|
||||
add_executable(mega-cmd-tests-unit
|
||||
"${ProjectDir}/tests/unit/StringUtilsTests.cpp"
|
||||
"${ProjectDir}/tests/unit/UtilsTests.cpp"
|
||||
"${ProjectDir}/tests/unit/PlatformDirectoriesTest.cpp"
|
||||
"${ProjectDir}/tests/unit/main.cpp"
|
||||
)
|
||||
|
||||
target_include_directories(mega-cmd-tests-unit PUBLIC ${ProjectDir}/src ${ProjectDir}/tests/common)
|
||||
target_link_libraries(mega-cmd-tests-unit LMegacmdServer LMegacmdTestsCommon)
|
||||
if(APPLE)
|
||||
target_link_libraries(mega-cmd-tests-unit "-framework Security" )
|
||||
endif()
|
||||
|
||||
list(APPEND c++17targets mega-cmd-tests-unit)
|
||||
endif()
|
||||
|
||||
if (APPLE)
|
||||
target_sources(mega-cmd-server PRIVATE "${ProjectDir}/src/megacmdplatform.mm")
|
||||
target_sources(LMegacmdServer PRIVATE "${ProjectDir}/src/megacmdplatform.mm")
|
||||
target_sources(mega-cmd-updater PRIVATE "${ProjectDir}/src/updater/MacUtils.mm")
|
||||
endif ()
|
||||
|
||||
@ -101,16 +218,51 @@ set_target_properties(mega-cmd-updater PROPERTIES VS_DEBUGGER_ENVIRONMENT "${3RD
|
||||
set_target_properties(mega-cmd-server PROPERTIES VS_DEBUGGER_ENVIRONMENT "${3RDPARTY_RUNTIME_PATH_DEBUG}")
|
||||
endif()
|
||||
|
||||
|
||||
target_link_libraries(mega-exec Mega)
|
||||
target_link_libraries(LMegacmdClient Mega)
|
||||
target_link_libraries(mega-exec LMegacmdClient)
|
||||
target_link_libraries(mega-cmd Mega)
|
||||
target_link_libraries(mega-cmd-updater Mega)
|
||||
if (WIN32)
|
||||
target_link_libraries(mega-cmd-server Mega Lz32.lib Taskschd.lib)
|
||||
target_link_libraries(LMegacmdServer Mega Lz32.lib Taskschd.lib)
|
||||
target_link_libraries(mega-cmd-updater Mega Lz32.lib Urlmon.lib)
|
||||
else()
|
||||
target_link_libraries(mega-cmd-server Mega)
|
||||
target_link_libraries(LMegacmdServer Mega)
|
||||
target_link_libraries(mega-cmd-updater LMegacmdServer) # Required for Platform dirs
|
||||
endif()
|
||||
target_link_libraries(mega-cmd-server LMegacmdServer)
|
||||
if (NOT NO_READLINE)
|
||||
target_link_libraries(mega-cmd readline)
|
||||
target_link_libraries(mega-cmd ${readline_LIBRARIES})
|
||||
endif (NOT NO_READLINE)
|
||||
|
||||
|
||||
if (NOT WIN32)
|
||||
# Magic to selectively replace c++11 flags:
|
||||
macro(useCompileOptionsInsteadOfCXXFlagsForAllTargets)
|
||||
separate_arguments(_global_cxx_flags_list UNIX_COMMAND ${CMAKE_CXX_FLAGS})
|
||||
get_property(_targets DIRECTORY PROPERTY BUILDSYSTEM_TARGETS)
|
||||
foreach(_target ${_targets})
|
||||
set_target_properties(${_target} PROPERTIES COMPILE_OPTIONS "${_global_cxx_flags_list}")
|
||||
set_target_properties(${_target} PROPERTIES CXX_EXTENSIONS OFF) #this one causes the addition of -std+gnu++11
|
||||
endforeach()
|
||||
unset(CMAKE_CXX_FLAGS)
|
||||
unset(CMAKE_CXX_STANDARD)
|
||||
set(_flag_sync_required TRUE)
|
||||
endmacro()
|
||||
|
||||
macro(passfrom11to17 _target)
|
||||
get_target_property(_target_cxx_flags ${_target} COMPILE_OPTIONS)
|
||||
if(_target_cxx_flags)
|
||||
list(REMOVE_ITEM _target_cxx_flags "-std=c++11") #the SDK adds this one explicitly
|
||||
#list(APPEND _target_cxx_flags -std=c++17) #instead of doing this explicitly we will use the target_compile_features
|
||||
set_target_properties(${_target} PROPERTIES COMPILE_OPTIONS "${_target_cxx_flags}")
|
||||
target_compile_features(${_target} PUBLIC cxx_std_17)
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
useCompileOptionsInsteadOfCXXFlagsForAllTargets()
|
||||
|
||||
foreach(_target ${c++17targets})
|
||||
passfrom11to17(${_target})
|
||||
endforeach()
|
||||
|
||||
endif() #NOT WIN32
|
||||
|
@ -47,9 +47,13 @@ set(_triplet ${TRIPLET})
|
||||
set(_cmd_dir "${_script_cwd}/../..")
|
||||
set(_sdk_dir "${_cmd_dir}/sdk")
|
||||
|
||||
message(STATUS "Building for triplet ${_triplet} with CMD ${_cmd_dir} and SDK ${_sdk_dir}")
|
||||
|
||||
if(3RDPARTY_DIR)
|
||||
set (_3rdparty_dir ${3RDPARTY_DIR})
|
||||
else()
|
||||
set (_3rdparty_dir "${_cmd_dir}/../3rdparty_megacmd")
|
||||
endif()
|
||||
|
||||
message(STATUS "Building for triplet ${_triplet} with CMD ${_cmd_dir} and SDK ${_sdk_dir} into ${_3rdparty_dir}")
|
||||
|
||||
file(MAKE_DIRECTORY ${_3rdparty_dir})
|
||||
|
||||
@ -109,7 +113,6 @@ execute_checked_command(
|
||||
COMMAND ${_3rdparty_tool_exe}
|
||||
--setup
|
||||
--removeunusedports
|
||||
--nopkgconfig
|
||||
${_3rdparty_tool_common_args}
|
||||
WORKING_DIRECTORY ${_3rdparty_dir}
|
||||
)
|
||||
@ -125,6 +128,7 @@ execute_checked_command(
|
||||
# Allows use of the VCPKG_XXXX variables defined in the triplet file
|
||||
# We search our own custom triplet folder, and then the standard ones searched by vcpkg
|
||||
foreach(_triplet_dir
|
||||
"${_sdk_dir}/contrib/cmake/vcpkg_overlay_triplets/"
|
||||
"${_sdk_dir}/contrib/cmake/vcpkg_extra_triplets/"
|
||||
"${_3rdparty_vcpkg_dir}/triplets/"
|
||||
"${_3rdparty_vcpkg_dir}/triplets/community"
|
||||
@ -139,7 +143,11 @@ foreach(_triplet_dir
|
||||
endforeach()
|
||||
|
||||
if(NOT _triplet_file_found)
|
||||
message(FATAL_ERROR "Could not find triplet ${_triplet} in Mega vcpkg_extra_triplets nor in vcpkg triplet folders")
|
||||
message(FATAL_ERROR "Could not find triplet ${_triplet} in Mega vcpkg_overlay_triplets nor in vcpkg triplet folders")
|
||||
endif()
|
||||
|
||||
if(SKIP_PROJECT_BUILD)
|
||||
return()
|
||||
endif()
|
||||
|
||||
# Now set up to build this repo
|
||||
@ -193,7 +201,7 @@ if(WIN32)
|
||||
--build ${_build_dir}
|
||||
${_cmake_target_args}
|
||||
--config ${_config}
|
||||
--parallel 4
|
||||
--parallel 12
|
||||
)
|
||||
endforeach()
|
||||
else()
|
||||
@ -213,7 +221,7 @@ else()
|
||||
COMMAND ${_cmake}
|
||||
--build ${_build_dir}
|
||||
${_cmake_target_args}
|
||||
--parallel 4
|
||||
--parallel 12
|
||||
)
|
||||
endforeach()
|
||||
endif()
|
||||
|
@ -1,69 +1,74 @@
|
||||
# PREFERRED PORTS FOR MEGACMD. This is a modified snapshot of SDK's preferred-ports-sdk.txt
|
||||
# Read instructions on the above if you want to introduce changes in this file
|
||||
|
||||
# Common dependencies
|
||||
vcpkg-cmake-config/a664e41ee50b61adcc90a44a761eca139a4b7dd7
|
||||
vcpkg-cmake/a664e41ee50b61adcc90a44a761eca139a4b7dd7
|
||||
pkgconf/a664e41ee50b61adcc90a44a761eca139a4b7dd7
|
||||
vcpkg-pkgconfig-get-modules/a664e41ee50b61adcc90a44a761eca139a4b7dd7
|
||||
vcpkg-tool-meson/a664e41ee50b61adcc90a44a761eca139a4b7dd7
|
||||
vcpkg-cmake-get-vars/a664e41ee50b61adcc90a44a761eca139a4b7dd7
|
||||
|
||||
# direct core dependencies of the SDK
|
||||
c-ares/c303dd024e2dc03a0665ddffbb12a1077933e649 all:on ios:off
|
||||
cryptopp/c303dd024e2dc03a0665ddffbb12a1077933e649
|
||||
curl/7375bb408f2278d2f1875c259beef93332697ba7 all:on ios:off
|
||||
c-ares/7476f0d4e77d3333fbb249657df8251c28c4faae all:on ios:off
|
||||
cryptopp/a42af01b72c28a8e1d7b48107b33e4f286a55ef6
|
||||
curl/a42af01b72c28a8e1d7b48107b33e4f286a55ef6 all:on ios:off
|
||||
curl[core,sectransp]/7375bb408f2278d2f1875c259beef93332697ba7 all:off ios:curl-for-ios.patch
|
||||
libsodium/92adeffbce95847e141411177248ed04ac49ea9b all:on ios:libsodium-ios.patch
|
||||
openssl/c303dd024e2dc03a0665ddffbb12a1077933e649 ios:off osx:off
|
||||
openssl-unix/c303dd024e2dc03a0665ddffbb12a1077933e649 all:off linux:on
|
||||
openssl-windows/c303dd024e2dc03a0665ddffbb12a1077933e649 all:off windows:on
|
||||
libsodium/7476f0d4e77d3333fbb249657df8251c28c4faae all:on ios:libsodium-ios.patch
|
||||
openssl/7476f0d4e77d3333fbb249657df8251c28c4faae ios:off osx:off
|
||||
|
||||
# cmake\vcpkg toolchain dependencies
|
||||
vcpkg-cmake-config/94ce0dab56f4d8ba6bd631ba59ed682b02d45c46
|
||||
vcpkg-cmake/94ce0dab56f4d8ba6bd631ba59ed682b02d45c46
|
||||
# needed by MEGAcmd:
|
||||
pcre/d6bd10b9af6f6197711222a0ac827e52e0247e30
|
||||
|
||||
# needed by external projects which still rely on SDK to fetch and build it; SDK no longer uses PCRE
|
||||
# this is the minimum version after PCRE's ftp server switched
|
||||
pcre/d6bd10b9af6f6197711222a0ac827e52e0247e30 all:on
|
||||
readline-unix/7476f0d4e77d3333fbb249657df8251c28c4faae all:off osx:on
|
||||
ncurses/7476f0d4e77d3333fbb249657df8251c28c4faae all:off osx:on
|
||||
sqlite3/7476f0d4e77d3333fbb249657df8251c28c4faae
|
||||
zlib/7476f0d4e77d3333fbb249657df8251c28c4faae
|
||||
|
||||
readline/8.0 all:off osx:on
|
||||
sqlite3/c303dd024e2dc03a0665ddffbb12a1077933e649
|
||||
zlib/e0a9559a9b24af116388eae242d675bf9fde025c
|
||||
|
||||
# needed by the SDK if enabling serving/streaming (outgoing) files via http/s or include a an ftp server
|
||||
libuv/c303dd024e2dc03a0665ddffbb12a1077933e649 ios:off
|
||||
# needed by the SDK if enabling serving/streaming (outgoing) files via http/s or include a ftp server
|
||||
libuv/293f090a9be5a88a2a77838c6346d5ef9d3df81b all:off windows:on
|
||||
libuv/7476f0d4e77d3333fbb249657df8251c28c4faae all:on windows:off
|
||||
|
||||
# mediainfo, customized with constrained functionality (determine media properties such as track length, codec, etc)
|
||||
libmediainfo/19.09
|
||||
libzen/0.4.37
|
||||
libmediainfo/23.4
|
||||
tinyxml2/7476f0d4e77d3333fbb249657df8251c28c4faae
|
||||
libzen/7476f0d4e77d3333fbb249657df8251c28c4faae
|
||||
|
||||
# ffmpeg (video preview/thumbnail generation)
|
||||
ffmpeg/c303dd024e2dc03a0665ddffbb12a1077933e649 all:on osx:ffmpeg-fix-osx-cross-compilation.patch ios:off
|
||||
ffmpeg/c67a3059bbdb19799d402085e7323f71e7d68656 all:on ios:off osx:ffmpeg-osx-linker.patch
|
||||
|
||||
#freeimage and its dependencies (image preview/thumbnail generation)
|
||||
freeimage/94ce0dab56f4d8ba6bd631ba59ed682b02d45c46 osx:freeimage-bool-typedef-xcode-compiler.patch
|
||||
libpng/94ce0dab56f4d8ba6bd631ba59ed682b02d45c46
|
||||
libjpeg-turbo/94ce0dab56f4d8ba6bd631ba59ed682b02d45c46
|
||||
tiff/94ce0dab56f4d8ba6bd631ba59ed682b02d45c46
|
||||
openjpeg/94ce0dab56f4d8ba6bd631ba59ed682b02d45c46
|
||||
libwebp/7375bb408f2278d2f1875c259beef93332697ba7 all:libwebp-no-freeglut-no-avx.patch
|
||||
libraw/7375bb408f2278d2f1875c259beef93332697ba7 ios:libraw-ios.patch
|
||||
jxrlib/94ce0dab56f4d8ba6bd631ba59ed682b02d45c46 ios:jxrlib-ios-guiddef-fix.patch
|
||||
openexr/94ce0dab56f4d8ba6bd631ba59ed682b02d45c46 ios:openexr-ios.patch
|
||||
imath/94ce0dab56f4d8ba6bd631ba59ed682b02d45c46
|
||||
jasper/94ce0dab56f4d8ba6bd631ba59ed682b02d45c46 all:jasper-no-freeglut.patch
|
||||
liblzma/94ce0dab56f4d8ba6bd631ba59ed682b02d45c46 ios:liblzma-ios.patch
|
||||
#python3 not needed; it only provides python bindings to use openexr from python
|
||||
libffi/94ce0dab56f4d8ba6bd631ba59ed682b02d45c46
|
||||
opengl/94ce0dab56f4d8ba6bd631ba59ed682b02d45c46
|
||||
# freeimage and its dependencies (image preview/thumbnail generation)
|
||||
freeimage/7476f0d4e77d3333fbb249657df8251c28c4faae osx:freeimage-bool-typedef-xcode-compiler.patch
|
||||
libpng/7476f0d4e77d3333fbb249657df8251c28c4faae
|
||||
libjpeg-turbo/7476f0d4e77d3333fbb249657df8251c28c4faae
|
||||
tiff/7476f0d4e77d3333fbb249657df8251c28c4faae
|
||||
openjpeg/7476f0d4e77d3333fbb249657df8251c28c4faae
|
||||
libwebp/7476f0d4e77d3333fbb249657df8251c28c4faae
|
||||
libraw/7476f0d4e77d3333fbb249657df8251c28c4faae
|
||||
jxrlib/7476f0d4e77d3333fbb249657df8251c28c4faae
|
||||
openexr/7476f0d4e77d3333fbb249657df8251c28c4faae
|
||||
imath/7476f0d4e77d3333fbb249657df8251c28c4faae
|
||||
jasper/7476f0d4e77d3333fbb249657df8251c28c4faae all:jasper-no-freeglut.patch
|
||||
liblzma/7476f0d4e77d3333fbb249657df8251c28c4faae
|
||||
egl-registry/7476f0d4e77d3333fbb249657df8251c28c4faae
|
||||
opengl-registry/7476f0d4e77d3333fbb249657df8251c28c4faae
|
||||
opengl/7476f0d4e77d3333fbb249657df8251c28c4faae
|
||||
#freeglut (cross platform window manager) not needed; problematic on some platforms, pulling in many, many dependencies
|
||||
#vcpkg-cmake-config already added above for SDK
|
||||
#vcpkg-cmake already added above for SDK
|
||||
|
||||
# pdfium libraries, specific version for build stability (preview/thumbnail generation for pdfs)
|
||||
# no v8 (javascript execution) etc
|
||||
pdfium/5247
|
||||
pdfium-freetype/2-12-1
|
||||
freetype[core,bzip2,png,zlib]/7476f0d4e77d3333fbb249657df8251c28c4faae
|
||||
|
||||
# dependencies of pdfium
|
||||
icu/979a5197b3389cfdf91d0ac5d98b6066ce73fd7a all:off osx:on linux:on
|
||||
icu/cb91b416cb8f85f0a55853baad23fb18d306148a all:on osx:off linux:off
|
||||
lcms/c303dd024e2dc03a0665ddffbb12a1077933e649
|
||||
icu/7476f0d4e77d3333fbb249657df8251c28c4faae
|
||||
lcms/7476f0d4e77d3333fbb249657df8251c28c4faae
|
||||
#libjpeg-turbo already added above for freeimage
|
||||
#openjpeg already added above for freeimage
|
||||
bzip2/c303dd024e2dc03a0665ddffbb12a1077933e649
|
||||
bzip2/7476f0d4e77d3333fbb249657df8251c28c4faae
|
||||
#libpng already added above for freeimage
|
||||
|
||||
|
||||
# tests and tools
|
||||
asio/c303dd024e2dc03a0665ddffbb12a1077933e649
|
||||
gtest/c303dd024e2dc03a0665ddffbb12a1077933e649 all:gtest-warnings-are-not-errors.patch
|
||||
|
||||
|
25
build/cmake/vcpkg_patches/ffmpeg-osx-linker.patch
Normal file
25
build/cmake/vcpkg_patches/ffmpeg-osx-linker.patch
Normal file
@ -0,0 +1,25 @@
|
||||
diff --git a/portfile.cmake b/portfile.cmake
|
||||
index 35bac875b..21757c545 100644
|
||||
--- a/portfile.cmake
|
||||
+++ b/portfile.cmake
|
||||
@@ -536,6 +536,20 @@ if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQU
|
||||
endif()
|
||||
endif()
|
||||
|
||||
+if(VCPKG_TARGET_IS_OSX)
|
||||
+ execute_process(
|
||||
+ COMMAND ${VCPKG_DETECTED_CMAKE_C_COMPILER} --version
|
||||
+ OUTPUT_VARIABLE COMPILER_VERSION
|
||||
+ OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
+ )
|
||||
+
|
||||
+ string(REGEX MATCH "[0-9]+\\.[0-9]+" COMP_ONLY_VERSION "${COMPILER_VERSION}")
|
||||
+
|
||||
+ if(NOT COMP_ONLY_VERSION VERSION_LESS "15.0")
|
||||
+ string(APPEND OPTIONS " --extra-ldflags=-Wl,-ld_classic")
|
||||
+ endif()
|
||||
+endif()
|
||||
+
|
||||
if(VCPKG_TARGET_IS_UWP)
|
||||
set(ENV{LIBPATH} "$ENV{LIBPATH};$ENV{_WKITS10}references\\windows.foundation.foundationcontract\\2.0.0.0\\;$ENV{_WKITS10}references\\windows.foundation.universalapicontract\\3.0.0.0\\")
|
||||
string(APPEND OPTIONS " --disable-programs")
|
@ -114,6 +114,7 @@ mkdir $megacmd_NAME/m4 #create m4 empty folder required in older autotools
|
||||
|
||||
mkdir -p $megacmd_NAME/contrib/
|
||||
ln -s $BASEPATH/sdk/contrib/build_sdk.sh $megacmd_NAME/contrib/
|
||||
ln -s $BASEPATH/sdk/contrib/FreeImageC99.diff $megacmd_NAME/contrib/
|
||||
|
||||
ln -s $archives $megacmd_NAME/archives
|
||||
tar czfh $megacmd_NAME.tar.gz --exclude-vcs $megacmd_NAME
|
||||
|
159
build/full_build_process.cmd
Normal file
159
build/full_build_process.cmd
Normal file
@ -0,0 +1,159 @@
|
||||
@echo off
|
||||
|
||||
IF "%1%" EQU "-help" (
|
||||
goto Usage
|
||||
)
|
||||
|
||||
SET MEGA_ARCH=32/64
|
||||
SET MEGA_SKIP_32_BIT_BUILD=false
|
||||
SET MEGA_SIGN=sign
|
||||
SET MEGA_CORES=0
|
||||
SET MEGA_VERSION_SUFFIX=
|
||||
|
||||
IF NOT "%1" == "" (
|
||||
SET MEGA_ARCH=%1
|
||||
SET MEGA_SIGN=%2
|
||||
SET MEGA_CORES=%3
|
||||
SET MEGA_VERSION_SUFFIX=%4
|
||||
|
||||
IF [%MEGA_VCPKGPATH%]==[] (
|
||||
echo "Error: MEGA_VCPKGPATH environment variable is not set. Please set it."
|
||||
goto Usage
|
||||
)
|
||||
|
||||
:: CHECK NUMBER OF ARGUMENTS
|
||||
IF "%3" == "" (
|
||||
echo "Error: too few arguments"
|
||||
goto Usage
|
||||
)
|
||||
IF NOT "%5" == "" (
|
||||
echo "Error: too many arguments"
|
||||
goto Usage
|
||||
)
|
||||
) ELSE (
|
||||
IF [%MEGA_VCPKGPATH%]==[] (
|
||||
SET MEGA_VCPKGPATH=C:\mega\dev\3rdparty_megacmd
|
||||
)
|
||||
)
|
||||
|
||||
IF [%MEGA_WIN_KITVER%]==[] (
|
||||
SET MEGA_WIN_KITVER=10.0.22621.0
|
||||
)
|
||||
|
||||
:: CHECK ARCHITECTURE
|
||||
IF "%MEGA_ARCH%" EQU "64" (
|
||||
echo "Info: Building x64 only"
|
||||
SET MEGA_SKIP_32_BIT_BUILD=true
|
||||
) ELSE (
|
||||
IF "%MEGA_ARCH%" EQU "32/64" (
|
||||
echo "Info: Building both x64 and x86"
|
||||
) ELSE (
|
||||
echo "Please add the architecture as first parameter: 64 or 32/64"
|
||||
goto Usage
|
||||
)
|
||||
)
|
||||
|
||||
:: CHECK SIGN
|
||||
IF "%MEGA_SIGN%" EQU "sign" (
|
||||
echo "Info: Signed installer(s) will be generated"
|
||||
) ELSE (
|
||||
IF "%MEGA_SIGN%" EQU "nosign" (
|
||||
echo "Info: Unsigned installer(s) will be generated"
|
||||
SET MEGA_THIRD_PARTY_DLL_DIR=bin
|
||||
) ELSE (
|
||||
echo "Please add a correct sign argument: sign or nosign"
|
||||
goto Usage
|
||||
)
|
||||
)
|
||||
|
||||
:: CHECK CORES
|
||||
SET "VALID_CORES=1"
|
||||
IF %MEGA_CORES% LSS 0 (
|
||||
SET "VALID_CORES=0"
|
||||
)
|
||||
IF %MEGA_CORES% GTR 16 (
|
||||
SET "VALID_CORES=0"
|
||||
)
|
||||
IF %MEGA_CORES% EQU 0 (
|
||||
FOR /f "tokens=2 delims==" %%f IN ('wmic cpu get NumberOfLogicalProcessors /value ^| find "="') DO SET MEGA_CORES=%%f
|
||||
)
|
||||
IF %VALID_CORES% EQU 0 (
|
||||
echo "Please add a correct core argument: 1 to 16, or 0 for default value"
|
||||
goto Usage
|
||||
)
|
||||
|
||||
echo "Info: CORES SET to %MEGA_CORES%"
|
||||
|
||||
REM Clean up any previous leftovers
|
||||
IF EXIST built32 (
|
||||
rmdir /s /q built32
|
||||
)
|
||||
IF EXIST sign32 (
|
||||
rmdir /s /q sign32
|
||||
)
|
||||
IF EXIST built64 (
|
||||
rmdir /s /q built64
|
||||
)
|
||||
IF EXIST sign64 (
|
||||
rmdir /s /q sign64
|
||||
)
|
||||
|
||||
IF [%SKIP_BUILD_PRODUCTS%]==[] (
|
||||
IF EXIST build-x64-windows-mega (
|
||||
rmdir /s /q build-x64-windows-mega
|
||||
)
|
||||
IF EXIST build-x86-windows-mega (
|
||||
rmdir /s /q build-x86-windows-mega
|
||||
)
|
||||
)
|
||||
|
||||
IF [%SKIP_BUILD_THIRD_PARTIES%]==[] (
|
||||
echo calling build_3rd_parties.cmd %MEGA_ARCH%
|
||||
call build_3rd_parties.cmd %MEGA_ARCH% || exit 1 /b
|
||||
)
|
||||
|
||||
IF NOT [%ONLY_BUILD_THIRD_PARTIES%]==[] (
|
||||
exit /b
|
||||
)
|
||||
|
||||
IF [%SKIP_BUILD_PRODUCTS%]==[] (
|
||||
echo calling production_build.cmd
|
||||
call production_build.cmd || exit 1 /b
|
||||
)
|
||||
|
||||
echo calling gather_built_products.cmd
|
||||
call gather_built_products.cmd || exit 1 /b
|
||||
|
||||
echo calling make_uninstallers.cmd
|
||||
call make_uninstallers.cmd || exit 1 /b
|
||||
|
||||
IF "%MEGA_SIGN%" EQU "sign" (
|
||||
echo time to sign the executables in built32/64 folders
|
||||
REM TODO: here in case of IF "%MEGA_SIGN%" EQU "sign" , the signing would need to take place, replacing the built .exes with the signed ones
|
||||
|
||||
echo gathering signed executables in the built folders
|
||||
call gather_signed_products.cmd || exit 1 /b
|
||||
)
|
||||
|
||||
echo calling make_installers.cmd
|
||||
call make_installers.cmd %MEGA_SIGN% || exit 1 /b
|
||||
|
||||
REM TODO: Pending signing the installers themselves!
|
||||
|
||||
exit /B
|
||||
|
||||
:Usage
|
||||
echo "Usage: %~0 [-help] [64|32/64 sign|nosign <cores number> [<suffix>]]"
|
||||
echo Script building, signing and creating the installer(s)
|
||||
echo It can take 0, 1, 3 or 4 arguments:
|
||||
echo - -help: this message
|
||||
echo - 0 arguments: use these settings: 32/64 sign 1
|
||||
echo - Architecture : 64 or 32/64 to build either for 64 bit or both 32 and 64 bit
|
||||
echo - Sign: sign or nosign if the binaries must be signed or not
|
||||
echo - Cores: the number of cores to build the project, or 0 for default value (number of logical cores on the machine)
|
||||
echo - Suffix for installer: The installer will add this suffix to the version. [OPTIONAl]
|
||||
echo MEGA_VCPKGPATH environment variable should be set to the root of the 3rd party dir.
|
||||
echo SKIP_BUILD_THIRD_PARTIES environment variable can be used to skip the attempt to build vcpkg 3rd parties
|
||||
echo ONLY_BUILD_THIRD_PARTIES environment variable can be used to stop after building 3rd parties
|
||||
echo MEGA_WIN_KITVER environment variable can be used to set the Windows sdk to use. Value defaults to "10.0.22621.0". Set to "." to use the Universal Kit
|
||||
exit /B
|
@ -1,30 +1,52 @@
|
||||
|
||||
REM Build with (from MEGAcmd folder)
|
||||
REM
|
||||
REM mkdir x64-windows-mega
|
||||
REM cd x64-windows-mega
|
||||
REM cmake -G "Visual Studio 15 2017" -A x64 -DMega3rdPartyDir=C:\Users\build\MEGA\build-MEGAcmd\3rdParty_MSVC2017_20210302\3rdParty_megacmd -DVCPKG_TRIPLET=x64-windows-mega -S "..\build\cmake" -B .
|
||||
REM cmake --build . --config Release
|
||||
REM
|
||||
REM mkdir x86-windows-mega
|
||||
REM cd x86-windows-mega
|
||||
REM cmake -G "Visual Studio 15 2017" -A Win32 -DMega3rdPartyDir=C:\Users\build\MEGA\build-MEGAcmd\3rdParty_MSVC2017_20210302\3rdParty_megacmd -DVCPKG_TRIPLET=x86-windows-mega -S "..\build\cmake" -B .
|
||||
REM cmake --build . --config Release
|
||||
IF [%MEGA_VCPKGPATH%]==[] (
|
||||
SET MEGA_VCPKGPATH="C:\mega\dev\3rdparty_megacmd"
|
||||
)
|
||||
|
||||
IF [%MEGA_THIRD_PARTY_DLL_DIR%]==[] (
|
||||
SET MEGA_THIRD_PARTY_DLL_DIR=bin_dlls_signed
|
||||
)
|
||||
|
||||
mkdir built64
|
||||
mkdir sign64
|
||||
|
||||
SET BASEMEGACMDPATH=.
|
||||
|
||||
copy %BASEMEGACMDPATH%\build-x64-windows-mega\Release\*.dll built64
|
||||
copy %BASEMEGACMDPATH%\build-x64-windows-mega\Release\MEGAclient.exe built64
|
||||
copy %BASEMEGACMDPATH%\build-x64-windows-mega\Release\MEGAcmdServer.exe built64
|
||||
copy %BASEMEGACMDPATH%\build-x64-windows-mega\Release\MEGAcmdShell.exe built64
|
||||
copy %BASEMEGACMDPATH%\build-x64-windows-mega\Release\MEGAcmdUpdater.exe built64
|
||||
copy %BASEMEGACMDPATH%\build-x64-windows-mega\Release\*.pdb built64
|
||||
|
||||
copy %BASEMEGACMDPATH%\build-x64-windows-mega\Release\MEGAclient.exe sign64
|
||||
copy %BASEMEGACMDPATH%\build-x64-windows-mega\Release\MEGAcmdServer.exe sign64
|
||||
copy %BASEMEGACMDPATH%\build-x64-windows-mega\Release\MEGAcmdShell.exe sign64
|
||||
copy %BASEMEGACMDPATH%\build-x64-windows-mega\Release\MEGAcmdUpdater.exe sign64
|
||||
|
||||
set "MEGA_VCPKGPATH_COPYABLE=%MEGA_VCPKGPATH:/=\%"
|
||||
|
||||
copy %MEGA_VCPKGPATH_COPYABLE%\vcpkg\installed\x64-windows-mega\%MEGA_THIRD_PARTY_DLL_DIR%\*.* built64
|
||||
|
||||
IF "%MEGA_SKIP_32_BIT_BUILD%" == "true" (
|
||||
GOTO :EOF
|
||||
)
|
||||
|
||||
mkdir built32
|
||||
mkdir built64
|
||||
mkdir sign32
|
||||
|
||||
copy ..\build-x64-windows-mega\Release\MEGAcmdServer.exe built64
|
||||
copy ..\build-x64-windows-mega\Release\MEGAcmdShell.exe built64
|
||||
copy ..\build-x64-windows-mega\Release\MEGAclient.exe built64
|
||||
copy ..\build-x64-windows-mega\Release\MEGAcmdUpdater.exe built64
|
||||
copy %BASEMEGACMDPATH%\build-x86-windows-mega\Release\*.dll built32
|
||||
copy %BASEMEGACMDPATH%\build-x86-windows-mega\Release\MEGAclient.exe built32
|
||||
copy %BASEMEGACMDPATH%\build-x86-windows-mega\Release\MEGAcmdServer.exe built32
|
||||
copy %BASEMEGACMDPATH%\build-x86-windows-mega\Release\MEGAcmdShell.exe built32
|
||||
copy %BASEMEGACMDPATH%\build-x86-windows-mega\Release\MEGAcmdUpdater.exe built32
|
||||
copy %BASEMEGACMDPATH%\build-x86-windows-mega\Release\*.pdb built32
|
||||
|
||||
copy ..\build-x86-windows-mega\Release\MEGAcmdServer.exe built32
|
||||
copy ..\build-x86-windows-mega\Release\MEGAcmdShell.exe built32
|
||||
copy ..\build-x86-windows-mega\Release\MEGAclient.exe built32
|
||||
copy ..\build-x86-windows-mega\Release\MEGAcmdUpdater.exe built32
|
||||
copy %BASEMEGACMDPATH%\build-x86-windows-mega\Release\MEGAclient.exe sign32
|
||||
copy %BASEMEGACMDPATH%\build-x86-windows-mega\Release\MEGAcmdServer.exe sign32
|
||||
copy %BASEMEGACMDPATH%\build-x86-windows-mega\Release\MEGAcmdShell.exe sign32
|
||||
copy %BASEMEGACMDPATH%\build-x86-windows-mega\Release\MEGAcmdUpdater.exe sign32
|
||||
|
||||
copy C:\Users\build\MEGA\build-MEGAcmd\3rdParty_MSVC2019_20211206\3rdParty_megacmd\vcpkg\installed\x64-windows-mega\bin_signed\*.* built64
|
||||
copy C:\Users\build\MEGA\build-MEGAcmd\3rdParty_MSVC2019_20211206\3rdParty_megacmd\vcpkg\installed\x86-windows-mega\bin_signed\*.* built32
|
||||
REM copy scritps??
|
||||
|
||||
copy %MEGA_VCPKGPATH_COPYABLE%\vcpkg\installed\x86-windows-mega\%MEGA_THIRD_PARTY_DLL_DIR%\*.* built32
|
||||
|
32
build/gather_signed_products.cmd
Normal file
32
build/gather_signed_products.cmd
Normal file
@ -0,0 +1,32 @@
|
||||
:: CHECK SIGN
|
||||
:Check
|
||||
|
||||
echo Info: Checking if sources are signed
|
||||
|
||||
"C:\Program Files (x86)\Windows Kits\10\bin\%MEGA_WIN_KITVER%\x64\signtool.exe" verify /pa sign64/*.exe >nul || goto SleepAndRetry
|
||||
IF NOT "%MEGA_SKIP_32_BIT_BUILD%" == "true" (
|
||||
"C:\Program Files (x86)\Windows Kits\10\bin\%MEGA_WIN_KITVER%\x64\signtool.exe" verify /pa sign32/*.exe >nul || goto SleepAndRetry
|
||||
)
|
||||
echo Signed executables found. Will copy them to builtXX folders
|
||||
|
||||
REM Copying signed installers
|
||||
copy sign64\* built64
|
||||
copy sign32\* built32
|
||||
|
||||
exit /b
|
||||
|
||||
|
||||
:SleepAndRetry
|
||||
IF [%MSYSTEM%]==[MINGW64] (
|
||||
REM pause or set \p freezed mingw bash and there are no builtin mechanism for Batch to sleep, using python for it:
|
||||
echo "you need to place signed executables in sign folders. The signature verification will be retry in 30 seconds"
|
||||
python -c "import time; time.sleep(30)"
|
||||
) else (
|
||||
echo You need to place signed executables in sign folders. After that,
|
||||
pause
|
||||
)
|
||||
|
||||
goto Check
|
||||
|
||||
exit 2 /b
|
||||
|
31
build/installer/Info.plist
Normal file
31
build/installer/Info.plist
Normal file
@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string>NSApplication</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>app.icns</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>MEGAcmd</string>
|
||||
<key>LSUIElement</key>
|
||||
<string>1</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>megacmd.mac</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string></string>
|
||||
<key>NSHighResolutionCapable</key>
|
||||
<string>True</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>10.13</string>
|
||||
<key>NSAppTransportSecurity</key>
|
||||
<dict>
|
||||
<key>NSAllowsArbitraryLoads</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
Binary file not shown.
@ -1,22 +1,17 @@
|
||||
#!/bin/zsh -e
|
||||
|
||||
Usage () {
|
||||
echo "Usage: installer_mac.sh [[--build | --build-cmake] | [--sign] | [--create-dmg] | [--notarize] | [--full-pkg | --full-pkg-cmake]]"
|
||||
echo " --build : Builds the app and creates the bundle using qmake."
|
||||
echo " --build-cmake : Idem but using cmake"
|
||||
echo " --sign : Sign the app"
|
||||
echo " --create-dmg : Create the dmg package"
|
||||
echo " --notarize : Notarize package against Apple systems."
|
||||
echo " --full-pkg : Implies and overrides all the above using qmake"
|
||||
echo " --full-pkg-cmake : Idem but using cmake"
|
||||
echo "Usage: installer_mac.sh [--arch [arm64|x86_64|universal]] [--build] | [--sign] | [--create-dmg] | [--notarize] | [--full-pkg]"
|
||||
echo " --build : Builds the app and creates the bundle using cmake"
|
||||
echo " --sign : Sign the app"
|
||||
echo " --create-dmg : Create the dmg package"
|
||||
echo " --notarize : Notarize package against Apple systems."
|
||||
echo " --full-pkg : Implies and overrides all the above"
|
||||
echo " --arch [arm64|x86_64|universal] : Arch target. It will use the host arch if none specified."
|
||||
echo ""
|
||||
echo "Environment variables needed to build:"
|
||||
echo " MEGAQTPATH : Point it to a valid Qt installation path"
|
||||
echo " VCPKGPATH : Point it to a directory containing a valid vcpkg installation"
|
||||
echo ""
|
||||
echo "Note: --build and --build-cmake are mutually exclusive."
|
||||
echo " --full-pkg and --full-pkg-cmake are mutually exclusive."
|
||||
echo ""
|
||||
}
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
@ -25,7 +20,7 @@ if [ $# -eq 0 ]; then
|
||||
fi
|
||||
|
||||
APP_NAME=MEGAcmd
|
||||
ID_BUNDLE=mega.mac
|
||||
VOLUME_NAME="Install MEGAcmd"
|
||||
MOUNTDIR=tmp
|
||||
RESOURCES=installer/resourcesDMG
|
||||
|
||||
@ -35,23 +30,28 @@ SHELL_PREFIX=MEGAcmdShell/
|
||||
LOADER_PREFIX=MEGAcmdLoader/
|
||||
UPDATER_PREFIX=MEGAcmdUpdater/
|
||||
|
||||
host_arch=`uname -m`
|
||||
target_arch=${host_arch}
|
||||
full_pkg=0
|
||||
full_pkg_cmake=0
|
||||
build=0
|
||||
build_cmake=0
|
||||
sign=0
|
||||
createdmg=0
|
||||
notarize=0
|
||||
|
||||
sign_time=0
|
||||
dmg_time=0
|
||||
notarize_time=0
|
||||
total_time=0
|
||||
|
||||
while [ "$1" != "" ]; do
|
||||
case $1 in
|
||||
--arch )
|
||||
shift
|
||||
target_arch="${1}"
|
||||
if [ "${target_arch}" != "arm64" ] && [ "${target_arch}" != "x86_64" ] && [ "${target_arch}" != "universal" ]; then Usage; echo "Error: Invalid arch value."; exit 1; fi
|
||||
;;
|
||||
--build )
|
||||
build=1
|
||||
if [ ${build_cmake} -eq 1 ]; then Usage; echo "Error: --build and --build-cmake are mutually exclusive."; exit 1; fi
|
||||
;;
|
||||
--build-cmake )
|
||||
build_cmake=1
|
||||
if [ ${build} -eq 1 ]; then Usage; echo "Error: --build and --build-cmake are mutually exclusive."; exit 1; fi
|
||||
;;
|
||||
--sign )
|
||||
sign=1
|
||||
@ -63,19 +63,15 @@ while [ "$1" != "" ]; do
|
||||
notarize=1
|
||||
;;
|
||||
--full-pkg )
|
||||
if [ ${full_pkg_cmake} -eq 1 ]; then Usage; echo "Error: --full-pkg and --full-pkg-cmake are mutually exclusive."; exit 1; fi
|
||||
full_pkg=1
|
||||
;;
|
||||
--full-pkg-cmake )
|
||||
if [ ${full_pkg} -eq 1 ]; then Usage; echo "Error: --full-pkg and --full-pkg-cmake are mutually exclusive."; exit 1; fi
|
||||
full_pkg_cmake=1
|
||||
;;
|
||||
-h | --help )
|
||||
Usage
|
||||
exit
|
||||
;;
|
||||
* )
|
||||
Usage
|
||||
echo "Unknown parameter: ${1}"
|
||||
exit 1
|
||||
esac
|
||||
shift
|
||||
@ -83,276 +79,245 @@ done
|
||||
|
||||
if [ ${full_pkg} -eq 1 ]; then
|
||||
build=1
|
||||
build_cmake=0
|
||||
sign=1
|
||||
createdmg=1
|
||||
notarize=1
|
||||
fi
|
||||
if [ ${full_pkg_cmake} -eq 1 ]; then
|
||||
build=0
|
||||
build_cmake=1
|
||||
sign=1
|
||||
createdmg=1
|
||||
notarize=1
|
||||
fi
|
||||
|
||||
if [ ${build} -eq 1 -o ${build_cmake} -eq 1 ]; then
|
||||
if [ -z "${MEGAQTPATH}" ] || [ ! -d "${MEGAQTPATH}/bin" ]; then
|
||||
echo "Please set MEGAQTPATH env variable to a valid QT installation path!"
|
||||
exit 1;
|
||||
fi
|
||||
if [ ${build} -ne 1 -a ${sign} -ne 1 -a ${createdmg} -ne 1 -a ${notarize} -ne 1 ]; then
|
||||
Usage
|
||||
echo "Error: No action selected. Nothing to do."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
build_archs=${target_arch}
|
||||
if [ "$target_arch" = "universal" ]; then
|
||||
build_archs=(arm64 x86_64)
|
||||
fi
|
||||
|
||||
for build_arch in $build_archs; do
|
||||
eval build_time_${build_arch}=0
|
||||
done
|
||||
|
||||
if [ ${build} -eq 1 ]; then
|
||||
for build_arch in $build_archs; do
|
||||
|
||||
build_time_start=`date +%s`
|
||||
|
||||
if [ -z "${VCPKGPATH}" ] || [ ! -d "${VCPKGPATH}/vcpkg/installed" ]; then
|
||||
echo "Please set VCPKGPATH env variable to a directory containing a valid vcpkg installation!"
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
MEGAQTPATH="$(cd "$MEGAQTPATH" && pwd -P)"
|
||||
echo "Building with:"
|
||||
echo " MEGAQTPATH : ${MEGAQTPATH}"
|
||||
echo " VCPKGPATH : ${VCPKGPATH}"
|
||||
|
||||
if [ ${build_cmake} -ne 1 ]; then
|
||||
AVCODEC_VERSION=libavcodec.58.dylib
|
||||
AVFORMAT_VERSION=libavformat.58.dylib
|
||||
AVUTIL_VERSION=libavutil.56.dylib
|
||||
SWSCALE_VERSION=libswscale.5.dylib
|
||||
CARES_VERSION=libcares.2.dylib
|
||||
CURL_VERSION=libcurl.dylib
|
||||
|
||||
AVCODEC_PATH=${VCPKGPATH}/vcpkg/installed/x64-osx-mega/lib/$AVCODEC_VERSION
|
||||
AVFORMAT_PATH=${VCPKGPATH}/vcpkg/installed/x64-osx-mega/lib/$AVFORMAT_VERSION
|
||||
AVUTIL_PATH=${VCPKGPATH}/vcpkg/installed/x64-osx-mega/lib/$AVUTIL_VERSION
|
||||
SWSCALE_PATH=${VCPKGPATH}/vcpkg/installed/x64-osx-mega/lib/$SWSCALE_VERSION
|
||||
CARES_PATH=${VCPKGPATH}/vcpkg/installed/x64-osx-mega/lib/$CARES_VERSION
|
||||
CURL_PATH=${VCPKGPATH}/vcpkg/installed/x64-osx-mega/lib/$CURL_VERSION
|
||||
fi
|
||||
|
||||
# Clean previous build
|
||||
rm -rf Release_x64
|
||||
mkdir Release_x64
|
||||
cd Release_x64
|
||||
[ -z "${SKIP_REMOVAL}" ] && rm -rf Release_${build_arch}
|
||||
mkdir Release_${build_arch} || true
|
||||
cd Release_${build_arch}
|
||||
|
||||
# Build binaries
|
||||
if [ ${build_cmake} -eq 1 ]; then
|
||||
#cmake -DUSE_THIRDPARTY_FROM_VCPKG=1 -DUSE_PREBUILT_3RDPARTY=0 -DCMAKE_PREFIX_PATH=${MEGAQTPATH} -DVCPKG_TRIPLET=x64-osx-mega -DMega3rdPartyDir=${VCPKGPATH} -S ../contrib/cmake
|
||||
#cmake --build ./ --target MEGAcmd -j`sysctl -n hw.ncpu`
|
||||
#cmake --build ./ --target MEGAclient -j`sysctl -n hw.ncpu`
|
||||
#cmake --build ./ --target MEGAcmdShell -j`sysctl -n hw.ncpu`
|
||||
#cmake --build ./ --target MEGAcmdLoader -j`sysctl -n hw.ncpu`
|
||||
#cmake --build ./ --target MEGAcmdUpdater -j`sysctl -n hw.ncpu`
|
||||
SERVER_PREFIX=""
|
||||
CLIENT_PREFIX=""
|
||||
SHELL_PREFIX=""
|
||||
LOADER_PREFIX=""
|
||||
UPDATER_PREFIX=""
|
||||
else
|
||||
[ ! -f ../../sdk/include/mega/config.h ] && cp ../../sdk/contrib/official_build_configs/macos/config.h ../../sdk/include/mega/config.h
|
||||
${MEGAQTPATH}/bin/qmake "THIRDPARTY_VCPKG_BASE_PATH=${VCPKGPATH}" -r ../../contrib/QtCreator/MEGAcmd/ -spec macx-clang CONFIG+=release CONFIG+=x86_64 -nocache
|
||||
make -j`sysctl -n hw.ncpu`
|
||||
# Detect crosscompilation and set CMAKE_OSX_ARCHITECTURES.
|
||||
if [ "${build_arch}" != "${host_arch}" ]; then
|
||||
CMAKE_EXTRA="-DCMAKE_OSX_ARCHITECTURES=${build_arch}"
|
||||
fi
|
||||
|
||||
# Prepare MEGAcmd (server, mega-cmd) bundle
|
||||
cp -R ${SERVER_PREFIX}MEGAcmd.app ${SERVER_PREFIX}MEGAcmd_orig.app
|
||||
${MEGAQTPATH}/bin/macdeployqt ${SERVER_PREFIX}MEGAcmd.app -no-strip
|
||||
dsymutil ${SERVER_PREFIX}MEGAcmd.app/Contents/MacOS/MEGAcmd -o MEGAcmd.app.dSYM
|
||||
strip ${SERVER_PREFIX}MEGAcmd.app/Contents/MacOS/MEGAcmd
|
||||
cmake -DUSE_THIRDPARTY_FROM_VCPKG=1 -DMega3rdPartyDir=${VCPKGPATH} -DCMAKE_BUILD_TYPE=RelWithDebInfo ${CMAKE_EXTRA} -S ..//cmake
|
||||
cmake --build ./ --target mega-cmd -j`sysctl -n hw.ncpu`
|
||||
cmake --build ./ --target mega-exec -j`sysctl -n hw.ncpu`
|
||||
cmake --build ./ --target mega-cmd-server -j`sysctl -n hw.ncpu`
|
||||
cmake --build ./ --target mega-cmd-updater -j`sysctl -n hw.ncpu`
|
||||
SERVER_PREFIX=""
|
||||
CLIENT_PREFIX=""
|
||||
SHELL_PREFIX=""
|
||||
LOADER_PREFIX=""
|
||||
UPDATER_PREFIX=""
|
||||
|
||||
# Prepare MEGAclient (mega-exec) bundle
|
||||
${MEGAQTPATH}/bin/macdeployqt ${CLIENT_PREFIX}MEGAclient.app -no-strip
|
||||
dsymutil ${CLIENT_PREFIX}MEGAclient.app/Contents/MacOS/MEGAclient -o MEGAclient.dSYM
|
||||
strip ${CLIENT_PREFIX}MEGAclient.app/Contents/MacOS/MEGAclient
|
||||
# create folder structure
|
||||
mkdir -p ${APP_NAME}.app/Contents/Frameworks
|
||||
mkdir -p ${APP_NAME}.app/Contents/MacOS
|
||||
mkdir -p ${APP_NAME}.app/Contents/Resources
|
||||
|
||||
# Prepare MEGAcmdSell bundle
|
||||
${MEGAQTPATH}/bin/macdeployqt ${SHELL_PREFIX}MEGAcmdShell.app -no-strip
|
||||
dsymutil ${SHELL_PREFIX}MEGAcmdShell.app/Contents/MacOS/MEGAcmdShell -o MEGAcmdShell.dSYM
|
||||
strip ${SHELL_PREFIX}MEGAcmdShell.app/Contents/MacOS/MEGAcmdShell
|
||||
# place (and strip) executables
|
||||
typeset -A execOriginTarget
|
||||
execOriginTarget[mega-exec]=mega-exec
|
||||
execOriginTarget[mega-cmd]=MEGAcmdShell
|
||||
execOriginTarget[mega-cmd-updater]=MEGAcmdUpdater
|
||||
execOriginTarget[mega-cmd-server]=mega-cmd
|
||||
|
||||
# Prepare MEGAcmdLoader bundle
|
||||
${MEGAQTPATH}/bin/macdeployqt ${LOADER_PREFIX}MEGAcmdLoader.app -no-strip
|
||||
dsymutil ${LOADER_PREFIX}MEGAcmdLoader.app/Contents/MacOS/MEGAcmdLoader -o MEGAcmdLoader.dSYM
|
||||
strip ${LOADER_PREFIX}MEGAcmdLoader.app/Contents/MacOS/MEGAcmdLoader
|
||||
for k in "${(@k)execOriginTarget}"; do
|
||||
dsymutil $k -o $execOriginTarget[$k].dSYM
|
||||
cp $k ${APP_NAME}.app/Contents/MacOS/$execOriginTarget[$k]
|
||||
strip ${APP_NAME}.app/Contents/MacOS/$execOriginTarget[$k]
|
||||
# have dylibs use relative paths:
|
||||
for i in $(otool -L ${APP_NAME}.app/Contents/MacOS/$execOriginTarget[$k] | grep dylib | grep -v "\t/usr/lib" | awk '{print $1}'); do
|
||||
install_name_tool -change $i "@executable_path/../Frameworks/"$(basename $i) ${APP_NAME}.app/Contents/MacOS/$execOriginTarget[$k];
|
||||
done
|
||||
done
|
||||
|
||||
# Prepare MEGAcmdUpdater bundle
|
||||
${MEGAQTPATH}/bin/macdeployqt ${UPDATER_PREFIX}MEGAcmdUpdater.app -no-strip
|
||||
dsymutil ${UPDATER_PREFIX}MEGAcmdUpdater.app/Contents/MacOS/MEGAcmdUpdater -o MEGAcmdUpdater.dSYM
|
||||
strip ${UPDATER_PREFIX}MEGAcmdUpdater.app/Contents/MacOS/MEGAcmdUpdater
|
||||
# copy initialize script (it will simple launch MEGAcmdLoader in a terminal) as the new main executable: MEGAcmd
|
||||
cp ../installer/MEGAcmd.sh ${APP_NAME}.app/Contents/MacOS/MEGAcmd
|
||||
|
||||
# Copy client scripts and completion into package contents
|
||||
cp ../../src/client/mega-* ${SERVER_PREFIX}MEGAcmd.app/Contents/MacOS/
|
||||
cp ../../src/client/megacmd_completion.sh ${SERVER_PREFIX}MEGAcmd.app/Contents/MacOS/
|
||||
# place commands and completion scripts
|
||||
cp ../../src/client/mega-* ${APP_NAME}.app/Contents/MacOS/
|
||||
cp ../../src/client/megacmd_completion.sh ${APP_NAME}.app/Contents/MacOS/
|
||||
|
||||
# Rename exec MEGAcmd (aka: MEGAcmdServer) to mega-cmd and add it to package contents
|
||||
mv ${SERVER_PREFIX}MEGAcmd.app/Contents/MacOS/MEGAcmd ${SERVER_PREFIX}MEGAcmd.app/Contents/MacOS/mega-cmd
|
||||
# Copy initialize script (it will simple launch MEGAcmdLoader in a terminal) as the new main executable: MEGAcmd
|
||||
cp ../installer/MEGAcmd.sh ${SERVER_PREFIX}MEGAcmd.app/Contents/MacOS/MEGAcmd
|
||||
# Rename MEGAClient to mega-exec and add it to package contents
|
||||
mv ${CLIENT_PREFIX}MEGAclient.app/Contents/MacOS/MEGAclient ${SERVER_PREFIX}MEGAcmd.app/Contents/MacOS/mega-exec
|
||||
# Add MEGAcmdLoader into package contents
|
||||
mv ${LOADER_PREFIX}MEGAcmdLoader.app/Contents/MacOS/MEGAcmdLoader ${SERVER_PREFIX}MEGAcmd.app/Contents/MacOS/MEGAcmdLoader
|
||||
# Add MEGAcmdUpdater into package contents
|
||||
mv ${UPDATER_PREFIX}MEGAcmdUpdater.app/Contents/MacOS/MEGAcmdUpdater ${SERVER_PREFIX}MEGAcmd.app/Contents/MacOS/MEGAcmdUpdater
|
||||
# Add MEGAcmdShell into package contents
|
||||
mv ${SHELL_PREFIX}MEGAcmdShell.app/Contents/MacOS/MEGAcmdShell ${SERVER_PREFIX}MEGAcmd.app/Contents/MacOS/MEGAcmdShell
|
||||
# place dylibs
|
||||
for i in $(otool -L ./mega-cmd ./mega-cmd-server ./mega-cmd-updater ./mega-exec | grep dylib | grep -v "\t/usr/lib" | sort | uniq | grep -o "lib[a-x0-9\.]*dylib"); do
|
||||
# copy dylib into its place
|
||||
libinAppPath=${APP_NAME}.app/Contents/Frameworks/$i
|
||||
cp "${VCPKGPATH}"/vcpkg/installed/${build_arch//x86_64/x64}-osx-mega/lib/$i $libinAppPath;
|
||||
|
||||
# have their ids matching the relative one that will be set in the executable
|
||||
install_name_tool -id "@executable_path/../Frameworks/"$(basename $i) ${libinAppPath};
|
||||
|
||||
# and have their linked dylibs use relative paths too:
|
||||
for l in $(otool -L ${libinAppPath} | grep dylib | grep "^\t" | grep -v "\t/usr/lib" | grep -v "executable_path" | awk '{print $1}'); do
|
||||
install_name_tool -change $l "@executable_path/../Frameworks/"$(basename $l) ${libinAppPath};
|
||||
done
|
||||
done;
|
||||
|
||||
# place icns
|
||||
cp ../../contrib/QtCreator/MEGAcmd/MEGAcmdServer/app.icns ${APP_NAME}.app/Contents/Resources/app.icns
|
||||
|
||||
#place PkgInfo
|
||||
echo 'APPL????' > ${APP_NAME}.app/Contents/PkgInfo
|
||||
|
||||
#place empty empty.lproj
|
||||
touch ${APP_NAME}.app/Contents/Resources/empty.lproj
|
||||
|
||||
#place Info.plist
|
||||
cp ../installer/Info.plist ${APP_NAME}.app/Contents/Info.plist
|
||||
|
||||
|
||||
if [ ${build_cmake} -ne 1 ]; then
|
||||
# update version into Info.plist
|
||||
MEGACMD_VERSION=`grep -o "[0-9][0-9]*$" ../../src/megacmdversion.h | head -n 3 | paste -s -d '.' -`
|
||||
/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString $MEGACMD_VERSION" "$APP_NAME.app/Contents/Info.plist"
|
||||
|
||||
# Remove unneded Qt stuff
|
||||
rm -rf ${SERVER_PREFIX}MEGAcmd.app/Contents/Plugins
|
||||
rm -rf ${SERVER_PREFIX}MEGAcmd.app/Contents/Resources/qt.conf
|
||||
|
||||
[ ! -f MEGAcmdServer/MEGAcmd.app/Contents/Frameworks/$AVCODEC_VERSION ] && cp -L $AVCODEC_PATH MEGAcmdServer/MEGAcmd.app/Contents/Frameworks/
|
||||
[ ! -f MEGAcmdServer/MEGAcmd.app/Contents/Frameworks/$AVFORMAT_VERSION ] && cp -L $AVFORMAT_PATH MEGAcmdServer/MEGAcmd.app/Contents/Frameworks/
|
||||
[ ! -f MEGAcmdServer/MEGAcmd.app/Contents/Frameworks/$AVUTIL_VERSION ] && cp -L $AVUTIL_PATH MEGAcmdServer/MEGAcmd.app/Contents/Frameworks/
|
||||
[ ! -f MEGAcmdServer/MEGAcmd.app/Contents/Frameworks/$SWSCALE_VERSION ] && cp -L $SWSCALE_PATH MEGAcmdServer/MEGAcmd.app/Contents/Frameworks/
|
||||
[ ! -f MEGAcmdServer/MEGAcmd.app/Contents/Frameworks/$CARES_VERSION ] && cp -L $CARES_PATH MEGAcmdServer/MEGAcmd.app/Contents/Frameworks/
|
||||
[ ! -f MEGAcmdServer/MEGAcmd.app/Contents/Frameworks/$CURL_VERSION ] && cp -L $CURL_PATH MEGAcmdServer/MEGAcmd.app/Contents/Frameworks/
|
||||
|
||||
if [ ! -f MEGAcmdServer/MEGAcmd.app/Contents/Frameworks/$AVCODEC_VERSION ] \
|
||||
|| [ ! -f MEGAcmdServer/MEGAcmd.app/Contents/Frameworks/$AVFORMAT_VERSION ] \
|
||||
|| [ ! -f MEGAcmdServer/MEGAcmd.app/Contents/Frameworks/$AVUTIL_VERSION ] \
|
||||
|| [ ! -f MEGAcmdServer/MEGAcmd.app/Contents/Frameworks/$SWSCALE_VERSION ];
|
||||
then
|
||||
echo "Error copying FFmpeg libs to app bundle."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
#MEGASYNC_VERSION=`grep "const QString Preferences::VERSION_STRING" ../src/MEGASync/control/Preferences.cpp | awk -F '"' '{print $2}'`
|
||||
#/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString $MEGASYNC_VERSION" "${MSYNC_PREFIX}$APP_NAME.app/Contents/Info.plist"
|
||||
|
||||
if [ ${build_cmake} -ne 1 ]; then
|
||||
rm -r $APP_NAME.app || :
|
||||
mv ${SERVER_PREFIX}$APP_NAME.app ./
|
||||
fi
|
||||
|
||||
otool -L MEGAcmd.app/Contents/MacOS/mega-cmd
|
||||
otool -L MEGAcmd.app/Contents/MacOS/mega-exec
|
||||
otool -L MEGAcmd.app/Contents/MacOS/MEGAcmdLoader
|
||||
otool -L MEGAcmd.app/Contents/MacOS/MEGAcmdUpdater
|
||||
otool -L MEGAcmd.app/Contents/MacOS/MEGAcmdShell
|
||||
otool -L ${APP_NAME}.app/Contents/MacOS/mega-cmd
|
||||
otool -L ${APP_NAME}.app/Contents/MacOS/mega-exec
|
||||
otool -L ${APP_NAME}.app/Contents/MacOS/MEGAcmdLoader || true
|
||||
otool -L ${APP_NAME}.app/Contents/MacOS/MEGAcmdUpdater
|
||||
otool -L ${APP_NAME}.app/Contents/MacOS/MEGAcmdShell
|
||||
|
||||
cd ..
|
||||
|
||||
eval build_time_${build_arch}=`expr $(date +%s) - $build_time_start`
|
||||
unset build_time_start
|
||||
done
|
||||
fi
|
||||
|
||||
if [ "$target_arch" = "universal" ]; then
|
||||
# Remove Release_universal folder (despite SKIP_REMOVAL, since it does not contain previous compilation results)
|
||||
rm -rf Release_${target_arch} || true
|
||||
for i in `find Release_arm64/MEGAcmd.app -type d`; do mkdir -p $i ${i/Release_arm64/Release_universal}; done
|
||||
# copy x86_64 files
|
||||
for i in `find Release_x86_64/MEGAcmd.app -type f`; do
|
||||
cp $i ${i/Release_x86_64/Release_universal}
|
||||
done
|
||||
|
||||
# replace them by arm64
|
||||
for i in `find Release_arm64/MEGAcmd.app -type f`; do
|
||||
cp $i ${i/Release_arm64/Release_universal};
|
||||
done
|
||||
|
||||
# merge binaries:
|
||||
for i in `find Release_arm64/MEGAcmd.app -type f ! -size 0 ! -name app.icns | perl -lne 'print if -B'`; do
|
||||
lipo -create $i ${i/Release_arm64/Release_x86_64} -output ${i/Release_arm64/Release_universal} || true;
|
||||
done
|
||||
fi
|
||||
|
||||
if [ "$sign" = "1" ]; then
|
||||
cd Release_x64
|
||||
cp -R $APP_NAME.app ${APP_NAME}_unsigned.app
|
||||
echo "Signing 'APPBUNDLE'"
|
||||
codesign --force --verify --verbose --preserve-metadata=entitlements --options runtime --sign "Developer ID Application: Mega Limited" --deep $APP_NAME.app
|
||||
echo "Checking signature"
|
||||
spctl -vv -a $APP_NAME.app
|
||||
cd ..
|
||||
sign_time_start=`date +%s`
|
||||
cd Release_${target_arch}
|
||||
cp -R $APP_NAME.app ${APP_NAME}_unsigned.app
|
||||
echo "Signing 'APPBUNDLE'"
|
||||
codesign --force --verify --verbose --preserve-metadata=entitlements --options runtime --sign "Developer ID Application: Mega Limited" --deep $APP_NAME.app
|
||||
echo "Checking signature"
|
||||
spctl -vv -a $APP_NAME.app
|
||||
cd ..
|
||||
sign_time=`expr $(date +%s) - $sign_time_start`
|
||||
fi
|
||||
|
||||
if [ "$createdmg" = "1" ]; then
|
||||
cd Release_x64
|
||||
[ -f $APP_NAME.dmg ] && rm $APP_NAME.dmg
|
||||
echo "DMG CREATION PROCESS..."
|
||||
echo "Creating temporary Disk Image (1/7)"
|
||||
#Create a temporary Disk Image
|
||||
/usr/bin/hdiutil create -srcfolder $APP_NAME.app/ -volname $APP_NAME -ov $APP_NAME-tmp.dmg -fs HFS+ -format UDRW >/dev/null
|
||||
dmg_time_start=`date +%s`
|
||||
cd Release_${target_arch}
|
||||
[ -f $APP_NAME.dmg ] && rm $APP_NAME.dmg
|
||||
echo "DMG CREATION PROCESS..."
|
||||
echo "Creating temporary Disk Image (1/7)"
|
||||
#Create a temporary Disk Image
|
||||
/usr/bin/hdiutil create -srcfolder $APP_NAME.app/ -volname $VOLUME_NAME -ov $APP_NAME-tmp.dmg -fs HFS+ -format UDRW >/dev/null
|
||||
|
||||
echo "Attaching the temporary image (2/7)"
|
||||
#Attach the temporary image
|
||||
mkdir $MOUNTDIR
|
||||
/usr/bin/hdiutil attach $APP_NAME-tmp.dmg -mountroot $MOUNTDIR >/dev/null
|
||||
echo "Attaching the temporary image (2/7)"
|
||||
#Attach the temporary image
|
||||
mkdir $MOUNTDIR
|
||||
/usr/bin/hdiutil attach $APP_NAME-tmp.dmg -mountroot $MOUNTDIR >/dev/null
|
||||
|
||||
echo "Copying resources (3/7)"
|
||||
#Copy the background, the volume icon and DS_Store files
|
||||
unzip -d $MOUNTDIR/$APP_NAME ../$RESOURCES.zip
|
||||
/usr/bin/SetFile -a C $MOUNTDIR/$APP_NAME
|
||||
echo "Copying resources (3/7)"
|
||||
#Copy the background, the volume icon and DS_Store files
|
||||
unzip -d $MOUNTDIR/$VOLUME_NAME ../$RESOURCES.zip
|
||||
/usr/bin/SetFile -a C $MOUNTDIR/$VOLUME_NAME
|
||||
|
||||
echo "Adding symlinks (4/7)"
|
||||
#Add a symbolic link to the Applications directory
|
||||
ln -s /Applications/ $MOUNTDIR/$APP_NAME/Applications
|
||||
echo "Adding symlinks (4/7)"
|
||||
#Add a symbolic link to the Applications directory
|
||||
ln -s /Applications/ $MOUNTDIR/$VOLUME_NAME/Applications
|
||||
|
||||
echo "Detaching temporary Disk Image (5/7)"
|
||||
#Detach the temporary image
|
||||
/usr/bin/hdiutil detach $MOUNTDIR/$APP_NAME >/dev/null
|
||||
# Delete unnecessary file system events log if possible
|
||||
echo "Deleting .fseventsd"
|
||||
rm -rf $MOUNTDIR/$VOLUME_NAME/.fseventsd || true
|
||||
|
||||
echo "Compressing Image (6/7)"
|
||||
#Compress it to a new image
|
||||
/usr/bin/hdiutil convert $APP_NAME-tmp.dmg -format UDZO -o $APP_NAME.dmg >/dev/null
|
||||
echo "Detaching temporary Disk Image (5/7)"
|
||||
#Detach the temporary image
|
||||
/usr/bin/hdiutil detach $MOUNTDIR/$VOLUME_NAME >/dev/null
|
||||
|
||||
echo "Deleting temporary image (7/7)"
|
||||
#Delete the temporary image
|
||||
rm $APP_NAME-tmp.dmg
|
||||
rmdir $MOUNTDIR
|
||||
cd ..
|
||||
echo "Compressing Image (6/7)"
|
||||
#Compress it to a new image
|
||||
/usr/bin/hdiutil convert $APP_NAME-tmp.dmg -format UDZO -o $APP_NAME.dmg >/dev/null
|
||||
|
||||
echo "Deleting temporary image (7/7)"
|
||||
#Delete the temporary image
|
||||
rm $APP_NAME-tmp.dmg
|
||||
rmdir $MOUNTDIR
|
||||
cd ..
|
||||
dmg_time=`expr $(date +%s) - $dmg_time_start`
|
||||
fi
|
||||
|
||||
if [ "$notarize" = "1" ]; then
|
||||
notarize_time_start=`date +%s`
|
||||
cd Release_${target_arch}
|
||||
if [ ! -f $APP_NAME.dmg ];then
|
||||
echo ""
|
||||
echo "There is no dmg to be notarized."
|
||||
echo ""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd Release_x64
|
||||
if [ ! -f $APP_NAME.dmg ];then
|
||||
echo ""
|
||||
echo "There is no dmg to be notarized."
|
||||
echo ""
|
||||
exit 1
|
||||
fi
|
||||
echo "Sending dmg for notarization (1/3)"
|
||||
|
||||
rm querystatus.txt staple.txt || :
|
||||
xcrun notarytool submit $APP_NAME.dmg --keychain-profile "AC_PASSWORD" --wait 2>&1 | tee notarylog.txt
|
||||
echo >> notarylog.txt
|
||||
|
||||
echo "NOTARIZATION PROCESS..."
|
||||
echo "Getting USERNAME for notarization commands (1/7)"
|
||||
xcrun stapler staple -v $APP_NAME.dmg 2>&1 | tee -a notarylog.txt
|
||||
|
||||
AC_USERNAME=$(security find-generic-password -s AC_PASSWORD | grep acct | cut -d '"' -f 4)
|
||||
if [[ -z "$AC_USERNAME" ]]; then
|
||||
echo "Error USERNAME not found for notarization process. You should add item named AC_PASSWORD with and account value matching the username to macOS keychain"
|
||||
false
|
||||
fi
|
||||
echo "Stapling ok (2/3)"
|
||||
|
||||
echo "Sending dmg for notarization (2/7)"
|
||||
xcrun altool --notarize-app -t osx -f $APP_NAME.dmg --primary-bundle-id $ID_BUNDLE -u $AC_USERNAME -p "@keychain:AC_PASSWORD" --output-format xml 2>&1 > staple.txt
|
||||
RUUID=$(cat staple.txt | grep RequestUUID -A 1 | tail -n 1 | awk -F "[<>]" '{print $3}')
|
||||
echo $RUUID
|
||||
if [ ! -z "$RUUID" ] ; then
|
||||
echo "Received UUID for notarization request. Checking state... (3/7)"
|
||||
attempts=60
|
||||
while [ $attempts -gt 0 ]
|
||||
do
|
||||
echo "Querying state of notarization..."
|
||||
xcrun altool --notarization-info $RUUID -u $AC_USERNAME -p "@keychain:AC_PASSWORD" --output-format xml 2>&1 > querystatus.txt
|
||||
RUUIDQUERY=$(cat querystatus.txt | grep RequestUUID -A 1 | tail -n 1 | awk -F "[<>]" '{print $3}')
|
||||
if [[ "$RUUID" != "$RUUIDQUERY" ]]; then
|
||||
echo "UUIDs missmatch"
|
||||
false
|
||||
fi
|
||||
#Mount dmg volume to check if app bundle is notarized
|
||||
echo "Checking signature and notarization (3/3)"
|
||||
mkdir $MOUNTDIR || :
|
||||
hdiutil attach $APP_NAME.dmg -mountroot $MOUNTDIR >/dev/null
|
||||
spctl --assess -vv -a $MOUNTDIR/$VOLUME_NAME/$APP_NAME.app
|
||||
hdiutil detach $MOUNTDIR/$VOLUME_NAME >/dev/null
|
||||
rmdir $MOUNTDIR
|
||||
|
||||
STATUS=$(cat querystatus.txt | grep -i ">Status<" -A 1 | tail -n 1 | awk -F "[<>]" '{print $3}')
|
||||
|
||||
if [[ $STATUS == "invalid" ]]; then
|
||||
echo "INVALID status. Check file querystatus.txt for further information"
|
||||
echo $STATUS
|
||||
break
|
||||
elif [[ $STATUS == "success" ]]; then
|
||||
echo "Notarized ok. Stapling dmg file..."
|
||||
xcrun stapler staple -v $APP_NAME.dmg
|
||||
echo "Stapling ok"
|
||||
|
||||
#Mount dmg volume to check if app bundle is notarized
|
||||
echo "Checking signature and notarization"
|
||||
mkdir $MOUNTDIR || :
|
||||
hdiutil attach $APP_NAME.dmg -mountroot $MOUNTDIR >/dev/null
|
||||
spctl -v -a $MOUNTDIR/$APP_NAME/$APP_NAME.app
|
||||
hdiutil detach $MOUNTDIR/$APP_NAME >/dev/null
|
||||
rmdir $MOUNTDIR
|
||||
break
|
||||
else
|
||||
echo $STATUS
|
||||
fi
|
||||
|
||||
attempts=$((attempts - 1))
|
||||
sleep 30
|
||||
done
|
||||
|
||||
if [[ $attempts -eq 0 ]]; then
|
||||
echo "Notarization still in process, timed out waiting for the process to end"
|
||||
false
|
||||
fi
|
||||
fi
|
||||
cd ..
|
||||
cd ..
|
||||
notarize_time=`expr $(date +%s) - $notarize_time_start`
|
||||
fi
|
||||
|
||||
echo "DONE"
|
||||
echo ""
|
||||
if [ ${build} -eq 1 ]; then for build_arch in $build_archs; do echo "Build ${build_arch}: ${(P)$(echo build_time_${build_arch})} s"; done; fi
|
||||
if [ ${sign} -eq 1 ]; then echo "Sign: ${sign_time} s"; fi
|
||||
if [ ${createdmg} -eq 1 ]; then echo "dmg: ${dmg_time} s"; fi
|
||||
if [ ${notarize} -eq 1 ]; then echo "Notarization: ${notarize_time} s"; fi
|
||||
echo ""
|
||||
echo "DONE in "`expr $(for build_arch in $build_archs; do echo "${(P)$(echo build_time_${build_arch})} + "; done) ${sign_time} + ${dmg_time} + ${notarize_time}`" s"
|
||||
|
@ -5,9 +5,11 @@ RequestExecutionLevel user
|
||||
Unicode true
|
||||
|
||||
#!define BUILD_UNINSTALLER
|
||||
!define BUILD_X64_VERSION
|
||||
#!define BUILD_X64_VERSION
|
||||
#!define ENABLE_DEBUG_MESSAGES
|
||||
|
||||
#!define WINKITVER "${WINKITVER}"
|
||||
|
||||
!macro DEBUG_MSG message
|
||||
!ifdef ENABLE_DEBUG_MESSAGES
|
||||
MessageBox MB_OK "${message}"
|
||||
@ -24,10 +26,10 @@ VIAddVersionKey "LegalCopyright" "MEGA Limited 2019"
|
||||
VIAddVersionKey "ProductName" "MEGAcmd"
|
||||
|
||||
; Version info
|
||||
VIProductVersion "1.6.3.0"
|
||||
VIAddVersionKey "FileVersion" "1.6.3.0"
|
||||
VIAddVersionKey "ProductVersion" "1.6.3.0"
|
||||
!define PRODUCT_VERSION "1.6.3"
|
||||
VIProductVersion "1.7.0.0"
|
||||
VIAddVersionKey "FileVersion" "1.7.0.0"
|
||||
VIAddVersionKey "ProductVersion" "1.7.0.0"
|
||||
!define PRODUCT_VERSION "1.7.0"
|
||||
|
||||
!define PRODUCT_PUBLISHER "Mega Limited"
|
||||
!define PRODUCT_WEB_SITE "http://www.mega.nz"
|
||||
@ -193,6 +195,7 @@ Name $APP_NAME
|
||||
!ifdef BUILD_UNINSTALLER
|
||||
OutFile "UninstallerGenerator.exe"
|
||||
!else
|
||||
!pragma warning disable 6020 ; Disable warning: Uninstaller script code found but WriteUninstaller never used - no uninstaller will be created
|
||||
!ifdef BUILD_X64_VERSION
|
||||
OutFile "MEGAcmdSetup64.exe"
|
||||
!else
|
||||
@ -367,47 +370,47 @@ modeselected:
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Redist\MSVC\14.29.30133\x64\Microsoft.VC142.CRT\concrt140.dll" "$INSTDIR\concrt140.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Redist\MSVC\14.29.30133\x64\Microsoft.VC142.CRT\vccorlib140.dll" "$INSTDIR\vccorlib140.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Redist\MSVC\14.29.30133\x64\Microsoft.VC142.OpenMP\vcomp140.dll" "$INSTDIR\vcomp140.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\ucrtbase.dll" "$INSTDIR\ucrtbase.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-crt-utility-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-utility-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-crt-time-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-time-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-crt-string-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-string-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-crt-stdio-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-stdio-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-crt-runtime-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-runtime-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-crt-process-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-process-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-crt-private-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-private-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-crt-multibyte-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-multibyte-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-crt-math-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-math-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-crt-locale-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-locale-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-crt-heap-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-heap-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-crt-filesystem-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-filesystem-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-crt-environment-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-environment-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-crt-convert-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-convert-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-crt-conio-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-conio-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-core-util-l1-1-0.dll" "$INSTDIR\api-ms-win-core-util-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-core-timezone-l1-1-0.dll" "$INSTDIR\api-ms-win-core-timezone-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-core-sysinfo-l1-1-0.dll" "$INSTDIR\api-ms-win-core-sysinfo-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-core-synch-l1-2-0.dll" "$INSTDIR\api-ms-win-core-synch-l1-2-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-core-synch-l1-1-0.dll" "$INSTDIR\api-ms-win-core-synch-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-core-string-l1-1-0.dll" "$INSTDIR\api-ms-win-core-string-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-core-rtlsupport-l1-1-0.dll" "$INSTDIR\api-ms-win-core-rtlsupport-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-core-profile-l1-1-0.dll" "$INSTDIR\api-ms-win-core-profile-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-core-processthreads-l1-1-1.dll" "$INSTDIR\api-ms-win-core-processthreads-l1-1-1.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-core-processthreads-l1-1-0.dll" "$INSTDIR\api-ms-win-core-processthreads-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-core-processenvironment-l1-1-0.dll" "$INSTDIR\api-ms-win-core-processenvironment-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-core-namedpipe-l1-1-0.dll" "$INSTDIR\api-ms-win-core-namedpipe-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-core-memory-l1-1-0.dll" "$INSTDIR\api-ms-win-core-memory-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-core-localization-l1-2-0.dll" "$INSTDIR\api-ms-win-core-localization-l1-2-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-core-libraryloader-l1-1-0.dll" "$INSTDIR\api-ms-win-core-libraryloader-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-core-interlocked-l1-1-0.dll" "$INSTDIR\api-ms-win-core-interlocked-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-core-heap-l1-1-0.dll" "$INSTDIR\api-ms-win-core-heap-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-core-handle-l1-1-0.dll" "$INSTDIR\api-ms-win-core-handle-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-core-file-l2-1-0.dll" "$INSTDIR\api-ms-win-core-file-l2-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-core-file-l1-2-0.dll" "$INSTDIR\api-ms-win-core-file-l1-2-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-core-file-l1-1-0.dll" "$INSTDIR\api-ms-win-core-file-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-core-errorhandling-l1-1-0.dll" "$INSTDIR\api-ms-win-core-errorhandling-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-core-debug-l1-1-0.dll" "$INSTDIR\api-ms-win-core-debug-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-core-datetime-l1-1-0.dll" "$INSTDIR\api-ms-win-core-datetime-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64\api-ms-win-core-console-l1-1-0.dll" "$INSTDIR\api-ms-win-core-console-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\ucrtbase.dll" "$INSTDIR\ucrtbase.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-crt-utility-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-utility-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-crt-time-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-time-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-crt-string-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-string-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-crt-stdio-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-stdio-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-crt-runtime-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-runtime-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-crt-process-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-process-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-crt-private-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-private-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-crt-multibyte-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-multibyte-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-crt-math-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-math-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-crt-locale-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-locale-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-crt-heap-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-heap-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-crt-filesystem-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-filesystem-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-crt-environment-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-environment-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-crt-convert-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-convert-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-crt-conio-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-conio-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-core-util-l1-1-0.dll" "$INSTDIR\api-ms-win-core-util-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-core-timezone-l1-1-0.dll" "$INSTDIR\api-ms-win-core-timezone-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-core-sysinfo-l1-1-0.dll" "$INSTDIR\api-ms-win-core-sysinfo-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-core-synch-l1-2-0.dll" "$INSTDIR\api-ms-win-core-synch-l1-2-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-core-synch-l1-1-0.dll" "$INSTDIR\api-ms-win-core-synch-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-core-string-l1-1-0.dll" "$INSTDIR\api-ms-win-core-string-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-core-rtlsupport-l1-1-0.dll" "$INSTDIR\api-ms-win-core-rtlsupport-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-core-profile-l1-1-0.dll" "$INSTDIR\api-ms-win-core-profile-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-core-processthreads-l1-1-1.dll" "$INSTDIR\api-ms-win-core-processthreads-l1-1-1.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-core-processthreads-l1-1-0.dll" "$INSTDIR\api-ms-win-core-processthreads-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-core-processenvironment-l1-1-0.dll" "$INSTDIR\api-ms-win-core-processenvironment-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-core-namedpipe-l1-1-0.dll" "$INSTDIR\api-ms-win-core-namedpipe-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-core-memory-l1-1-0.dll" "$INSTDIR\api-ms-win-core-memory-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-core-localization-l1-2-0.dll" "$INSTDIR\api-ms-win-core-localization-l1-2-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-core-libraryloader-l1-1-0.dll" "$INSTDIR\api-ms-win-core-libraryloader-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-core-interlocked-l1-1-0.dll" "$INSTDIR\api-ms-win-core-interlocked-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-core-heap-l1-1-0.dll" "$INSTDIR\api-ms-win-core-heap-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-core-handle-l1-1-0.dll" "$INSTDIR\api-ms-win-core-handle-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-core-file-l2-1-0.dll" "$INSTDIR\api-ms-win-core-file-l2-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-core-file-l1-2-0.dll" "$INSTDIR\api-ms-win-core-file-l1-2-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-core-file-l1-1-0.dll" "$INSTDIR\api-ms-win-core-file-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-core-errorhandling-l1-1-0.dll" "$INSTDIR\api-ms-win-core-errorhandling-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-core-debug-l1-1-0.dll" "$INSTDIR\api-ms-win-core-debug-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-core-datetime-l1-1-0.dll" "$INSTDIR\api-ms-win-core-datetime-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x64\api-ms-win-core-console-l1-1-0.dll" "$INSTDIR\api-ms-win-core-console-l1-1-0.dll"
|
||||
!else
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Redist\MSVC\14.29.30133\x86\Microsoft.VC142.CRT\vcruntime140.dll" "$INSTDIR\vcruntime140.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Redist\MSVC\14.29.30133\x86\Microsoft.VC142.CRT\msvcp140.dll" "$INSTDIR\msvcp140.dll"
|
||||
@ -418,47 +421,47 @@ modeselected:
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Redist\MSVC\14.29.30133\x86\Microsoft.VC142.CRT\concrt140.dll" "$INSTDIR\concrt140.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Redist\MSVC\14.29.30133\x86\Microsoft.VC142.CRT\vccorlib140.dll" "$INSTDIR\vccorlib140.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Redist\MSVC\14.29.30133\x86\Microsoft.VC142.OpenMP\vcomp140.dll" "$INSTDIR\vcomp140.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\ucrtbase.dll" "$INSTDIR\ucrtbase.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-crt-utility-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-utility-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-crt-time-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-time-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-crt-string-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-string-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-crt-stdio-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-stdio-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-crt-runtime-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-runtime-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-crt-process-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-process-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-crt-private-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-private-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-crt-multibyte-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-multibyte-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-crt-math-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-math-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-crt-locale-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-locale-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-crt-heap-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-heap-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-crt-filesystem-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-filesystem-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-crt-environment-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-environment-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-crt-convert-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-convert-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-crt-conio-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-conio-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-core-util-l1-1-0.dll" "$INSTDIR\api-ms-win-core-util-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-core-timezone-l1-1-0.dll" "$INSTDIR\api-ms-win-core-timezone-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-core-sysinfo-l1-1-0.dll" "$INSTDIR\api-ms-win-core-sysinfo-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-core-synch-l1-2-0.dll" "$INSTDIR\api-ms-win-core-synch-l1-2-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-core-synch-l1-1-0.dll" "$INSTDIR\api-ms-win-core-synch-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-core-string-l1-1-0.dll" "$INSTDIR\api-ms-win-core-string-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-core-rtlsupport-l1-1-0.dll" "$INSTDIR\api-ms-win-core-rtlsupport-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-core-profile-l1-1-0.dll" "$INSTDIR\api-ms-win-core-profile-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-core-processthreads-l1-1-1.dll" "$INSTDIR\api-ms-win-core-processthreads-l1-1-1.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-core-processthreads-l1-1-0.dll" "$INSTDIR\api-ms-win-core-processthreads-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-core-processenvironment-l1-1-0.dll" "$INSTDIR\api-ms-win-core-processenvironment-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-core-namedpipe-l1-1-0.dll" "$INSTDIR\api-ms-win-core-namedpipe-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-core-memory-l1-1-0.dll" "$INSTDIR\api-ms-win-core-memory-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-core-localization-l1-2-0.dll" "$INSTDIR\api-ms-win-core-localization-l1-2-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-core-libraryloader-l1-1-0.dll" "$INSTDIR\api-ms-win-core-libraryloader-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-core-interlocked-l1-1-0.dll" "$INSTDIR\api-ms-win-core-interlocked-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-core-heap-l1-1-0.dll" "$INSTDIR\api-ms-win-core-heap-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-core-handle-l1-1-0.dll" "$INSTDIR\api-ms-win-core-handle-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-core-file-l2-1-0.dll" "$INSTDIR\api-ms-win-core-file-l2-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-core-file-l1-2-0.dll" "$INSTDIR\api-ms-win-core-file-l1-2-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-core-file-l1-1-0.dll" "$INSTDIR\api-ms-win-core-file-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-core-errorhandling-l1-1-0.dll" "$INSTDIR\api-ms-win-core-errorhandling-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-core-debug-l1-1-0.dll" "$INSTDIR\api-ms-win-core-debug-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-core-datetime-l1-1-0.dll" "$INSTDIR\api-ms-win-core-datetime-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86\api-ms-win-core-console-l1-1-0.dll" "$INSTDIR\api-ms-win-core-console-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\ucrtbase.dll" "$INSTDIR\ucrtbase.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-crt-utility-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-utility-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-crt-time-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-time-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-crt-string-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-string-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-crt-stdio-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-stdio-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-crt-runtime-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-runtime-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-crt-process-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-process-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-crt-private-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-private-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-crt-multibyte-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-multibyte-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-crt-math-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-math-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-crt-locale-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-locale-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-crt-heap-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-heap-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-crt-filesystem-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-filesystem-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-crt-environment-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-environment-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-crt-convert-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-convert-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-crt-conio-l1-1-0.dll" "$INSTDIR\api-ms-win-crt-conio-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-core-util-l1-1-0.dll" "$INSTDIR\api-ms-win-core-util-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-core-timezone-l1-1-0.dll" "$INSTDIR\api-ms-win-core-timezone-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-core-sysinfo-l1-1-0.dll" "$INSTDIR\api-ms-win-core-sysinfo-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-core-synch-l1-2-0.dll" "$INSTDIR\api-ms-win-core-synch-l1-2-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-core-synch-l1-1-0.dll" "$INSTDIR\api-ms-win-core-synch-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-core-string-l1-1-0.dll" "$INSTDIR\api-ms-win-core-string-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-core-rtlsupport-l1-1-0.dll" "$INSTDIR\api-ms-win-core-rtlsupport-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-core-profile-l1-1-0.dll" "$INSTDIR\api-ms-win-core-profile-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-core-processthreads-l1-1-1.dll" "$INSTDIR\api-ms-win-core-processthreads-l1-1-1.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-core-processthreads-l1-1-0.dll" "$INSTDIR\api-ms-win-core-processthreads-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-core-processenvironment-l1-1-0.dll" "$INSTDIR\api-ms-win-core-processenvironment-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-core-namedpipe-l1-1-0.dll" "$INSTDIR\api-ms-win-core-namedpipe-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-core-memory-l1-1-0.dll" "$INSTDIR\api-ms-win-core-memory-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-core-localization-l1-2-0.dll" "$INSTDIR\api-ms-win-core-localization-l1-2-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-core-libraryloader-l1-1-0.dll" "$INSTDIR\api-ms-win-core-libraryloader-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-core-interlocked-l1-1-0.dll" "$INSTDIR\api-ms-win-core-interlocked-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-core-heap-l1-1-0.dll" "$INSTDIR\api-ms-win-core-heap-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-core-handle-l1-1-0.dll" "$INSTDIR\api-ms-win-core-handle-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-core-file-l2-1-0.dll" "$INSTDIR\api-ms-win-core-file-l2-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-core-file-l1-2-0.dll" "$INSTDIR\api-ms-win-core-file-l1-2-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-core-file-l1-1-0.dll" "$INSTDIR\api-ms-win-core-file-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-core-errorhandling-l1-1-0.dll" "$INSTDIR\api-ms-win-core-errorhandling-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-core-debug-l1-1-0.dll" "$INSTDIR\api-ms-win-core-debug-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-core-datetime-l1-1-0.dll" "$INSTDIR\api-ms-win-core-datetime-l1-1-0.dll"
|
||||
!insertmacro Install3264DLL "C:\Program Files (x86)\Windows Kits\10\Redist\${WINKITVER}\ucrt\DLLs\x86\api-ms-win-core-console-l1-1-0.dll" "$INSTDIR\api-ms-win-core-console-l1-1-0.dll"
|
||||
!endif
|
||||
|
||||
!ifndef BUILD_UNINSTALLER ; if building uninstaller, skip files below
|
||||
@ -471,58 +474,28 @@ modeselected:
|
||||
SetOutPath "$INSTDIR"
|
||||
SetOverwrite on
|
||||
AllowSkipFiles off
|
||||
File "${SRCDIR_MEGACMD}\MEGAcmdServer.exe"
|
||||
AccessControl::SetFileOwner "$INSTDIR\MEGAcmdServer.exe" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\MEGAcmdServer.exe" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_MEGACMD}\MEGAclient.exe"
|
||||
AccessControl::SetFileOwner "$INSTDIR\MEGAclient.exe" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\MEGAclient.exe" "$USERNAME" "GenericRead + GenericWrite"
|
||||
!insertmacro Install3264DLL "${SRCDIR_MEGACMD}\MEGAcmdServer.exe" "$INSTDIR\MEGAcmdServer.exe"
|
||||
!insertmacro Install3264DLL "${SRCDIR_MEGACMD}\MEGAclient.exe" "$INSTDIR\MEGAclient.exe"
|
||||
!insertmacro Install3264DLL "${SRCDIR_MEGACMD}\MEGAcmdShell.exe" "$INSTDIR\MEGAcmdShell.exe"
|
||||
!insertmacro Install3264DLL "${SRCDIR_MEGACMD}\MEGAcmdUpdater.exe" "$INSTDIR\MEGAcmdUpdater.exe"
|
||||
|
||||
File "${SRCDIR_MEGACMD}\MEGAcmdShell.exe"
|
||||
AccessControl::SetFileOwner "$INSTDIR\MEGAcmdShell.exe" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\MEGAcmdShell.exe" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_MEGACMD}\MEGAcmdUpdater.exe"
|
||||
AccessControl::SetFileOwner "$INSTDIR\MEGAcmdUpdater.exe" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\MEGAcmdUpdater.exe" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
!ifdef BUILD_X64_VERSION
|
||||
!insertmacro Install3264DLL "${SRCDIR_MEGACMD}\libcrypto-1_1-x64.dll" "$INSTDIR\libcrypto-1_1-x64.dll"
|
||||
!insertmacro Install3264DLL "${SRCDIR_MEGACMD}\libssl-1_1-x64.dll" "$INSTDIR\libssl-1_1-x64.dll"
|
||||
!insertmacro Install3264DLL "${SRCDIR_MEGACMD}\libssl-3-x64.dll" "$INSTDIR\libssl-3-x64.dll"
|
||||
!insertmacro Install3264DLL "${SRCDIR_MEGACMD}\libcrypto-3-x64.dll" "$INSTDIR\libcrypto-3-x64.dll"
|
||||
!else
|
||||
!insertmacro Install3264DLL "${SRCDIR_MEGACMD}\libcrypto-1_1.dll" "$INSTDIR\libcrypto-1_1.dll"
|
||||
!insertmacro Install3264DLL "${SRCDIR_MEGACMD}\libssl-1_1.dll" "$INSTDIR\libssl-1_1.dll"
|
||||
!insertmacro Install3264DLL "${SRCDIR_MEGACMD}\libcrypto-3.dll" "$INSTDIR\libcrypto-3.dll"
|
||||
!insertmacro Install3264DLL "${SRCDIR_MEGACMD}\libssl-3.dll" "$INSTDIR\libssl-3.dll"
|
||||
!endif
|
||||
|
||||
File "${SRCDIR_MEGACMD}\libcurl.dll"
|
||||
AccessControl::SetFileOwner "$INSTDIR\libcurl.dll" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\libcurl.dll" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_MEGACMD}\cares.dll"
|
||||
AccessControl::SetFileOwner "$INSTDIR\cares.dll" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\cares.dll" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_MEGACMD}\avcodec-58.dll"
|
||||
AccessControl::SetFileOwner "$INSTDIR\avcodec-58.dll" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\avcodec-58.dll" "$USERNAME" "GenericRead + GenericWrite"
|
||||
!insertmacro Install3264DLL "${SRCDIR_MEGACMD}\libcurl.dll" "$INSTDIR\libcurl.dll"
|
||||
!insertmacro Install3264DLL "${SRCDIR_MEGACMD}\cares.dll" "$INSTDIR\cares.dll"
|
||||
!insertmacro Install3264DLL "${SRCDIR_MEGACMD}\avcodec-59.dll" "$INSTDIR\avcodec-59.dll"
|
||||
!insertmacro Install3264DLL "${SRCDIR_MEGACMD}\avformat-59.dll" "$INSTDIR\avformat-59.dll"
|
||||
!insertmacro Install3264DLL "${SRCDIR_MEGACMD}\avutil-57.dll" "$INSTDIR\avutil-57.dll"
|
||||
!insertmacro Install3264DLL "${SRCDIR_MEGACMD}\swscale-6.dll" "$INSTDIR\swscale-6.dll"
|
||||
!insertmacro Install3264DLL "${SRCDIR_MEGACMD}\swresample-4.dll" "$INSTDIR\swresample-4.dll"
|
||||
|
||||
File "${SRCDIR_MEGACMD}\avformat-58.dll"
|
||||
AccessControl::SetFileOwner "$INSTDIR\avformat-58.dll" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\avformat-58.dll" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_MEGACMD}\avutil-56.dll"
|
||||
AccessControl::SetFileOwner "$INSTDIR\avutil-56.dll" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\avutil-56.dll" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_MEGACMD}\swscale-5.dll"
|
||||
AccessControl::SetFileOwner "$INSTDIR\swscale-5.dll" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\swscale-5.dll" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_MEGACMD}\swresample-3.dll"
|
||||
AccessControl::SetFileOwner "$INSTDIR\swresample-3.dll" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\swresample-3.dll" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
;remove old DLLs that we no longer use (some became static; some have later version number)
|
||||
Delete "$INSTDIR\avcodec-57.dll"
|
||||
Delete "$INSTDIR\avformat-57.dll"
|
||||
@ -532,242 +505,80 @@ modeselected:
|
||||
Delete "$INSTDIR\libsodium.dll"
|
||||
Delete "$INSTDIR\pdfium.dll"
|
||||
Delete "$INSTDIR\FreeImage.dll"
|
||||
Delete "$INSTDIR\avcodec-58.dll"
|
||||
Delete "$INSTDIR\avformat-58.dll"
|
||||
Delete "$INSTDIR\avutil-56.dll"
|
||||
Delete "$INSTDIR\swscale-5.dll"
|
||||
Delete "$INSTDIR\swresample-3.dll"
|
||||
|
||||
Delete "$INSTDIR\libcrypto-1_1-x64.dll"
|
||||
Delete "$INSTDIR\libssl-1_1-x64.dll"
|
||||
|
||||
Delete "$INSTDIR\libcrypto-1_1.dll"
|
||||
Delete "$INSTDIR\libssl-1_1.dll"
|
||||
|
||||
; BAT files
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-attr.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-attr.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-attr.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-cd.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-cd.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-cd.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-confirm.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-confirm.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-confirm.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-cp.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-cp.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-cp.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-debug.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-debug.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-debug.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-du.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-du.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-du.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-df.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-df.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-df.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-proxy.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-proxy.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-proxy.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-export.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-export.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-export.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-find.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-find.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-find.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-get.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-get.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-get.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-help.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-help.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-help.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-https.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-https.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-https.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-webdav.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-webdav.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-webdav.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-deleteversions.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-deleteversions.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-deleteversions.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-transfers.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-transfers.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-transfers.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-import.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-import.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-import.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-invite.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-invite.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-invite.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-ipc.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-ipc.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-ipc.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-killsession.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-killsession.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-killsession.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-lcd.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-lcd.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-lcd.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-log.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-log.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-log.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-login.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-login.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-login.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-logout.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-logout.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-logout.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-lpwd.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-lpwd.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-lpwd.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-ls.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-ls.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-ls.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-backup.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-backup.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-backup.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-mkdir.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-mkdir.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-mkdir.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-mount.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-mount.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-mount.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-mv.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-mv.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-mv.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-passwd.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-passwd.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-passwd.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-preview.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-preview.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-preview.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-put.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-put.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-put.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-pwd.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-pwd.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-pwd.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-quit.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-quit.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-quit.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-reload.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-reload.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-reload.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-rm.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-rm.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-rm.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-session.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-session.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-session.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-share.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-share.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-share.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-showpcr.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-showpcr.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-showpcr.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-signup.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-signup.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-signup.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-speedlimit.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-speedlimit.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-speedlimit.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-sync.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-sync.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-sync.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-exclude.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-exclude.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-exclude.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-thumbnail.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-thumbnail.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-thumbnail.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-userattr.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-userattr.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-userattr.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-users.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-users.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-users.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-version.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-version.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-version.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-whoami.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-whoami.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-whoami.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-cat.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-cat.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-cat.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-tree.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-tree.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-tree.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-mediainfo.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-mediainfo.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-mediainfo.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-graphics.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-graphics.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-graphics.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-ftp.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-ftp.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-ftp.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-cancel.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-cancel.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-cancel.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-confirmcancel.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-confirmcancel.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-confirmcancel.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
|
||||
File "${SRCDIR_BATFILES}\mega-errorcode.bat"
|
||||
AccessControl::SetFileOwner "$INSTDIR\mega-errorcode.bat" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\mega-errorcode.bat" "$USERNAME" "GenericRead + GenericWrite"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-attr.bat" "$INSTDIR\mega-attr.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-cd.bat" "$INSTDIR\mega-cd.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-confirm.bat" "$INSTDIR\mega-confirm.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-cp.bat" "$INSTDIR\mega-cp.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-debug.bat" "$INSTDIR\mega-debug.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-du.bat" "$INSTDIR\mega-du.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-df.bat" "$INSTDIR\mega-df.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-proxy.bat" "$INSTDIR\mega-proxy.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-export.bat" "$INSTDIR\mega-export.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-find.bat" "$INSTDIR\mega-find.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-get.bat" "$INSTDIR\mega-get.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-help.bat" "$INSTDIR\mega-help.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-https.bat" "$INSTDIR\mega-https.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-webdav.bat" "$INSTDIR\mega-webdav.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-deleteversions.bat" "$INSTDIR\mega-deleteversions.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-transfers.bat" "$INSTDIR\mega-transfers.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-import.bat" "$INSTDIR\mega-import.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-invite.bat" "$INSTDIR\mega-invite.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-ipc.bat" "$INSTDIR\mega-ipc.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-killsession.bat" "$INSTDIR\mega-killsession.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-lcd.bat" "$INSTDIR\mega-lcd.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-log.bat" "$INSTDIR\mega-log.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-login.bat" "$INSTDIR\mega-login.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-logout.bat" "$INSTDIR\mega-logout.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-lpwd.bat" "$INSTDIR\mega-lpwd.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-ls.bat" "$INSTDIR\mega-ls.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-backup.bat" "$INSTDIR\mega-backup.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-mkdir.bat" "$INSTDIR\mega-mkdir.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-mount.bat" "$INSTDIR\mega-mount.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-mv.bat" "$INSTDIR\mega-mv.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-passwd.bat" "$INSTDIR\mega-passwd.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-preview.bat" "$INSTDIR\mega-preview.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-put.bat" "$INSTDIR\mega-put.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-pwd.bat" "$INSTDIR\mega-pwd.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-quit.bat" "$INSTDIR\mega-quit.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-reload.bat" "$INSTDIR\mega-reload.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-rm.bat" "$INSTDIR\mega-rm.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-session.bat" "$INSTDIR\mega-session.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-share.bat" "$INSTDIR\mega-share.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-showpcr.bat" "$INSTDIR\mega-showpcr.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-signup.bat" "$INSTDIR\mega-signup.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-speedlimit.bat" "$INSTDIR\mega-speedlimit.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-sync.bat" "$INSTDIR\mega-sync.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-exclude.bat" "$INSTDIR\mega-exclude.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-thumbnail.bat" "$INSTDIR\mega-thumbnail.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-userattr.bat" "$INSTDIR\mega-userattr.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-users.bat" "$INSTDIR\mega-users.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-version.bat" "$INSTDIR\mega-version.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-whoami.bat" "$INSTDIR\mega-whoami.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-cat.bat" "$INSTDIR\mega-cat.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-tree.bat" "$INSTDIR\mega-tree.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-mediainfo.bat" "$INSTDIR\mega-mediainfo.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-graphics.bat" "$INSTDIR\mega-graphics.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-ftp.bat" "$INSTDIR\mega-ftp.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-cancel.bat" "$INSTDIR\mega-cancel.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-confirmcancel.bat" "$INSTDIR\mega-confirmcancel.bat"
|
||||
!insertmacro Install3264DLL "${SRCDIR_BATFILES}\mega-errorcode.bat" "$INSTDIR\mega-errorcode.bat"
|
||||
|
||||
; Uninstaller
|
||||
;!ifndef BUILD_UNINSTALLER ; if building uninstaller, skip this check
|
||||
File "${SRCDIR_MEGACMD}\${UNINSTALLER_NAME}"
|
||||
AccessControl::SetFileOwner "$INSTDIR\${UNINSTALLER_NAME}" "$USERNAME"
|
||||
AccessControl::GrantOnFile "$INSTDIR\${UNINSTALLER_NAME}" "$USERNAME" "GenericRead + GenericWrite"
|
||||
!insertmacro Install3264DLL "${SRCDIR_MEGACMD}\${UNINSTALLER_NAME}" "$INSTDIR\${UNINSTALLER_NAME}"
|
||||
!endif
|
||||
|
||||
!insertmacro DEBUG_MSG "Creating shortcuts"
|
||||
@ -918,19 +729,22 @@ Section Uninstall
|
||||
Delete "$INSTDIR\MEGAclient.exe"
|
||||
Delete "$INSTDIR\libeay32.dll"
|
||||
Delete "$INSTDIR\ssleay32.dll"
|
||||
Delete "$INSTDIR\libcrypto-1_1-x64.dll"
|
||||
Delete "$INSTDIR\libssl-1_1-x64.dll"
|
||||
Delete "$INSTDIR\libcrypto-1_1.dll"
|
||||
Delete "$INSTDIR\libssl-1_1.dll"
|
||||
Delete "$INSTDIR\libcurl.dll"
|
||||
Delete "$INSTDIR\cares.dll"
|
||||
Delete "$INSTDIR\libuv.dll"
|
||||
Delete "$INSTDIR\NSIS.Library.RegTool*.exe"
|
||||
Delete "$INSTDIR\avcodec-58.dll"
|
||||
Delete "$INSTDIR\avformat-58.dll"
|
||||
Delete "$INSTDIR\avutil-56.dll"
|
||||
Delete "$INSTDIR\swscale-5.dll"
|
||||
Delete "$INSTDIR\swresample-3.dll"
|
||||
Delete "$INSTDIR\avcodec-59.dll"
|
||||
Delete "$INSTDIR\avformat-59.dll"
|
||||
Delete "$INSTDIR\avutil-57.dll"
|
||||
Delete "$INSTDIR\swscale-6.dll"
|
||||
Delete "$INSTDIR\swresample-4.dll"
|
||||
;!ifdef BUILD_X64_VERSION
|
||||
Delete "$INSTDIR\libssl-3-x64.dll"
|
||||
Delete "$INSTDIR\libcrypto-3-x64.dll"
|
||||
;!else
|
||||
Delete "$INSTDIR\libcrypto-3.dll"
|
||||
Delete "$INSTDIR\libssl-3.dll"
|
||||
;!endif
|
||||
|
||||
;Still remove old DLLs though we no longer produce them (non-VCPKG may still produce them)
|
||||
Delete "$INSTDIR\avcodec-57.dll"
|
||||
@ -941,6 +755,16 @@ Section Uninstall
|
||||
Delete "$INSTDIR\libsodium.dll"
|
||||
Delete "$INSTDIR\pdfium.dll"
|
||||
Delete "$INSTDIR\FreeImage.dll"
|
||||
Delete "$INSTDIR\libcrypto-1_1-x64.dll"
|
||||
Delete "$INSTDIR\libssl-1_1-x64.dll"
|
||||
Delete "$INSTDIR\libcrypto-1_1.dll"
|
||||
Delete "$INSTDIR\libssl-1_1.dll"
|
||||
Delete "$INSTDIR\avcodec-58.dll"
|
||||
Delete "$INSTDIR\avformat-58.dll"
|
||||
Delete "$INSTDIR\avutil-56.dll"
|
||||
Delete "$INSTDIR\swscale-5.dll"
|
||||
Delete "$INSTDIR\swresample-3.dll"
|
||||
|
||||
|
||||
; BAT files
|
||||
Delete "$INSTDIR\mega-attr.bat"
|
||||
|
54
build/make_installers.cmd
Normal file
54
build/make_installers.cmd
Normal file
@ -0,0 +1,54 @@
|
||||
IF "%1%" EQU "-help" (
|
||||
goto Usage
|
||||
)
|
||||
|
||||
SET SUFFIX_DEF=
|
||||
if not "%MEGA_VERSION_SUFFIX%" == "" (
|
||||
SET SUFFIX_DEF=/DVERSION_SUFFIX=%MEGA_VERSION_SUFFIX%
|
||||
)
|
||||
|
||||
SET MEGA_SIGN=%1
|
||||
|
||||
:: DOUBLE CHECK SIGN
|
||||
IF "%MEGA_SIGN%" EQU "sign" (
|
||||
echo "Info: Signed installer(s) will be generated. Checking if sources are signed"
|
||||
|
||||
"C:\Program Files (x86)\Windows Kits\10\bin\%MEGA_WIN_KITVER%\x64\signtool.exe" verify /pa built64/*.exe || exit 1 /b
|
||||
IF NOT "%MEGA_SKIP_32_BIT_BUILD%" == "true" (
|
||||
"C:\Program Files (x86)\Windows Kits\10\bin\%MEGA_WIN_KITVER%\x64\signtool.exe" verify /pa built32/*.exe || exit 1 /b
|
||||
)
|
||||
) ELSE (
|
||||
IF "%MEGA_SIGN%" EQU "nosign" (
|
||||
echo "Info: Unsigned installer(s) will be generated"
|
||||
SET MEGA_THIRD_PARTY_DLL_DIR=bin
|
||||
) ELSE (
|
||||
echo "Please add a correct sign argument: sign or nosign"
|
||||
goto Usage
|
||||
)
|
||||
)
|
||||
|
||||
erase MEGAcmdSetup64.exe 2>nul
|
||||
erase MEGAcmdSetup64_unsigned.exe 2>nul
|
||||
"C:\Program Files (x86)\NSIS\makensis.exe" /DWINKITVER=%MEGA_WIN_KITVER% /DBUILD_X64_VERSION %SUFFIX_DEF% installer_win.nsi || exit 1 /b
|
||||
IF "%MEGA_SIGN%" EQU "nosign" (
|
||||
ren MEGAcmdSetup64.exe MEGAcmdSetup64_unsigned.exe
|
||||
)
|
||||
|
||||
IF "%MEGA_SKIP_32_BIT_BUILD%" == "true" (
|
||||
GOTO :EOF
|
||||
)
|
||||
|
||||
erase MEGAcmdSetup32.exe >nul
|
||||
erase MEGAcmdSetup32_unsigned.exe >nul
|
||||
"C:\Program Files (x86)\NSIS\makensis.exe" /DWINKITVER=%MEGA_WIN_KITVER% %SUFFIX_DEF% installer_win.nsi || exit 1 /b
|
||||
IF "%MEGA_SIGN%" EQU "nosign" (
|
||||
ren MEGAcmdSetup32.exe MEGAcmdSetup32_unsigned.exe
|
||||
)
|
||||
|
||||
|
||||
exit /B
|
||||
|
||||
:Usage
|
||||
echo "Usage: %~0 [-help] [sign|nosign]"
|
||||
echo Script for making the installer, expecting files in built folders"
|
||||
exit 2 /b
|
20
build/make_uninstallers.cmd
Normal file
20
build/make_uninstallers.cmd
Normal file
@ -0,0 +1,20 @@
|
||||
SET SUFFIX_DEF=
|
||||
if not "%MEGA_VERSION_SUFFIX%" == "" (
|
||||
SET SUFFIX_DEF=/DVERSION_SUFFIX=%MEGA_VERSION_SUFFIX%
|
||||
)
|
||||
|
||||
"C:\Program Files (x86)\NSIS\makensis.exe" /DWINKITVER=%MEGA_WIN_KITVER% /DBUILD_UNINSTALLER /DBUILD_X64_VERSION %SUFFIX_DEF% installer_win.nsi || exit 1 /b
|
||||
UninstallerGenerator.exe
|
||||
erase UninstallerGenerator.exe
|
||||
copy uninst.exe built64
|
||||
move uninst.exe sign64
|
||||
|
||||
IF "%MEGA_SKIP_32_BIT_BUILD%" == "true" (
|
||||
GOTO :EOF
|
||||
)
|
||||
|
||||
"C:\Program Files (x86)\NSIS\makensis.exe" /DWINKITVER=%MEGA_WIN_KITVER% /DBUILD_UNINSTALLER %SUFFIX_DEF% installer_win.nsi || exit 1 /b
|
||||
UninstallerGenerator.exe
|
||||
erase UninstallerGenerator.exe
|
||||
copy uninst.exe built32
|
||||
move uninst.exe sign32
|
@ -1,3 +1,15 @@
|
||||
megacmd (1.7.0) stable; urgency=low
|
||||
|
||||
* Improved startup time
|
||||
* Reduced memory consumption: cached metadata is no longer loaded at startup
|
||||
* Fixes and improvements in whoami, ls, backup and export commands
|
||||
* Fixed several memory leaks and improved overall memory consumption
|
||||
* Fixed file permissions on Unix
|
||||
* Added support for the Apple silicon (M1)
|
||||
* Many other fixes and improvements
|
||||
|
||||
-- MEGA Team <linux@mega.co.nz> Mon, 20 May 2024 14:07:19 +0200
|
||||
|
||||
megacmd (1.6.3) stable; urgency=low
|
||||
|
||||
* Improvements in session resumption
|
||||
|
@ -8,6 +8,7 @@ Build-Depends: debhelper,
|
||||
libssl-dev,
|
||||
libsqlite3-dev,
|
||||
zlib1g-dev,
|
||||
libicu-dev,
|
||||
wget,
|
||||
libtool,
|
||||
dh-autoreconf,
|
||||
|
@ -5,7 +5,9 @@ distro=$(cat /usr/share/doc/megacmd/distro)
|
||||
#ver=$(lsb_release -rs)
|
||||
ver=$(cat /usr/share/doc/megacmd/version)
|
||||
|
||||
if [[ $distro = "Raspbian GNU/Linux 11"* ]]; then
|
||||
if [[ $distro = "Raspbian GNU/Linux 12"* ]]; then
|
||||
str="Raspbian_12"
|
||||
elif [[ $distro = "Raspbian GNU/Linux 11"* ]]; then
|
||||
str="Raspbian_11"
|
||||
elif [[ $distro = "Raspbian GNU/Linux 10"* ]]; then
|
||||
str="Raspbian_10.0"
|
||||
@ -14,6 +16,10 @@ elif [[ $distro = "Raspbian GNU/Linux 9"* ]]; then
|
||||
elif [[ $distro = "Raspbian GNU/Linux 8"* ]]; then
|
||||
str="Raspbian_8.0"
|
||||
# Ubuntu
|
||||
elif [[ $ver = "24.04" ]]; then
|
||||
str="xUbuntu_24.04"
|
||||
elif [[ $ver = "23.10" ]]; then
|
||||
str="xUbuntu_23.10"
|
||||
elif [[ $ver = "23.04" ]]; then
|
||||
str="xUbuntu_23.04"
|
||||
elif [[ $ver = "22.10" ]]; then
|
||||
@ -71,6 +77,8 @@ elif [[ $ver = 10* ]]; then
|
||||
str="Debian_10.0"
|
||||
elif [[ $ver = 11* ]]; then
|
||||
str="Debian_11"
|
||||
elif [[ $ver = 12* ]]; then
|
||||
str="Debian_12"
|
||||
elif [[ $ver = "testing" ]]; then
|
||||
str="Debian_testing"
|
||||
# Elementary OS Luna uses 12.04
|
||||
|
@ -1,9 +1,10 @@
|
||||
#!/usr/bin/make -f
|
||||
NJOBS := $(shell echo ${DEB_BUILD_OPTIONS} | sed -rn 's/.*parallel=([0-9]*).*/\1/p')
|
||||
CPPFLAGS := $(shell cat /etc/issue | grep "Ubuntu 1[234579]\|Ubuntu 18.10\|Ubuntu 20.10\|Ubuntu 21\|Debian.* [789]\|Debian.* 10" >/dev/null && echo "$$CPPFLAGS -DMEGACMD_DEPRECATED_OS" || echo "")
|
||||
CPPFLAGS := $(shell cat /etc/issue | grep "Ubuntu 1[2345789]\|Ubuntu 20.10\|Ubuntu 21\|Ubuntu 22.10\|Ubuntu 23.04\|Debian.* [789]" >/dev/null && echo "$$CPPFLAGS -DMEGACMD_DEPRECATED_OS" || echo "")
|
||||
FCRYPTOPP := $(shell cat /etc/issue | grep "Ubuntu 1[4-8]\|Ubuntu 19.04\|Debian.* [8]" >/dev/null && echo "" || echo "-q")
|
||||
WCRYPTOPP := $(shell cat /etc/issue | grep "Ubuntu 1[4-8]\|Ubuntu 19.04\|Debian.* [8]" >/dev/null && echo "" || echo "--with-cryptopp=$(CURDIR)/deps")
|
||||
DPKGXZ := $(shell cat /etc/issue | grep "Ubuntu 23\|Lunar Lobster\|Ubuntu 22\|Jammy Jellyfish\|Ubuntu 21.10" >/dev/null && echo "-- -Zxz" || echo "")
|
||||
DPKGXZ := $(shell cat /etc/issue | grep "Ubuntu 24\|Noble Numbat\|Ubuntu 23\|Mantic Minotaur\|Lunar Lobster\|Ubuntu 22\|Jammy Jellyfish\|Ubuntu 21.10" >/dev/null && echo "-- -Zxz" || echo "")
|
||||
SQLITE3 := $(shell cat /etc/issue | grep "Ubuntu 18.04\|Ubuntu 20.04\|Debian.* \b\([0-9]\|10\)\b" >/dev/null && echo "" || (grep -- -L sdk/contrib/build_sdk.sh >/dev/null && echo "-L") )
|
||||
FMEDIAINFO := $(shell dpkg -l | grep mediainfo >/dev/null && echo "-i" || echo " ")
|
||||
WMEDIAINFO := $(shell dpkg -l | grep mediainfo >/dev/null && echo " " || echo "--with-libmediainfo=$(CURDIR)/deps --with-libzen=$(CURDIR)/deps")
|
||||
RFFMPEG := $(shell cat /etc/issue | grep "Raspbian" >/dev/null && echo "" || echo '-DREQUIRE_HAVE_FFMPEG')
|
||||
@ -12,6 +13,7 @@ RPDFIUM := $(shell dpkg --print-architecture | grep -i "i386\|arm" >/dev/null &&
|
||||
INSTALL3RD := $(shell dpkg --print-architecture | grep -i "i386\|arm" >/dev/null && echo "" || echo 'install3rd')
|
||||
LDFLAGS := $(shell dpkg --print-architecture | grep -i "i386\|arm" >/dev/null && echo "" || echo "$$LDFLAGS -Wl,-rpath,/opt/megacmd/lib")
|
||||
DEB_TESTING := $(shell cat /etc/issue | grep "Debian" > /dev/null && cat /etc/apt/sources.list.d/debian.sources | grep -v "^\#" | grep testing > /dev/null && echo "testing")
|
||||
EXPORTCCMFPU := $(shell cat /etc/issue | grep "Raspbian GNU/Linux 12" >/dev/null && echo "export CC='cc -mfpu=vfp'" || echo ":")
|
||||
|
||||
MEGA_BUILD_ID := $(shell cat MEGA_BUILD_ID || echo "1")
|
||||
|
||||
@ -24,8 +26,8 @@ build-stamp:
|
||||
|
||||
#build dependencies into folder deps
|
||||
mkdir deps || :
|
||||
bash -x ./sdk/contrib/build_sdk.sh -o archives \
|
||||
-g -b $(FMEDIAINFO) $(FCRYPTOPP) -l -c -s -u -v -a -z -I -p deps/
|
||||
( $(EXPORTCCMFPU) ; bash -x ./sdk/contrib/build_sdk.sh -o archives \
|
||||
-g -b $(FMEDIAINFO) $(FCRYPTOPP) $(SQLITE3) -l -c -s -u -v -a -z -I -p deps/ )
|
||||
|
||||
# Link dynamically with freeimage if pdfium is required.
|
||||
if [ -n "$(INSTALL3RD)" ]; then \
|
||||
|
@ -1,3 +1,14 @@
|
||||
Mon May 20 02:06:31 PM CEST 2024 - linux@mega.co.nz
|
||||
- Update to version 1.7.0:
|
||||
* Improved startup time
|
||||
* Reduced memory consumption: cached metadata is no longer loaded at startup
|
||||
* Fixes and improvements in whoami, ls, backup and export commands
|
||||
* Fixed several memory leaks and improved overall memory consumption
|
||||
* Fixed file permissions on Unix
|
||||
* Added support for the Apple silicon (M1)
|
||||
* Many other fixes and improvements
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu May 4 16:18:29 CEST 2023 - linux@mega.co.nz
|
||||
- Update to version 1.6.3:
|
||||
* Improvements in session resumption
|
||||
|
@ -75,6 +75,7 @@ sAdVa6xer/c=
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
KEY
|
||||
|
||||
pacman-key --init || true
|
||||
pacman-key --lsign-key B01C811880480C854C73EC7E1A664B787094A482
|
||||
|
||||
sysctl -p /etc/sysctl.d/99-megacmd-inotify-limit.conf
|
||||
@ -165,6 +166,7 @@ sAdVa6xer/c=
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
KEY
|
||||
|
||||
pacman-key --init || true
|
||||
pacman-key --lsign-key B01C811880480C854C73EC7E1A664B787094A482
|
||||
|
||||
fi
|
||||
|
35
build/production_build.cmd
Normal file
35
build/production_build.cmd
Normal file
@ -0,0 +1,35 @@
|
||||
IF [%MEGA_VCPKGPATH%]==[] (
|
||||
SET MEGA_VCPKGPATH=C:\mega\dev\3rdparty_megacmd
|
||||
)
|
||||
|
||||
|
||||
IF [%MEGA_CORES%]==[] (
|
||||
FOR /f "tokens=2 delims==" %%f IN ('wmic cpu get NumberOfLogicalProcessors /value ^| find "="') DO SET MEGA_CORES=%%f
|
||||
)
|
||||
|
||||
REM Clean up any previous leftovers
|
||||
IF EXIST build-x64-windows-mega (
|
||||
rmdir /s /q build-x64-windows-mega
|
||||
)
|
||||
|
||||
mkdir build-x64-windows-mega
|
||||
cd build-x64-windows-mega
|
||||
cmake -G "Visual Studio 16 2019" -A x64 -DMega3rdPartyDir=%MEGA_VCPKGPATH% -DVCPKG_TRIPLET=x64-windows-mega -S "..\cmake" -B . || exit 1 /b
|
||||
cmake --build . --config Release --target mega-exec --target mega-cmd-server --target mega-cmd --target mega-cmd-updater -j%MEGA_CORES% || exit 1 /b
|
||||
cd ..
|
||||
|
||||
IF "%MEGA_SKIP_32_BIT_BUILD%" == "true" (
|
||||
GOTO :EOF
|
||||
)
|
||||
|
||||
REM Clean up any previous leftovers
|
||||
IF EXIST build-x86-windows-mega (
|
||||
rmdir /s /q build-x86-windows-mega
|
||||
)
|
||||
|
||||
mkdir build-x86-windows-mega
|
||||
cd build-x86-windows-mega
|
||||
cmake -G "Visual Studio 16 2019" -A Win32 -DMega3rdPartyDir=%MEGA_VCPKGPATH% -DVCPKG_TRIPLET=x86-windows-mega -S "..\cmake" -B . || exit 1 /b
|
||||
cmake --build . --config Release --target mega-exec --target mega-cmd-server --target mega-cmd --target mega-cmd-updater -j%MEGA_CORES% || exit 1 /b
|
||||
REM cmake --build . --config Release --target MEGAcmd --target MEGAcmdServer --target MEGAcmdShell --target MEGAcmdUpdater -j%MEGA_CORES%
|
||||
cd ..
|
@ -26,7 +26,7 @@ arch=('i686' 'x86_64')
|
||||
url="http://mega.nz/cmd"
|
||||
license=("https://github.com/meganz/megacmd/blob/master/LICENSE")
|
||||
groups=()
|
||||
depends=('glibc>=2.37' 'gcc-libs>=13.1.1' 'sqlite' 'openssl>=1.1.1' 'zlib' 'libpsl' 'icu>=69.1' 'bash-completion' 'pcre' 'bzip2' 'xz')
|
||||
depends=('glibc>=2.37' 'sqlite' 'openssl>=1.1.1' 'zlib' 'libpsl' 'icu>=69.1' 'bash-completion' 'pcre' 'bzip2' 'xz')
|
||||
makedepends=('unzip' 'wget' 'ca-certificates' 'ffmpeg-mega' 'pdfium-mega' 'bzip2' 'xz')
|
||||
checkdepends=()
|
||||
optdepends=()
|
||||
@ -48,13 +48,16 @@ prepare() {
|
||||
}
|
||||
|
||||
build() {
|
||||
set -x
|
||||
|
||||
cd "$pkgname-$pkgver"
|
||||
./autogen.sh
|
||||
|
||||
#build dependencies into folder deps
|
||||
SQLITE3=$(grep -- -L ./contrib/build_sdk.sh >/dev/null && echo "-L" || echo "")
|
||||
mkdir deps || :
|
||||
bash -x ./contrib/build_sdk.sh -o archives \
|
||||
-e -g -b -l -c -s -u -v -a -q -I -p deps/
|
||||
-e -g -b -l -c -s -u -v -a -q -I -p $SQLITE3 deps/
|
||||
|
||||
# Link dynamically with freeimage
|
||||
ln -sfr $PWD/deps/lib/libfreeimage*.so $PWD/deps/lib/libfreeimage.so.3
|
||||
|
@ -7,7 +7,7 @@ Version: megacmd_VERSION
|
||||
DEBTRANSFORM-RELEASE: 1
|
||||
Maintainer: MEGA Linux Team <linux@mega.co.nz>
|
||||
Homepage: https://mega.nz/cmd
|
||||
Build-Depends: ffmpeg-mega [!armhf], pdfium-mega [amd64], libzen-dev, libmediainfo-dev, pkg-config, debhelper, libcrypto++-dev, libpcre3-dev, libc-ares-dev, libssl-dev, libsqlite3-dev, zlib1g-dev, wget, dh-autoreconf, cdbs, unzip, wget, libtool-bin (>= 2.4.2-1.10) | libtool (<< 2.4.2-1.10)
|
||||
Build-Depends: ffmpeg-mega [!armhf], pdfium-mega [amd64], libzen-dev, libmediainfo-dev, pkg-config, debhelper, libcrypto++-dev, libpcre3-dev, libc-ares-dev, libssl-dev, libsqlite3-dev, zlib1g-dev, wget, dh-autoreconf, cdbs, unzip, libicu-dev, wget, libtool-bin (>= 2.4.2-1.10) | libtool (<< 2.4.2-1.10)
|
||||
Package-List:
|
||||
megacmd deb gnome optional
|
||||
Files:
|
||||
|
@ -9,15 +9,15 @@ Source0: megacmd_%{version}.tar.gz
|
||||
Vendor: MEGA Limited
|
||||
Packager: MEGA Linux Team <linux@mega.co.nz>
|
||||
|
||||
BuildRequires: zlib-devel, autoconf, automake, libtool, gcc-c++, pcre-devel
|
||||
BuildRequires: hicolor-icon-theme, unzip, wget
|
||||
BuildRequires: autoconf, automake, libtool, gcc-c++, pcre-devel, libicu-devel
|
||||
BuildRequires: hicolor-icon-theme, unzip
|
||||
BuildRequires: ffmpeg-mega pdfium-mega
|
||||
|
||||
#OpenSUSE
|
||||
%if 0%{?suse_version} || 0%{?sle_version}
|
||||
|
||||
BuildRequires: libopenssl-devel, sqlite3-devel
|
||||
BuildRequires: libbz2-devel
|
||||
BuildRequires: libbz2-devel, zlib-devel, wget
|
||||
|
||||
# disabling post-build-checks that ocassionally prevent opensuse rpms from being generated
|
||||
# plus it speeds up building process
|
||||
@ -49,6 +49,12 @@ BuildRequires: ffmpeg-mega pdfium-mega
|
||||
%if 0%{?fedora}
|
||||
BuildRequires: openssl-devel, sqlite-devel, c-ares-devel
|
||||
|
||||
%if 0%{?fedora_version} >= 40
|
||||
BuildRequires: wget2, wget2-wget, zlib-ng-compat
|
||||
%else
|
||||
BuildRequires: wget, zlib-devel
|
||||
%endif
|
||||
|
||||
%if 0%{?fedora_version} < 33
|
||||
BuildRequires: cryptopp-devel
|
||||
|
||||
@ -157,6 +163,13 @@ sed -i -E "s/(^#define MEGACMD_BUILD_ID )[0-9]*/\1${mega_build_id}/g" src/megacm
|
||||
sed -i "s#AC_INIT#m4_pattern_allow(AC_PROG_OBJCXX)\nAC_INIT#g" sdk/configure.ac
|
||||
%endif
|
||||
|
||||
# Build SQLite3
|
||||
%define flag_disablesqlite3 `grep -- -L ./contrib/build_sdk.sh >/dev/null && echo "-L"`
|
||||
|
||||
%if 0%{?centos_version} == 700
|
||||
%define flag_disablesqlite3 %{nil}
|
||||
%endif
|
||||
|
||||
%define fullreqs -DREQUIRE_HAVE_PDFIUM -DREQUIRE_HAVE_FFMPEG -DREQUIRE_HAVE_LIBUV -DREQUIRE_USE_MEDIAINFO -DREQUIRE_USE_PCRE
|
||||
|
||||
./autogen.sh
|
||||
@ -164,12 +177,12 @@ sed -i -E "s/(^#define MEGACMD_BUILD_ID )[0-9]*/\1${mega_build_id}/g" src/megacm
|
||||
#build dependencies into folder deps
|
||||
mkdir deps || :
|
||||
bash -x ./contrib/build_sdk.sh %{flag_cryptopp} %{flag_libraw} %{flag_cares} -o archives \
|
||||
-g %{flag_disablezlib} %{flag_disablemediainfo} -b -l -c -s -u -v -a -I -p deps/
|
||||
-g %{flag_disablezlib} %{flag_disablemediainfo} %{flag_disablesqlite3} -b -l -c -s -u -v -a -I -p deps/
|
||||
|
||||
ln -sfr $PWD/deps/lib/libfreeimage*.so $PWD/deps/lib/libfreeimage.so.3
|
||||
ln -sfn libfreeimage.so.3 $PWD/deps/lib/libfreeimage.so
|
||||
|
||||
%if ( 0%{?fedora_version} && 0%{?fedora_version}<=35 ) || ( 0%{?centos_version} == 600 ) || ( 0%{?centos_version} == 800 ) || ( 0%{?sle_version} && 0%{?sle_version} < 150400 )
|
||||
%if ( 0%{?fedora_version} && 0%{?fedora_version}<=37 ) || ( 0%{?centos_version} == 600 ) || ( 0%{?centos_version} == 800 ) || ( 0%{?sle_version} && 0%{?sle_version} < 150500 )
|
||||
export CPPFLAGS="$CPPFLAGS -DMEGACMD_DEPRECATED_OS"
|
||||
%endif
|
||||
|
||||
@ -284,6 +297,14 @@ DATA
|
||||
%define reponame openSUSE_Leap_15.4
|
||||
%endif
|
||||
|
||||
%if 0%{?sle_version} == 150500
|
||||
%define reponame openSUSE_Leap_15.5
|
||||
%endif
|
||||
|
||||
%if 0%{?sle_version} == 150600
|
||||
%define reponame openSUSE_Leap_15.6
|
||||
%endif
|
||||
|
||||
%if 0%{?sle_version} == 0 && 0%{?suse_version} >= 1550
|
||||
%define reponame openSUSE_Tumbleweed
|
||||
%endif
|
||||
|
@ -1 +1 @@
|
||||
1.6.3
|
||||
1.7.0
|
||||
|
71
configure.ac
71
configure.ac
@ -127,6 +127,54 @@ AC_TYPE_SIZE_T
|
||||
|
||||
AC_CHECK_HEADERS([arpa/inet.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h sys/socket.h sys/timeb.h htonl glob.h malloc.h sys/malloc.h malloc/malloc.h])
|
||||
|
||||
# Runtime checks
|
||||
AC_ARG_ENABLE(sanitizer,
|
||||
AS_HELP_STRING([--enable-sanitizer@<:@=LIST@:>@],
|
||||
[compile with (potentially expensive) runtime checks enabled. LIST can be used to enable only certain checks.
|
||||
Available checks are: asan, ubsan, tsan, all (enables ubsan, asan), none.]),
|
||||
[ac_checks="${enableval}"], [])
|
||||
IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="$IFS,"
|
||||
for check in $ac_checks
|
||||
do
|
||||
case $check in
|
||||
no)
|
||||
CHECKS_CXXFLAGS=""
|
||||
CHECKS_CPPFLAGS=""
|
||||
CHECKS_LDFLAGS=""
|
||||
;;
|
||||
all)
|
||||
# Only enable Address and UB Sanitizer, as ThreadSanitizer cannot be enabled with ASan.
|
||||
CHECKS_CXXFLAGS="-fsanitize=address -fsanitize=undefined -fno-common"
|
||||
CHECKS_CPPFLAGS="-fsanitize=address -fsanitize=undefined -fno-common"
|
||||
CHECKS_LDFLAGS="-fsanitize=address -fsanitize=undefined"
|
||||
enable_debug="yes"
|
||||
;;
|
||||
asan)
|
||||
CHECKS_CXXFLAGS="-fsanitize=address -fno-common $CHECKS_CXXFLAGS"
|
||||
CHECKS_CPPFLAGS="-fsanitize=address -fno-common $CHECKS_CPPFLAGS"
|
||||
CHECKS_LDFLAGS="-fsanitize=address $CHECKS_LDFLAGS"
|
||||
enable_debug="yes"
|
||||
;;
|
||||
ubsan)
|
||||
CHECKS_CXXFLAGS="-fsanitize=undefined $CHECKS_CXXFLAGS"
|
||||
CHECKS_CPPFLAGS="-fsanitize=undefined $CHECKS_CPPFLAGS"
|
||||
CHECKS_LDFLAGS="-fsanitize=undefined $CHECKS_LDFLAGS"
|
||||
enable_debug="yes"
|
||||
;;
|
||||
tsan)
|
||||
CHECKS_CXXFLAGS="-fsanitize=thread $CHECKS_CXXFLAGS"
|
||||
CHECKS_CPPFLAGS="-fsanitize=thread $CHECKS_CPPFLAGS"
|
||||
CHECKS_LDFLAGS="-fsanitize=thread $CHECKS_LDFLAGS"
|
||||
enable_debug="yes"
|
||||
;;
|
||||
*) AC_MSG_ERROR([unknown check $check]) ;;
|
||||
esac
|
||||
done
|
||||
IFS="$ac_save_IFS"
|
||||
CXXFLAGS="$CHECKS_CXXFLAGS $CXXFLAGS"
|
||||
CPPFLAGS="$CHECKS_CPPFLAGS $CPPFLAGS"
|
||||
LDFLAGS="$CHECKS_LDFLAGS $LDFLAGS"
|
||||
|
||||
# Debug
|
||||
AC_ARG_ENABLE(debug,
|
||||
AS_HELP_STRING([--enable-debug], [enable support for running in debug mode]),
|
||||
@ -134,8 +182,8 @@ AC_ARG_ENABLE(debug,
|
||||
|
||||
# Enable debug flags / build
|
||||
if test "x$enable_debug" = "xyes" ; then
|
||||
AM_CXXFLAGS="-Wall -g -ggdb3 -O0"
|
||||
CXXFLAGS="-Wall -g -ggdb3 -O0"
|
||||
AM_CXXFLAGS="-Wall -ggdb3 -Og -fno-omit-frame-pointer"
|
||||
CXXFLAGS="-Wall -ggdb3 -Og -fno-omit-frame-pointer"
|
||||
AC_SUBST([AM_CXXFLAGS])
|
||||
AC_DEFINE(DEBUG, 1, [Define to enable debug logging])
|
||||
else
|
||||
@ -535,6 +583,23 @@ if test "$HAVE_PTHREAD" = "yes"; then
|
||||
fi
|
||||
AM_CONDITIONAL([HAVE_PTHREAD], [test "${HAVE_PTHREAD}" = "yes"])
|
||||
|
||||
|
||||
## Tests
|
||||
AC_MSG_CHECKING([if building MEGAcmd tests])
|
||||
AC_ARG_ENABLE(megacmd-tests,
|
||||
AS_HELP_STRING([--enable-megacmd-tests], [build MEGAcmd test applications]),
|
||||
[], [enable_megacmd_tests=no])
|
||||
if test "x$enable_megacmd_tests" = "xyes" ; then
|
||||
AC_ARG_WITH(gtest,
|
||||
AS_HELP_STRING(--with-gtest=PATH, specify GTest location),
|
||||
[AC_SUBST([GTEST_DIR],[$with_gtest])],
|
||||
[AC_MSG_ERROR([GTest location must be specified. You can pass simply "--with-gtest" if expected to be in your include path])]
|
||||
)
|
||||
fi
|
||||
AM_CONDITIONAL([BUILD_MEGACMD_TESTS], [test "$enable_megacmd_tests" = "yes"])
|
||||
AC_MSG_RESULT([$enable_megacmd_tests])
|
||||
|
||||
|
||||
# Add -latomic to LDFLAGS if needed
|
||||
CHECK_ATOMIC()
|
||||
|
||||
@ -568,4 +633,6 @@ AC_MSG_NOTICE([MEGAcmd configuration:
|
||||
Termcap: $TERMCAP_CXXFLAGS $TERMCAP_LDFLAGS $TERMCAP_LIBS
|
||||
PCRE: $PCRE_CXXFLAGS $PCRE_LDFLAGS $PCRE_LIBS
|
||||
SDK includes: $LMEGAINC
|
||||
|
||||
MEGAcmd Tests: $enable_megacmd_tests
|
||||
])
|
||||
|
@ -10,10 +10,11 @@ CONFIG(release, debug|release) {
|
||||
|
||||
TEMPLATE = subdirs
|
||||
SUBDIRS = MEGAcmdShell MEGAcmdClient \
|
||||
MEGAcmdServer MEGAcmdUpdater
|
||||
MEGAcmdServer MEGAcmdUpdater \
|
||||
MEGAcmdTests
|
||||
|
||||
macx {
|
||||
SUBDIRS += MEGAcmdLoader
|
||||
QMAKE_INFO_PLIST = Info_MEGA.plist
|
||||
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.12
|
||||
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.13
|
||||
}
|
||||
|
13
contrib/QtCreator/MEGAcmd/MEGAcmdClient/MEGAcmdClient.pri
Normal file
13
contrib/QtCreator/MEGAcmd/MEGAcmdClient/MEGAcmdClient.pri
Normal file
@ -0,0 +1,13 @@
|
||||
include(../MEGAcmdCommon.pri)
|
||||
|
||||
MEGACMD_BASE_PATH = $$PWD/$$MEGACMD_BASE_PATH_RELATIVE
|
||||
|
||||
SOURCES += \
|
||||
$$MEGACMD_BASE_PATH/src/client/megacmdclient.cpp \
|
||||
$$MEGACMD_BASE_PATH/src/megacmdshell/megacmdshellcommunications.cpp \
|
||||
$$MEGACMD_BASE_PATH/src/megacmdshell/megacmdshellcommunicationsnamedpipes.cpp
|
||||
|
||||
HEADERS += \
|
||||
$$MEGACMD_BASE_PATH/src/megacmdclient.h \
|
||||
$$MEGACMD_BASE_PATH/src/megacmdshell/megacmdshellcommunications.h \
|
||||
$$MEGACMD_BASE_PATH/src/megacmdshell/megacmdshellcommunicationsnamedpipes.h
|
@ -14,16 +14,9 @@ TARGET = MEGAclient
|
||||
TEMPLATE = app
|
||||
CONFIG += console
|
||||
|
||||
include(../MEGAcmdCommon.pri)
|
||||
include(MEGAcmdClient.pri)
|
||||
|
||||
SOURCES += ../../../../src/client/megacmdclient.cpp \
|
||||
../../../../src/megacmdshell/megacmdshellcommunications.cpp \
|
||||
../../../../src/megacmdshell/megacmdshellcommunicationsnamedpipes.cpp \
|
||||
../../../../src/megacmdcommonutils.cpp
|
||||
|
||||
HEADERS += ../../../../src/megacmdshell/megacmdshellcommunications.h \
|
||||
../../../../src/megacmdshell/megacmdshellcommunicationsnamedpipes.h \
|
||||
../../../../src/megacmdcommonutils.h
|
||||
SOURCES += $$MEGACMD_BASE_PATH/src/client/megacmd_client_main.cpp
|
||||
|
||||
#win32{
|
||||
# DEFINES += USE_WIN32THREAD
|
||||
@ -54,14 +47,11 @@ else{
|
||||
QMAKE_CXXFLAGS_WARN_ON += -Wno-unused-parameter
|
||||
}
|
||||
|
||||
|
||||
macx {
|
||||
!vcpkg{
|
||||
INCLUDEPATH += $$PWD/../../../../sdk/bindings/qt/3rdparty/include
|
||||
LIBS += $$PWD/../../../../sdk/bindings/qt/3rdparty/libs/libreadline.a
|
||||
INCLUDEPATH += $$MEGACMD_BASE_PATH/sdk/bindings/qt/3rdparty/include
|
||||
LIBS += $$MEGACMD_BASE_PATH/sdk/bindings/qt/3rdparty/libs/libreadline.a
|
||||
}
|
||||
LIBS += -framework Cocoa -framework SystemConfiguration -framework CoreFoundation -framework Foundation -framework Security
|
||||
LIBS += -lncurses
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,30 +1,13 @@
|
||||
isEmpty(THIRDPARTY_VCPKG_BASE_PATH){
|
||||
THIRDPARTY_VCPKG_BASE_PATH = $$PWD/../../../3rdParty_megacmd
|
||||
}
|
||||
# This guard is needed to avoid a double-include of this file in the test
|
||||
# projects (since they include both the client and the server .pri files)
|
||||
isEmpty(MEGACMD_COMMON_INCLUDED) {
|
||||
MEGACMD_COMMON_INCLUDED = true
|
||||
|
||||
win32 {
|
||||
contains(QMAKE_TARGET.arch, x86_64):VCPKG_TRIPLET = x64-windows-mega
|
||||
!contains(QMAKE_TARGET.arch, x86_64):VCPKG_TRIPLET = x86-windows-mega
|
||||
}
|
||||
|
||||
macx{
|
||||
isEmpty(VCPKG_TRIPLET){
|
||||
contains(QT_ARCH, x86_64):VCPKG_TRIPLET = x64-osx-mega
|
||||
contains(QT_ARCH, arm64):VCPKG_TRIPLET = arm64-osx-mega
|
||||
}
|
||||
contains(VCPKG_TRIPLET, arm64-osx-mega):contains(QMAKE_HOST.arch, arm64):QMAKE_APPLE_DEVICE_ARCHS=arm64
|
||||
|
||||
message("Building for macOS $$QT_ARCH in a $$QMAKE_HOST.arch host.")
|
||||
}
|
||||
|
||||
unix:!macx:VCPKG_TRIPLET = x64-linux
|
||||
|
||||
message("THIRDPARTY_VCPKG_BASE_PATH: $$THIRDPARTY_VCPKG_BASE_PATH")
|
||||
message("VCPKG_TRIPLET: $$VCPKG_TRIPLET")
|
||||
include(vcpkg_inclusion.pri)
|
||||
|
||||
packagesExist(libpcrecpp) | macx {
|
||||
LIBS += -lpcrecpp
|
||||
CONFIG += USE_PCRE
|
||||
LIBS += -lpcrecpp
|
||||
CONFIG += USE_PCRE
|
||||
}
|
||||
|
||||
CONFIG += USE_MEDIAINFO
|
||||
@ -32,9 +15,9 @@ CONFIG += USE_LIBUV
|
||||
DEFINES += ENABLE_BACKUPS
|
||||
CONFIG += USE_CONSOLE
|
||||
unix:!macx {
|
||||
exists(/usr/include/fpdfview.h) {
|
||||
CONFIG += USE_PDFIUM
|
||||
}
|
||||
exists(/usr/include/fpdfview.h) {
|
||||
CONFIG += USE_PDFIUM
|
||||
}
|
||||
}
|
||||
else {
|
||||
CONFIG += USE_PDFIUM
|
||||
@ -48,9 +31,9 @@ CONFIG+=c++17
|
||||
}
|
||||
|
||||
unix:!macx {
|
||||
exists(/usr/include/ffmpeg-mega)|exists(mega/bindings/qt/3rdparty/include/ffmpeg)|packagesExist(libavcodec) {
|
||||
CONFIG += USE_FFMPEG
|
||||
}
|
||||
exists(/usr/include/ffmpeg-mega)|exists(mega/bindings/qt/3rdparty/include/ffmpeg)|packagesExist(libavcodec) {
|
||||
CONFIG += USE_FFMPEG
|
||||
}
|
||||
}
|
||||
else {
|
||||
CONFIG += USE_FFMPEG
|
||||
@ -75,20 +58,23 @@ else {
|
||||
LIBS += -lpcre
|
||||
}
|
||||
|
||||
MEGACMD_BASE_PATH_RELATIVE = ../../../..
|
||||
MEGACMD_COMMON_BASE_PATH = $$PWD/../../..
|
||||
|
||||
macx {
|
||||
HEADERS += ../../../../src/megacmdplatform.h
|
||||
OBJECTIVE_SOURCES += ../../../../src/megacmdplatform.mm
|
||||
HEADERS += $$MEGACMD_COMMON_BASE_PATH/src/megacmdplatform.h
|
||||
OBJECTIVE_SOURCES += $$MEGACMD_COMMON_BASE_PATH/src/megacmdplatform.mm
|
||||
ICON = app.icns
|
||||
QMAKE_INFO_PLIST = Info_MEGA.plist
|
||||
|
||||
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.12
|
||||
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.13
|
||||
|
||||
LIBS += -framework Cocoa -framework SystemConfiguration -framework CoreFoundation -framework Foundation -framework Security
|
||||
LIBS += -lncurses
|
||||
QMAKE_CXXFLAGS += -g
|
||||
}
|
||||
|
||||
include(../../../sdk/bindings/qt/sdk.pri)
|
||||
include($$MEGACMD_COMMON_BASE_PATH/sdk/bindings/qt/sdk.pri)
|
||||
DEFINES -= USE_QT
|
||||
DEFINES -= MEGA_QT_LOGGING
|
||||
|
||||
@ -100,15 +86,22 @@ SOURCES -= bindings/qt/QTMegaSyncListener.cpp
|
||||
SOURCES -= bindings/qt/QTMegaListener.cpp
|
||||
SOURCES -= bindings/qt/QTMegaEvent.cpp
|
||||
|
||||
|
||||
CONFIG(FULLREQUIREMENTS) {
|
||||
DEFINES += REQUIRE_HAVE_FFMPEG
|
||||
DEFINES += REQUIRE_HAVE_LIBUV
|
||||
#DEFINES += REQUIRE_HAVE_LIBRAW
|
||||
#DEFINES += REQUIRE_ENABLE_CHAT
|
||||
DEFINES += REQUIRE_ENABLE_BACKUPS
|
||||
#DEFINES += REQUIRE_ENABLE_WEBRTC
|
||||
#DEFINES += REQUIRE_ENABLE_EVT_TLS
|
||||
DEFINES += REQUIRE_USE_MEDIAINFO
|
||||
DEFINES += REQUIRE_USE_PCRE
|
||||
DEFINES += REQUIRE_HAVE_FFMPEG
|
||||
DEFINES += REQUIRE_HAVE_LIBUV
|
||||
#DEFINES += REQUIRE_HAVE_LIBRAW
|
||||
#DEFINES += REQUIRE_ENABLE_CHAT
|
||||
DEFINES += REQUIRE_ENABLE_BACKUPS
|
||||
#DEFINES += REQUIRE_ENABLE_WEBRTC
|
||||
#DEFINES += REQUIRE_ENABLE_EVT_TLS
|
||||
DEFINES += REQUIRE_USE_MEDIAINFO
|
||||
DEFINES += REQUIRE_USE_PCRE
|
||||
}
|
||||
|
||||
SOURCES += \
|
||||
$$MEGACMD_COMMON_BASE_PATH/src/megacmdcommonutils.cpp
|
||||
|
||||
HEADERS += \
|
||||
$$MEGACMD_COMMON_BASE_PATH/src/megacmdcommonutils.h
|
||||
|
||||
}
|
||||
|
@ -16,8 +16,12 @@
|
||||
<string>1</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>megacmd.mac</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string></string>
|
||||
<key>NSHighResolutionCapable</key>
|
||||
<string>True</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>10.13</string>
|
||||
<key>NSAppTransportSecurity</key>
|
||||
<dict>
|
||||
<key>NSAllowsArbitraryLoads</key>
|
||||
|
45
contrib/QtCreator/MEGAcmd/MEGAcmdServer/MEGAcmdServer.pri
Normal file
45
contrib/QtCreator/MEGAcmd/MEGAcmdServer/MEGAcmdServer.pri
Normal file
@ -0,0 +1,45 @@
|
||||
CONFIG += USE_MEGAAPI
|
||||
|
||||
include(../MEGAcmdCommon.pri)
|
||||
|
||||
MEGACMD_BASE_PATH = $$PWD/$$MEGACMD_BASE_PATH_RELATIVE
|
||||
|
||||
SOURCES += \
|
||||
$$MEGACMD_BASE_PATH/src/megacmd.cpp \
|
||||
$$MEGACMD_BASE_PATH/src/listeners.cpp \
|
||||
$$MEGACMD_BASE_PATH/src/megacmdexecuter.cpp \
|
||||
$$MEGACMD_BASE_PATH/src/megacmd_events.cpp \
|
||||
$$MEGACMD_BASE_PATH/src/megacmdlogger.cpp \
|
||||
$$MEGACMD_BASE_PATH/src/megacmdsandbox.cpp \
|
||||
$$MEGACMD_BASE_PATH/src/configurationmanager.cpp \
|
||||
$$MEGACMD_BASE_PATH/src/comunicationsmanager.cpp \
|
||||
$$MEGACMD_BASE_PATH/src/megacmdutils.cpp
|
||||
|
||||
CONFIG(USE_DOWNLOADS_COMMAND) {
|
||||
DEFINES += HAVE_DOWNLOADS_COMMAND
|
||||
SOURCES += $$MEGACMD_BASE_PATH/src/megacmdtransfermanager.cpp
|
||||
HEADERS += $$MEGACMD_BASE_PATH/src/megacmdtransfermanager.h
|
||||
}
|
||||
|
||||
HEADERS += \
|
||||
$$MEGACMD_BASE_PATH/src/megacmd.h \
|
||||
$$MEGACMD_BASE_PATH/src/megacmdexecuter.h \
|
||||
$$MEGACMD_BASE_PATH/src/deferred_single_trigger.h \
|
||||
$$MEGACMD_BASE_PATH/src/megacmd_events.h \
|
||||
$$MEGACMD_BASE_PATH/src/listeners.h \
|
||||
$$MEGACMD_BASE_PATH/src/megacmdlogger.h \
|
||||
$$MEGACMD_BASE_PATH/src/megacmdsandbox.h \
|
||||
$$MEGACMD_BASE_PATH/src/configurationmanager.h \
|
||||
$$MEGACMD_BASE_PATH/src/comunicationsmanager.h \
|
||||
$$MEGACMD_BASE_PATH/src/megacmdutils.h \
|
||||
$$MEGACMD_BASE_PATH/src/megacmdversion.h \
|
||||
$$MEGACMD_BASE_PATH/src/megacmdplatform.h
|
||||
|
||||
win32 {
|
||||
SOURCES += $$MEGACMD_BASE_PATH/src/comunicationsmanagernamedpipes.cpp
|
||||
HEADERS += $$MEGACMD_BASE_PATH/src/comunicationsmanagernamedpipes.h
|
||||
}
|
||||
else {
|
||||
SOURCES += $$MEGACMD_BASE_PATH/src/comunicationsmanagerfilesockets.cpp
|
||||
HEADERS += $$MEGACMD_BASE_PATH/src/comunicationsmanagerfilesockets.h
|
||||
}
|
@ -18,43 +18,8 @@ TARGET = MEGAcmd
|
||||
}
|
||||
TEMPLATE = app
|
||||
CONFIG += console
|
||||
CONFIG += USE_MEGAAPI
|
||||
|
||||
include(../MEGAcmdCommon.pri)
|
||||
|
||||
SOURCES += ../../../../src/megacmd.cpp \
|
||||
../../../../src/listeners.cpp \
|
||||
../../../../src/megacmdexecuter.cpp \
|
||||
../../../../src/megacmdlogger.cpp \
|
||||
../../../../src/megacmdsandbox.cpp \
|
||||
../../../../src/configurationmanager.cpp \
|
||||
../../../../src/comunicationsmanager.cpp \
|
||||
../../../../src/megacmdutils.cpp \
|
||||
../../../../src/megacmdcommonutils.cpp
|
||||
|
||||
CONFIG(USE_DOWNLOADS_COMMAND) {
|
||||
DEFINES+=HAVE_DOWNLOADS_COMMAND
|
||||
SOURCES += ../../../../src/megacmdtransfermanager.cpp
|
||||
HEADERS += ../../../../src/megacmdtransfermanager.h
|
||||
|
||||
}
|
||||
|
||||
HEADERS += ../../../../src/megacmd.h \
|
||||
../../../../src/megacmdexecuter.h \
|
||||
../../../../src/listeners.h \
|
||||
../../../../src/megacmdlogger.h \
|
||||
../../../../src/megacmdsandbox.h \
|
||||
../../../../src/configurationmanager.h \
|
||||
../../../../src/comunicationsmanager.h \
|
||||
../../../../src/megacmdutils.h \
|
||||
../../../../src/megacmdcommonutils.h \
|
||||
../../../../src/megacmdversion.h \
|
||||
../../../../src/megacmdplatform.h
|
||||
|
||||
win32 {
|
||||
SOURCES += ../../../../src/comunicationsmanagernamedpipes.cpp
|
||||
HEADERS += ../../../../src/comunicationsmanagernamedpipes.h
|
||||
|
||||
RC_FILE = icon.rc
|
||||
QMAKE_LFLAGS += /LARGEADDRESSAWARE
|
||||
QMAKE_LFLAGS_WINDOWS += /SUBSYSTEM:WINDOWS,5.01
|
||||
@ -62,7 +27,8 @@ win32 {
|
||||
DEFINES += PSAPI_VERSION=1
|
||||
DEFINES += UNICODE _UNICODE NTDDI_VERSION=0x06000000 _WIN32_WINNT=0x0600
|
||||
}
|
||||
else {
|
||||
SOURCES +=../../../../src/comunicationsmanagerfilesockets.cpp
|
||||
HEADERS +=../../../../src/comunicationsmanagerfilesockets.h
|
||||
}
|
||||
|
||||
include(MEGAcmdServer.pri)
|
||||
|
||||
SOURCES += \
|
||||
$$MEGACMD_BASE_PATH/src/megacmd_server_main.cpp
|
||||
|
@ -14,21 +14,20 @@ TARGET = MEGAcmdShell
|
||||
TEMPLATE = app
|
||||
CONFIG += console
|
||||
|
||||
|
||||
include(../MEGAcmdCommon.pri)
|
||||
MEGACMD_BASE_PATH = $$PWD/$$MEGACMD_BASE_PATH_RELATIVE
|
||||
|
||||
SOURCES += ../../../../src/megacmdshell/megacmdshell.cpp \
|
||||
../../../../src/megacmdshell/megacmdshellcommunications.cpp \
|
||||
../../../../src/megacmdshell/megacmdshellcommunicationsnamedpipes.cpp \
|
||||
../../../../src/megacmdcommonutils.cpp
|
||||
SOURCES += \
|
||||
$$MEGACMD_BASE_PATH/src/megacmdshell/megacmdshell.cpp \
|
||||
$$MEGACMD_BASE_PATH/src/megacmdshell/megacmdshellcommunications.cpp \
|
||||
$$MEGACMD_BASE_PATH/src/megacmdshell/megacmdshellcommunicationsnamedpipes.cpp
|
||||
|
||||
|
||||
HEADERS += ../../../../src/megacmdshell/megacmdshell.h \
|
||||
../../../../src/megacmdshell/megacmdshellcommunications.h \
|
||||
../../../../src/megacmdshell/megacmdshellcommunicationsnamedpipes.h \
|
||||
../../../../sdk/include/mega/thread.h \
|
||||
../../../../src/megacmdcommonutils.h
|
||||
|
||||
HEADERS += \
|
||||
$$MEGACMD_BASE_PATH/src/megacmdshell/megacmdshell.h \
|
||||
$$MEGACMD_BASE_PATH/src/megacmdshell/megacmdshellcommunications.h \
|
||||
$$MEGACMD_BASE_PATH/src/megacmdshell/megacmdshellcommunicationsnamedpipes.h \
|
||||
$$MEGACMD_BASE_PATH/sdk/include/mega/thread.h
|
||||
|
||||
win32{
|
||||
RC_FILE = icon.rc
|
||||
@ -45,8 +44,8 @@ win32 {
|
||||
|
||||
macx {
|
||||
!vcpkg {
|
||||
INCLUDEPATH += $$PWD/../../../../sdk/bindings/qt/3rdparty/include
|
||||
LIBS += $$PWD/../../../../sdk/bindings/qt/3rdparty/libs/libreadline.a
|
||||
INCLUDEPATH += $$MEGACMD_BASE_PATH/sdk/bindings/qt/3rdparty/include
|
||||
LIBS += $$MEGACMD_BASE_PATH/sdk/bindings/qt/3rdparty/libs/libreadline.a
|
||||
}
|
||||
LIBS += -framework Cocoa -framework SystemConfiguration -framework CoreFoundation -framework Foundation -framework Security
|
||||
LIBS += -lncurses
|
||||
|
@ -0,0 +1,15 @@
|
||||
include(../../vcpkg_inclusion.pri)
|
||||
|
||||
MEGACMD_BASE_PATH_RELATIVE = ../../../../..
|
||||
MEGACMD_BASE_PATH = $$PWD/$$MEGACMD_BASE_PATH_RELATIVE
|
||||
|
||||
INCLUDEPATH += \
|
||||
$$MEGACMD_BASE_PATH/tests/common/ \
|
||||
|
||||
SOURCES += \
|
||||
$$MEGACMD_BASE_PATH/tests/common/Instruments.cpp \
|
||||
$$MEGACMD_BASE_PATH/tests/common/TestUtils.cpp \
|
||||
|
||||
HEADERS += \
|
||||
$$MEGACMD_BASE_PATH/tests/common/Instruments.h \
|
||||
$$MEGACMD_BASE_PATH/tests/common/TestUtils.h \
|
@ -0,0 +1,72 @@
|
||||
CONFIG(debug, debug|release) {
|
||||
CONFIG -= debug release
|
||||
CONFIG += debug
|
||||
}
|
||||
CONFIG(release, debug|release) {
|
||||
CONFIG -= debug release
|
||||
CONFIG += release
|
||||
}
|
||||
|
||||
|
||||
TARGET = test_integration
|
||||
TEMPLATE = app
|
||||
|
||||
CONFIG -= qt
|
||||
!win32:CONFIG += object_parallel_to_source
|
||||
CONFIG += console
|
||||
|
||||
DEFINES += MEGACMD_TESTING_CODE
|
||||
|
||||
win32 {
|
||||
LIBS += -lshlwapi -lws2_32
|
||||
LIBS += -lshell32 -luser32 -ladvapi32
|
||||
|
||||
QMAKE_LFLAGS += /LARGEADDRESSAWARE
|
||||
QMAKE_LFLAGS_WINDOWS += /SUBSYSTEM:WINDOWS,5.01
|
||||
QMAKE_LFLAGS_CONSOLE += /SUBSYSTEM:CONSOLE,5.01
|
||||
DEFINES += PSAPI_VERSION=1
|
||||
DEFINES += UNICODE _UNICODE NTDDI_VERSION=0x06000000 _WIN32_WINNT=0x0600
|
||||
QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
|
||||
QMAKE_LFLAGS_RELEASE = $$QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO
|
||||
|
||||
debug:LIBS += -lgtestd -lgmockd
|
||||
!debug:LIBS += -lgtest -lgmock
|
||||
}
|
||||
else {
|
||||
exists(/opt/gtest/gtest-1.10.0/lib) {
|
||||
LIBS += -L/opt/gtest/gtest-1.10.0/lib
|
||||
INCLUDEPATH += /opt/gtest/gtest-1.10.0/include
|
||||
}
|
||||
LIBS += -lgtest -lgmock
|
||||
LIBS += -lpthread
|
||||
}
|
||||
|
||||
include(../../MEGAcmdServer/MEGAcmdServer.pri)
|
||||
include(../../MEGAcmdClient/MEGAcmdClient.pri)
|
||||
|
||||
CONFIG -= c++11
|
||||
QMAKE_CXXFLAGS-=-std=c++11
|
||||
CONFIG += c++17
|
||||
QMAKE_CXXFLAGS+=-std=c++17
|
||||
|
||||
!win32 {
|
||||
QMAKE_CXXFLAGS += "-fsanitize=address -fsanitize=undefined -fno-omit-frame-pointer -fno-common"
|
||||
QMAKE_LFLAGS += "-fsanitize=address -fsanitize=undefined"
|
||||
QMAKE_CXXFLAGS_DEBUG += "-fsanitize=address -fsanitize=undefined -fno-omit-frame-pointer -fno-common"
|
||||
}
|
||||
|
||||
include(../MEGAcmdTest_common/MEGAcmdTest_common.pri)
|
||||
|
||||
MEGACMD_BASE_PATH = $$PWD/$$MEGACMD_BASE_PATH_RELATIVE
|
||||
|
||||
INCLUDEPATH += \
|
||||
$$MEGACMD_BASE_PATH/src
|
||||
|
||||
SOURCES += \
|
||||
$$MEGACMD_BASE_PATH/tests/integration/BasicTests.cpp \
|
||||
$$MEGACMD_BASE_PATH/tests/integration/ExportTests.cpp \
|
||||
$$MEGACMD_BASE_PATH/tests/integration/MegaCmdTestingTools.cpp \
|
||||
$$MEGACMD_BASE_PATH/tests/integration/main.cpp
|
||||
|
||||
HEADERS += \
|
||||
$$MEGACMD_BASE_PATH/tests/integration/MegaCmdTestingTools.h
|
@ -0,0 +1,69 @@
|
||||
CONFIG(debug, debug|release) {
|
||||
CONFIG -= debug release
|
||||
CONFIG += debug
|
||||
}
|
||||
CONFIG(release, debug|release) {
|
||||
CONFIG -= debug release
|
||||
CONFIG += release
|
||||
}
|
||||
TARGET = test_unit
|
||||
TEMPLATE = app
|
||||
|
||||
CONFIG -= qt
|
||||
!win32:CONFIG += object_parallel_to_source
|
||||
CONFIG += console
|
||||
|
||||
DEFINES += MEGACMD_TESTING_CODE
|
||||
|
||||
win32 {
|
||||
LIBS += -lshlwapi -lws2_32
|
||||
LIBS += -lshell32 -luser32 -ladvapi32
|
||||
|
||||
QMAKE_LFLAGS += /LARGEADDRESSAWARE
|
||||
QMAKE_LFLAGS_WINDOWS += /SUBSYSTEM:WINDOWS,5.01
|
||||
QMAKE_LFLAGS_CONSOLE += /SUBSYSTEM:CONSOLE,5.01
|
||||
DEFINES += PSAPI_VERSION=1
|
||||
DEFINES += UNICODE _UNICODE NTDDI_VERSION=0x06000000 _WIN32_WINNT=0x0600
|
||||
QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
|
||||
QMAKE_LFLAGS_RELEASE = $$QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO
|
||||
|
||||
debug:LIBS += -lgtestd -lgmockd
|
||||
!debug:LIBS += -lgtest -lgmock
|
||||
}
|
||||
else {
|
||||
exists(/opt/gtest/gtest-1.10.0/lib) {
|
||||
LIBS += -L/opt/gtest/gtest-1.10.0/lib
|
||||
INCLUDEPATH += /opt/gtest/gtest-1.10.0/include
|
||||
}
|
||||
LIBS += -lgtest -lgmock
|
||||
LIBS += -lpthread
|
||||
}
|
||||
|
||||
include(../../MEGAcmdServer/MEGAcmdServer.pri)
|
||||
include(../../MEGAcmdClient/MEGAcmdClient.pri)
|
||||
|
||||
CONFIG -= c++11
|
||||
QMAKE_CXXFLAGS-=-std=c++11
|
||||
CONFIG += c++17
|
||||
QMAKE_CXXFLAGS+=-std=c++17
|
||||
|
||||
!win32 {
|
||||
QMAKE_CXXFLAGS += "-fsanitize=address -fsanitize=undefined -fno-omit-frame-pointer -fno-common"
|
||||
QMAKE_LFLAGS += "-fsanitize=address -fsanitize=undefined"
|
||||
QMAKE_CXXFLAGS_DEBUG += "-fsanitize=address -fsanitize=undefined -fno-omit-frame-pointer -fno-common"
|
||||
}
|
||||
|
||||
include(../MEGAcmdTest_common/MEGAcmdTest_common.pri)
|
||||
|
||||
MEGACMD_BASE_PATH = $$PWD/$$MEGACMD_BASE_PATH_RELATIVE
|
||||
|
||||
INCLUDEPATH += \
|
||||
$$MEGACMD_BASE_PATH/sdk/include \
|
||||
$$MEGACMD_BASE_PATH/src \
|
||||
|
||||
|
||||
SOURCES += \
|
||||
$$MEGACMD_BASE_PATH/tests/unit/StringUtilsTests.cpp \
|
||||
$$MEGACMD_BASE_PATH/tests/unit/UtilsTests.cpp \
|
||||
$$MEGACMD_BASE_PATH/tests/unit/PlatformDirectoriesTest.cpp \
|
||||
$$MEGACMD_BASE_PATH/tests/unit/main.cpp
|
4
contrib/QtCreator/MEGAcmd/MEGAcmdTests/MEGAcmdTests.pro
Normal file
4
contrib/QtCreator/MEGAcmd/MEGAcmdTests/MEGAcmdTests.pro
Normal file
@ -0,0 +1,4 @@
|
||||
TEMPLATE = subdirs
|
||||
|
||||
SUBDIRS += MEGAcmdTest_unit
|
||||
SUBDIRS += MEGAcmdTest_integration
|
@ -1,35 +1,3 @@
|
||||
isEmpty(THIRDPARTY_VCPKG_BASE_PATH){
|
||||
THIRDPARTY_VCPKG_BASE_PATH = $$PWD/../../../3rdParty_megacmd
|
||||
}
|
||||
|
||||
win32 {
|
||||
contains(QMAKE_TARGET.arch, x86_64):VCPKG_TRIPLET = x64-windows-mega
|
||||
!contains(QMAKE_TARGET.arch, x86_64):VCPKG_TRIPLET = x86-windows-mega
|
||||
}
|
||||
|
||||
macx{
|
||||
isEmpty(VCPKG_TRIPLET){
|
||||
contains(QT_ARCH, x86_64):VCPKG_TRIPLET = x64-osx-mega
|
||||
contains(QT_ARCH, arm64):VCPKG_TRIPLET = arm64-osx-mega
|
||||
}
|
||||
contains(VCPKG_TRIPLET, arm64-osx-mega):contains(QMAKE_HOST.arch, arm64):QMAKE_APPLE_DEVICE_ARCHS=arm64
|
||||
|
||||
message("Building for macOS $$QT_ARCH in a $$QMAKE_HOST.arch host.")
|
||||
}
|
||||
|
||||
unix:!macx:VCPKG_TRIPLET = x64-linux
|
||||
|
||||
message("THIRDPARTY_VCPKG_BASE_PATH: $$THIRDPARTY_VCPKG_BASE_PATH")
|
||||
message("VCPKG_TRIPLET: $$VCPKG_TRIPLET")
|
||||
|
||||
THIRDPARTY_VCPKG_PATH = $$THIRDPARTY_VCPKG_BASE_PATH/vcpkg/installed/$$VCPKG_TRIPLET
|
||||
exists($$THIRDPARTY_VCPKG_PATH) {
|
||||
CONFIG += vcpkg
|
||||
}
|
||||
vcpkg:debug:message("Building DEBUG with VCPKG 3rdparty at $$THIRDPARTY_VCPKG_PATH")
|
||||
vcpkg:release:message("Building RELEASE with VCPKG 3rdparty at $$THIRDPARTY_VCPKG_PATH")
|
||||
!vcpkg:message("vcpkg not used")
|
||||
|
||||
CONFIG -= qt
|
||||
MEGASDK_BASE_PATH = $$PWD/../../../../sdk
|
||||
|
||||
@ -40,6 +8,7 @@ CONFIG(debug, debug|release) {
|
||||
CONFIG(release, debug|release) {
|
||||
CONFIG -= debug release
|
||||
CONFIG += release
|
||||
DEFINES += NDEBUG
|
||||
}
|
||||
|
||||
TARGET = MEGAcmdUpdater
|
||||
@ -48,6 +17,14 @@ TEMPLATE = app
|
||||
CONFIG += console
|
||||
}
|
||||
|
||||
include(../vcpkg_inclusion.pri)
|
||||
|
||||
!win32 {
|
||||
# These are required to have PlaftformDirectories stuff
|
||||
include(../MEGAcmdServer/MEGAcmdServer.pri)
|
||||
include(../MEGAcmdClient/MEGAcmdClient.pri)
|
||||
}
|
||||
|
||||
HEADERS += ../../../../src/updater/UpdateTask.h \
|
||||
../../../../src/updater/Preferences.h \
|
||||
../../../../src/updater/MacUtils.h
|
||||
@ -61,7 +38,7 @@ else:INCLUDEPATH += $$MEGASDK_BASE_PATH/bindings/qt/3rdparty/include
|
||||
macx {
|
||||
OBJECTIVE_SOURCES += ../../../../src/updater/MacUtils.mm
|
||||
DEFINES += _DARWIN_FEATURE_64_BIT_INODE CRYPTOPP_DISABLE_ASM
|
||||
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.12
|
||||
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.13
|
||||
!vcpkg:LIBS += -L$$MEGASDK_BASE_PATH/bindings/qt/3rdparty/libs/
|
||||
vcpkg:debug:LIBS += -L$$THIRDPARTY_VCPKG_PATH/debug/lib/
|
||||
vcpkg:release:LIBS += -L$$THIRDPARTY_VCPKG_PATH/lib/
|
||||
@ -96,18 +73,12 @@ win32 {
|
||||
}
|
||||
|
||||
DEFINES += UNICODE _UNICODE NTDDI_VERSION=0x06000000 _WIN32_WINNT=0x0600
|
||||
vcpkg:LIBS += -lurlmon -lShlwapi -lShell32 -lAdvapi32 -lcryptopp-staticcrt
|
||||
vcpkg:LIBS += -lurlmon -lShlwapi -lShell32 -lAdvapi32 -lcryptopp
|
||||
else:LIBS += -lurlmon -lShlwapi -lShell32 -lAdvapi32 -lcryptoppmt
|
||||
|
||||
QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
|
||||
QMAKE_LFLAGS_RELEASE = $$QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO
|
||||
|
||||
QMAKE_CXXFLAGS_RELEASE += -MT
|
||||
QMAKE_CXXFLAGS_DEBUG += -MTd
|
||||
|
||||
QMAKE_CXXFLAGS_RELEASE -= -MD
|
||||
QMAKE_CXXFLAGS_DEBUG -= -MDd
|
||||
|
||||
RC_FILE = icon.rc
|
||||
QMAKE_LFLAGS += /LARGEADDRESSAWARE
|
||||
QMAKE_LFLAGS_WINDOWS += /SUBSYSTEM:WINDOWS,5.01
|
||||
|
51
contrib/QtCreator/MEGAcmd/vcpkg_inclusion.pri
Normal file
51
contrib/QtCreator/MEGAcmd/vcpkg_inclusion.pri
Normal file
@ -0,0 +1,51 @@
|
||||
macx|win32 {
|
||||
# have VCPKG included if not done already
|
||||
isEmpty(VCPKG_TRIPLET) {
|
||||
MEGACMD_BASE_PATH_RELATIVE = ../../..
|
||||
MEGACMD_BASE_PATH = $$PWD/$$MEGACMD_BASE_PATH_RELATIVE
|
||||
|
||||
isEmpty(THIRDPARTY_VCPKG_BASE_PATH){
|
||||
THIRDPARTY_VCPKG_BASE_PATH = $$MEGACMD_BASE_PATH/../3rdParty_megacmd
|
||||
}
|
||||
|
||||
win32 {
|
||||
contains(QMAKE_TARGET.arch, x86_64):VCPKG_TRIPLET = x64-windows-mega
|
||||
!contains(QMAKE_TARGET.arch, x86_64):VCPKG_TRIPLET = x86-windows-mega
|
||||
}
|
||||
|
||||
macx{
|
||||
isEmpty(VCPKG_TRIPLET){
|
||||
contains(QT_ARCH, x86_64):VCPKG_TRIPLET = x64-osx-mega
|
||||
contains(QT_ARCH, arm64):VCPKG_TRIPLET = arm64-osx-mega
|
||||
}
|
||||
contains(VCPKG_TRIPLET, arm64-osx-mega):contains(QMAKE_HOST.arch, arm64):QMAKE_APPLE_DEVICE_ARCHS=arm64
|
||||
|
||||
message("Building for macOS $$QT_ARCH in a $$QMAKE_HOST.arch host.")
|
||||
}
|
||||
|
||||
unix:!macx:VCPKG_TRIPLET = x64-linux
|
||||
|
||||
message("vcpkg inclusion: THIRDPARTY_VCPKG_BASE_PATH: $$THIRDPARTY_VCPKG_BASE_PATH")
|
||||
message("vcpkg inclusion: VCPKG_TRIPLET: $$VCPKG_TRIPLET")
|
||||
|
||||
THIRDPARTY_VCPKG_PATH = $$THIRDPARTY_VCPKG_BASE_PATH/vcpkg/installed/$$VCPKG_TRIPLET
|
||||
exists($$THIRDPARTY_VCPKG_PATH) {
|
||||
CONFIG += vcpkg
|
||||
}
|
||||
}
|
||||
else {
|
||||
message("vcpkg inclusion: REUSING THIRDPARTY_VCPKG_BASE_PATH: $$THIRDPARTY_VCPKG_BASE_PATH")
|
||||
message("vcpkg inclusion: REUSING VCPKG_TRIPLET: $$VCPKG_TRIPLET")
|
||||
}
|
||||
|
||||
#print vcpkg inclusion status
|
||||
vcpkg:debug:message("vcpkg inclusion: Building DEBUG with VCPKG 3rdparty at $$THIRDPARTY_VCPKG_PATH")
|
||||
vcpkg:release:message("vcpkg inclusion: Building RELEASE with VCPKG 3rdparty at $$THIRDPARTY_VCPKG_PATH")
|
||||
!vcpkg:message("vcpkg inclusion: vcpkg not used")
|
||||
|
||||
# Now do the actual includes:
|
||||
vcpkg:INCLUDEPATH += $$THIRDPARTY_VCPKG_PATH/include
|
||||
release:LIBS += -L"$$THIRDPARTY_VCPKG_PATH/lib"
|
||||
debug:LIBS += -L"$$THIRDPARTY_VCPKG_PATH/debug/lib"
|
||||
|
||||
} #macx|win32
|
@ -16,12 +16,11 @@ Log levels range from FATAL (the lowest) to VERBOSE (the highest).
|
||||
|
||||
## How to access the logs
|
||||
|
||||
Accessing the logs depends on the platform you are in.
|
||||
Accessing the logs depends on the platform you are in.
|
||||
|
||||
### MacOS
|
||||
|
||||
By default, whenever MEGAcmdServer is executed, it will log the output into
|
||||
`$HOME/.megaCmd/megacmdserver.log`.
|
||||
By default, whenever MEGAcmdServer is executed, it will log the output to `$HOME/.megaCmd/megacmdserver.log`.
|
||||
|
||||
If you want to launch it manually execute in a terminal:
|
||||
|
||||
@ -31,8 +30,7 @@ export PATH=/Applications/MEGAcmd.app/Contents/MacOS:$PATH
|
||||
```
|
||||
|
||||
### Linux
|
||||
By default, whenever MEGAcmdServer is executed, it will log the output into
|
||||
$HOME/.megaCmd/megacmdserver.log.
|
||||
By default, whenever MEGAcmdServer is executed, it will log the output to `$HOME/.megaCmd/megacmdserver.log`.
|
||||
|
||||
If you want to launch it manually execute in a terminal:
|
||||
|
||||
@ -42,9 +40,13 @@ mega-cmd-server
|
||||
|
||||
### Windows
|
||||
|
||||
MEGAcmdServer is executed in the background without saving the log into a file. If you want to
|
||||
MEGAcmdServer is executed in the background without saving the log into a file. If you want to
|
||||
see the output you would need to execute the server (MEGAcmdServer.exe) manually.
|
||||
|
||||
## Accessing stdout and stderr
|
||||
|
||||
The standard output and error streams can be found in the `megacmdserver.log.out` and `megacmdserver.log.err` files, respectively. They're located in the same directories as the logs.
|
||||
|
||||
## Verbosity on startup
|
||||
|
||||
You can start the server with higher level of verbosity in order to have log levels increased at startup.
|
||||
@ -89,6 +91,6 @@ SDK log level = VERBOSE
|
||||
|
||||
## Controlling verbosity of a single command
|
||||
|
||||
You can pass `-v` (`-vv`, `-vvv`, and so on for a more verbose output)
|
||||
You can pass `-v` (`-vv`, `-vvv`, and so on for a more verbose output)
|
||||
to an specific command and it will use higher level of verbosity of MEGAcmd based messages.
|
||||
|
||||
|
13
contrib/docs/commands/autocomplete.md
Normal file
13
contrib/docs/commands/autocomplete.md
Normal file
@ -0,0 +1,13 @@
|
||||
### autocomplete
|
||||
Modifes how tab completion operates.
|
||||
|
||||
Usage: `autocomplete [dos | unix]`
|
||||
<pre>
|
||||
The default is to operate like the native platform. However
|
||||
you can switch it between mode 'dos' and 'unix' as you prefer.
|
||||
Options:
|
||||
dos Each press of tab places the next option into the command line
|
||||
unix Options are listed in a table, or put in-line if there is only one
|
||||
|
||||
Note: this command is only available on some versions of Windows
|
||||
</pre>
|
82
contrib/docs/commands/backup.md
Normal file
82
contrib/docs/commands/backup.md
Normal file
@ -0,0 +1,82 @@
|
||||
### backup
|
||||
Controls backups
|
||||
|
||||
Usage: `backup (localpath remotepath --period="PERIODSTRING" --num-backups=N | [-lhda] [TAG|localpath] [--period="PERIODSTRING"] [--num-backups=N]) [--time-format=FORMAT]`
|
||||
<pre>
|
||||
This command can be used to configure and control backups.
|
||||
A tutorial can be found here: https://github.com/meganz/MEGAcmd/blob/master/contrib/docs/BACKUPS.md
|
||||
|
||||
If no argument is given it will list the configured backups
|
||||
To get extra info on backups use -l or -h (see Options below)
|
||||
|
||||
When a backup of a folder (localfolder) is established in a remote folder (remotepath)
|
||||
MEGAcmd will create subfolder within the remote path with names like: "localfoldername_bk_TIME"
|
||||
which shall contain a backup of the local folder at that specific time
|
||||
In order to configure a backup you need to specify the local and remote paths,
|
||||
the period and max number of backups to store (see Configuration Options below).
|
||||
Once configured, you can see extended info asociated to the backup (See Display Options)
|
||||
Notice that MEGAcmd server need to be running for backups to be created.
|
||||
|
||||
Display Options:
|
||||
-l Show extended info: period, max number, next scheduled backup
|
||||
or the status of current/last backup
|
||||
-h Show history of created backups
|
||||
Backup states:
|
||||
While a backup is being performed, the backup will be considered and labeled as ONGOING
|
||||
If a transfer is cancelled or fails, the backup will be considered INCOMPLETE
|
||||
If a backup is aborted (see -a), all the transfers will be canceled and the backup be ABORTED
|
||||
If MEGAcmd server stops during a transfer, it will be considered MISCARRIED
|
||||
Notice that currently when MEGAcmd server is restarted, ongoing and scheduled transfers
|
||||
will be carried out nevertheless.
|
||||
If MEGAcmd server is not running when a backup is scheduled and the time for the next one has already arrived,
|
||||
an empty BACKUP will be created with state SKIPPED
|
||||
If a backup(1) is ONGOING and the time for the next backup(2) arrives, it won't start untill the previous one(1)
|
||||
is completed, and if by the time the first one(1) ends the time for the next one(3) has already arrived,
|
||||
an empty BACKUP(2) will be created with state SKIPPED
|
||||
--path-display-size=N Use a fixed size of N characters for paths
|
||||
--time-format=FORMAT show time in available formats. Examples:
|
||||
RFC2822: Example: Fri, 06 Apr 2018 13:05:37 +0200
|
||||
ISO6081: Example: 2018-04-06
|
||||
ISO6081_WITH_TIME: Example: 2018-04-06T13:05:37
|
||||
SHORT: Example: 06Apr2018 13:05:37
|
||||
SHORT_UTC: Example: 06Apr2018 13:05:37
|
||||
CUSTOM. e.g: --time-format="%Y %b": Example: 2018 Apr
|
||||
You can use any strftime compliant format: http://www.cplusplus.com/reference/ctime/strftime/
|
||||
|
||||
Configuration Options:
|
||||
--period="PERIODSTRING" Period: either time in TIMEFORMAT (see below) or a cron like expression
|
||||
Cron like period is formatted as follows
|
||||
- - - - - -
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
| | | | | +---- Day of the Week (range: 1-7, 1 standing for Monday)
|
||||
| | | | +------ Month of the Year (range: 1-12)
|
||||
| | | +-------- Day of the Month (range: 1-31)
|
||||
| | +---------- Hour (range: 0-23)
|
||||
| +------------ Minute (range: 0-59)
|
||||
+-------------- Second (range: 0-59)
|
||||
examples:
|
||||
- daily at 04:00:00 (UTC): "0 0 4 * * *"
|
||||
- every 15th day at 00:00:00 (UTC) "0 0 0 15 * *"
|
||||
- mondays at 04.30.00 (UTC): "0 30 4 * * 1"
|
||||
TIMEFORMAT can be expressed in hours(h), days(d),
|
||||
minutes(M), seconds(s), months(m) or years(y)
|
||||
e.g. "1m12d3h" indicates 1 month, 12 days and 3 hours
|
||||
Notice that this is an uncertain measure since not all months
|
||||
last the same and Daylight saving time changes are not considered
|
||||
If possible use a cron like expresion
|
||||
Notice: regardless of the period expresion, the first time you establish a backup,
|
||||
it will be created immediately
|
||||
--num-backups=N Maximum number of backups to store
|
||||
After creating the backup (N+1) the oldest one will be deleted
|
||||
That might not be true in case there are incomplete backups:
|
||||
in order not to lose data, at least one COMPLETE backup will be kept
|
||||
Use backup TAG|localpath --option=VALUE to modify existing backups
|
||||
|
||||
Management Options:
|
||||
-d TAG|localpath Removes a backup by its TAG or local path
|
||||
Folders created by backup won't be deleted
|
||||
-a TAG|localpath Aborts ongoing backup
|
||||
|
||||
Caveat: This functionality is in BETA state. If you experience any issue with this, please contact: support@mega.nz
|
||||
</pre>
|
11
contrib/docs/commands/cancel.md
Normal file
11
contrib/docs/commands/cancel.md
Normal file
@ -0,0 +1,11 @@
|
||||
### cancel
|
||||
Cancels your MEGA account
|
||||
|
||||
Usage: `cancel`
|
||||
<pre>
|
||||
Caution: The account under this email address will be permanently closed
|
||||
and your data deleted. This can not be undone.
|
||||
|
||||
The cancellation will not take place immediately. You will need to confirm the cancellation
|
||||
using a link that will be delivered to your email. See "confirmcancel --help"
|
||||
</pre>
|
8
contrib/docs/commands/cat.md
Normal file
8
contrib/docs/commands/cat.md
Normal file
@ -0,0 +1,8 @@
|
||||
### cat
|
||||
Prints the contents of remote files
|
||||
|
||||
Usage: `cat remotepath1 remotepath2 ...`
|
||||
<pre>
|
||||
To avoid issues with encoding on Windows, if you want to cat the exact binary contents of a remote file into a local one,
|
||||
use non-interactive mode with -o /path/to/file. See help "non-interactive"
|
||||
</pre>
|
7
contrib/docs/commands/cd.md
Normal file
7
contrib/docs/commands/cd.md
Normal file
@ -0,0 +1,7 @@
|
||||
### cd
|
||||
Changes the current remote folder
|
||||
|
||||
Usage: `cd [remotepath]`
|
||||
<pre>
|
||||
If no folder is provided, it will be changed to the root folder
|
||||
</pre>
|
4
contrib/docs/commands/clear.md
Normal file
4
contrib/docs/commands/clear.md
Normal file
@ -0,0 +1,4 @@
|
||||
### clear
|
||||
Clear screen
|
||||
|
||||
Usage: `clear`
|
15
contrib/docs/commands/codepage.md
Normal file
15
contrib/docs/commands/codepage.md
Normal file
@ -0,0 +1,15 @@
|
||||
### codepage
|
||||
Switches the codepage used to decide which characters show on-screen.
|
||||
|
||||
Usage: `codepage [N [M]]`
|
||||
<pre>
|
||||
MEGAcmd supports unicode or specific code pages. For european countries you may need
|
||||
to select a suitable codepage or secondary codepage for the character set you use.
|
||||
Of course a font containing the glyphs you need must have been selected for the terminal first.
|
||||
Options:
|
||||
(no option) Outputs the selected code page and secondary codepage (if configured).
|
||||
N Sets the main codepage to N. 65001 is Unicode.
|
||||
M Sets the secondary codepage to M, which is used if the primary can't translate a character.
|
||||
|
||||
Note: this command is only available on some versions of Windows
|
||||
</pre>
|
7
contrib/docs/commands/confirm.md
Normal file
7
contrib/docs/commands/confirm.md
Normal file
@ -0,0 +1,7 @@
|
||||
### confirm
|
||||
Confirm an account using the link provided after the "signup" process.
|
||||
|
||||
Usage: `confirm link email password`
|
||||
<pre>
|
||||
It requires the email and the password used to obtain the link.
|
||||
</pre>
|
8
contrib/docs/commands/confirmcancel.md
Normal file
8
contrib/docs/commands/confirmcancel.md
Normal file
@ -0,0 +1,8 @@
|
||||
### confirmcancel
|
||||
Confirms the cancellation of your MEGA account
|
||||
|
||||
Usage: `confirmcancel link password`
|
||||
<pre>
|
||||
Caution: The account under this email address will be permanently closed
|
||||
and your data deleted. This can not be undone.
|
||||
</pre>
|
15
contrib/docs/commands/cp.md
Normal file
15
contrib/docs/commands/cp.md
Normal file
@ -0,0 +1,15 @@
|
||||
### cp
|
||||
Copies files/folders into a new location (all remotes)
|
||||
|
||||
Usage: `cp [--use-pcre] srcremotepath [srcremotepath2 srcremotepath3 ..] dstremotepath|dstemail:`
|
||||
<pre>
|
||||
If the location exists and is a folder, the source will be copied there
|
||||
If the location doesn't exist, and only one source is provided,
|
||||
the file/folder will be copied and renamed to the destination name given.
|
||||
|
||||
If "dstemail:" provided, the file/folder will be sent to that user's inbox (//in)
|
||||
e.g: cp /path/to/file user@doma.in:
|
||||
Remember the trailing ":", otherwise a file with the name of that user ("user@doma.in") will be created
|
||||
Options:
|
||||
--use-pcre use PCRE expressions
|
||||
</pre>
|
7
contrib/docs/commands/debug.md
Normal file
7
contrib/docs/commands/debug.md
Normal file
@ -0,0 +1,7 @@
|
||||
### debug
|
||||
Enters debugging mode (HIGHLY VERBOSE)
|
||||
|
||||
Usage: `debug`
|
||||
<pre>
|
||||
For a finer control of log level see "log --help"
|
||||
</pre>
|
17
contrib/docs/commands/deleteversions.md
Normal file
17
contrib/docs/commands/deleteversions.md
Normal file
@ -0,0 +1,17 @@
|
||||
### deleteversions
|
||||
Deletes previous versions.
|
||||
|
||||
Usage: `deleteversions [-f] (--all | remotepath1 remotepath2 ...) [--use-pcre]`
|
||||
<pre>
|
||||
This will permanently delete all historical versions of a file.
|
||||
The current version of the file will remain.
|
||||
Note: any file version shared to you from a contact will need to be deleted by them.
|
||||
|
||||
Options:
|
||||
-f Force (no asking)
|
||||
--all Delete versions of all nodes. This will delete the version histories of all files (not current files).
|
||||
--use-pcre use PCRE expressions
|
||||
|
||||
To see versions of a file use "ls --versions".
|
||||
To see space occupied by file versions use "du --versions".
|
||||
</pre>
|
10
contrib/docs/commands/df.md
Normal file
10
contrib/docs/commands/df.md
Normal file
@ -0,0 +1,10 @@
|
||||
### df
|
||||
Shows storage info
|
||||
|
||||
Usage: `df [-h]`
|
||||
<pre>
|
||||
Shows total storage used in the account, storage per main folder (see mount)
|
||||
|
||||
Options:
|
||||
-h Human readable sizes. Otherwise, size will be expressed in Bytes
|
||||
</pre>
|
15
contrib/docs/commands/du.md
Normal file
15
contrib/docs/commands/du.md
Normal file
@ -0,0 +1,15 @@
|
||||
### du
|
||||
Prints size used by files/folders
|
||||
|
||||
Usage: `du [-h] [--versions] [remotepath remotepath2 remotepath3 ... ] [--use-pcre]`
|
||||
<pre>
|
||||
remotepath can be a pattern (Perl Compatible Regular Expressions with "--use-pcre"
|
||||
or wildcarded expresions with ? or * like f*00?.txt)
|
||||
|
||||
Options:
|
||||
-h Human readable
|
||||
--versions Calculate size including all versions.
|
||||
You can remove all versions with "deleteversions" and list them with "ls --versions"
|
||||
--path-display-size=N Use a fixed size of N characters for paths
|
||||
--use-pcre use PCRE expressions
|
||||
</pre>
|
4
contrib/docs/commands/errorcode.md
Normal file
4
contrib/docs/commands/errorcode.md
Normal file
@ -0,0 +1,4 @@
|
||||
### errorcode
|
||||
Translate error code into string
|
||||
|
||||
Usage: `errorcode number`
|
15
contrib/docs/commands/exclude.md
Normal file
15
contrib/docs/commands/exclude.md
Normal file
@ -0,0 +1,15 @@
|
||||
### exclude
|
||||
Manages exclusions in syncs.
|
||||
|
||||
Usage: `exclude [(-a|-d) pattern1 pattern2 pattern3]`
|
||||
<pre>
|
||||
Options:
|
||||
-a pattern1 pattern2 ... adds pattern(s) to the exclusion list
|
||||
(* and ? wildcards allowed)
|
||||
-d pattern1 pattern2 ... deletes pattern(s) from the exclusion list
|
||||
|
||||
Caveat: removal of patterns may not trigger sync transfers right away.
|
||||
Consider:
|
||||
a) disable/reenable synchronizations manually
|
||||
b) restart MEGAcmd server
|
||||
</pre>
|
8
contrib/docs/commands/exit.md
Normal file
8
contrib/docs/commands/exit.md
Normal file
@ -0,0 +1,8 @@
|
||||
### exit
|
||||
Quits MEGAcmd
|
||||
|
||||
Usage: `exit [--only-shell]`
|
||||
<pre>
|
||||
Notice that the session will still be active, and local caches available
|
||||
The session will be resumed when the service is restarted
|
||||
</pre>
|
42
contrib/docs/commands/export.md
Normal file
42
contrib/docs/commands/export.md
Normal file
@ -0,0 +1,42 @@
|
||||
### export
|
||||
Prints/Modifies the status of current exports
|
||||
|
||||
Usage: `export [-d|-a [--writable] [--mega-hosted] [--password=PASSWORD] [--expire=TIMEDELAY] [-f]] [remotepath] [--use-pcre] [--time-format=FORMAT]`
|
||||
<pre>
|
||||
Options:
|
||||
--use-pcre The provided path will use Perl Compatible Regular Expressions (PCRE)
|
||||
-a Adds an export.
|
||||
Returns an error if the export already exists.
|
||||
To modify an existing export (e.g. to change expiration time, password, etc.), it must be deleted and then re-added.
|
||||
--writable Turn an export folder into a writable folder link. You can use writable folder links to share and receive files from anyone; including people who don’t have a MEGA account.
|
||||
This type of link is the same as a "file request" link that can be created through the webclient, except that writable folder links are not write-only. Writable folder links and file requests cannot be mixed, as they use different encryption schemes.
|
||||
The auth-key shown has the following format <handle>#<key>:<auth-key>. The auth-key must be provided at login, otherwise you will log into this link with read-only privileges. See "mega-login --help" for more details about logging into links.
|
||||
--mega-hosted The share key of this specific folder will be shared with MEGA.
|
||||
This is intended to be used for folders accessible through MEGA's S4 service.
|
||||
Encryption will occur nonetheless within MEGA's S4 service.
|
||||
--password=PASSWORD Protects the export with a password. Passwords cannot contain " or '.
|
||||
A password-protected link will be printed only after exporting it.
|
||||
If "mega-export" is used to print it again, it will be shown unencrypted.
|
||||
Note: only PRO users can protect an export with a password.
|
||||
--expire=TIMEDELAY Sets the expiration time of the export.
|
||||
The time format can contain hours(h), days(d), minutes(M), seconds(s), months(m) or years(y).
|
||||
E.g., "1m12d3h" will set an expiration time of 1 month, 12 days and 3 hours (relative to the current time).
|
||||
Note: only PRO users can set an expiration time for an export.
|
||||
-f Implicitly accepts copyright terms (only shown the first time an export is made).
|
||||
MEGA respects the copyrights of others and requires that users of the MEGA cloud service comply with the laws of copyright.
|
||||
You are strictly prohibited from using the MEGA cloud service to infringe copyright.
|
||||
You may not upload, download, store, share, display, stream, distribute, email, link to, transmit or otherwise make available any files, data or content that infringes any copyright or other proprietary rights of any person or entity.
|
||||
-d Deletes an export.
|
||||
The file/folder itself is not deleted, only the export link.
|
||||
--time-format=FORMAT show time in available formats. Examples:
|
||||
RFC2822: Example: Fri, 06 Apr 2018 13:05:37 +0200
|
||||
ISO6081: Example: 2018-04-06
|
||||
ISO6081_WITH_TIME: Example: 2018-04-06T13:05:37
|
||||
SHORT: Example: 06Apr2018 13:05:37
|
||||
SHORT_UTC: Example: 06Apr2018 13:05:37
|
||||
CUSTOM. e.g: --time-format="%Y %b": Example: 2018 Apr
|
||||
You can use any strftime compliant format: http://www.cplusplus.com/reference/ctime/strftime/
|
||||
|
||||
If a remote path is provided without the add/delete options, all existing exports within its tree will be displayed.
|
||||
If no remote path is given, the current working directory will be used.
|
||||
</pre>
|
36
contrib/docs/commands/find.md
Normal file
36
contrib/docs/commands/find.md
Normal file
@ -0,0 +1,36 @@
|
||||
### find
|
||||
Find nodes matching a pattern
|
||||
|
||||
Usage: `find [remotepath] [-l] [--pattern=PATTERN] [--type=d|f] [--mtime=TIMECONSTRAIN] [--size=SIZECONSTRAIN] [--use-pcre] [--time-format=FORMAT] [--show-handles|--print-only-handles]`
|
||||
<pre>
|
||||
Options:
|
||||
--pattern=PATTERN Pattern to match (Perl Compatible Regular Expressions with "--use-pcre"
|
||||
or wildcarded expresions with ? or * like f*00?.txt)
|
||||
--type=d|f Determines type. (d) for folder, f for files
|
||||
--mtime=TIMECONSTRAIN Determines time constrains, in the form: [+-]TIMEVALUE
|
||||
TIMEVALUE may include hours(h), days(d), minutes(M),
|
||||
seconds(s), months(m) or years(y)
|
||||
Examples:
|
||||
"+1m12d3h" shows files modified before 1 month,
|
||||
12 days and 3 hours the current moment
|
||||
"-3h" shows files modified within the last 3 hours
|
||||
"-3d+1h" shows files modified in the last 3 days prior to the last hour
|
||||
--size=SIZECONSTRAIN Determines size constrains, in the form: [+-]TIMEVALUE
|
||||
TIMEVALUE may include (B)ytes, (K)ilobytes, (M)egabytes, (G)igabytes & (T)erabytes
|
||||
Examples:
|
||||
"+1m12k3B" shows files bigger than 1 Mega, 12 Kbytes and 3Bytes
|
||||
"-3M" shows files smaller than 3 Megabytes
|
||||
"-4M+100K" shows files smaller than 4 Mbytes and bigger than 100 Kbytes
|
||||
--show-handles Prints files/folders handles (H:XXXXXXXX). You can address a file/folder by its handle
|
||||
--print-only-handles Prints only files/folders handles (H:XXXXXXXX). You can address a file/folder by its handle
|
||||
--use-pcre use PCRE expressions
|
||||
-l Prints file info
|
||||
--time-format=FORMAT show time in available formats. Examples:
|
||||
RFC2822: Example: Fri, 06 Apr 2018 13:05:37 +0200
|
||||
ISO6081: Example: 2018-04-06
|
||||
ISO6081_WITH_TIME: Example: 2018-04-06T13:05:37
|
||||
SHORT: Example: 06Apr2018 13:05:37
|
||||
SHORT_UTC: Example: 06Apr2018 13:05:37
|
||||
CUSTOM. e.g: --time-format="%Y %b": Example: 2018 Apr
|
||||
You can use any strftime compliant format: http://www.cplusplus.com/reference/ctime/strftime/
|
||||
</pre>
|
24
contrib/docs/commands/ftp.md
Normal file
24
contrib/docs/commands/ftp.md
Normal file
@ -0,0 +1,24 @@
|
||||
### ftp
|
||||
Configures a FTP server to serve a location in MEGA
|
||||
|
||||
Usage: `ftp [-d ( --all | remotepath ) ] [ remotepath [--port=PORT] [--data-ports=BEGIN-END] [--public] [--tls --certificate=/path/to/certificate.pem --key=/path/to/certificate.key]] [--use-pcre]`
|
||||
<pre>
|
||||
This can also be used for streaming files. The server will be running as long as MEGAcmd Server is.
|
||||
If no argument is given, it will list the ftp enabled locations.
|
||||
|
||||
Options:
|
||||
--d Stops serving that location
|
||||
--all When used with -d, stops serving all locations (and stops the server)
|
||||
--public *Allow access from outside localhost
|
||||
--port=PORT *Port to serve. DEFAULT=4990
|
||||
--data-ports=BEGIN-END *Ports range used for data channel (in passive mode). DEFAULT=1500-1600
|
||||
--tls *Serve with TLS (FTPs)
|
||||
--certificate=/path/to/certificate.pem *Path to PEM formated certificate
|
||||
--key=/path/to/certificate.key *Path to PEM formated key
|
||||
--use-pcre use PCRE expressions
|
||||
|
||||
*If you serve more than one location, these parameters will be ignored and used those of the first location served.
|
||||
If you want to change those parameters, you need to stop serving all locations and configure them again.
|
||||
|
||||
Caveat: This functionality is in BETA state. It might not be available on all platforms. If you experience any issue with this, please contact: support@mega.nz
|
||||
</pre>
|
27
contrib/docs/commands/get.md
Normal file
27
contrib/docs/commands/get.md
Normal file
@ -0,0 +1,27 @@
|
||||
### get
|
||||
Downloads a remote file/folder or a public link
|
||||
|
||||
Usage: `get [-m] [-q] [--ignore-quota-warn] [--use-pcre] [--password=PASSWORD] exportedlink|remotepath [localpath]`
|
||||
<pre>
|
||||
In case it is a file, the file will be downloaded at the specified folder
|
||||
(or at the current folder if none specified).
|
||||
If the localpath (destination) already exists and is the same (same contents)
|
||||
nothing will be done. If differs, it will create a new file appending " (NUM)"
|
||||
|
||||
For folders, the entire contents (and the root folder itself) will be
|
||||
by default downloaded into the destination folder
|
||||
|
||||
Exported links: Exported links are usually formed as publiclink#key.
|
||||
Alternativelly you can provide a password-protected link and
|
||||
provide the password with --password. Please, avoid using passwords containing " or '
|
||||
|
||||
|
||||
Options:
|
||||
-q queue download: execute in the background. Don't wait for it to end
|
||||
-m if the folder already exists, the contents will be merged with the
|
||||
downloaded one (preserving the existing files)
|
||||
--ignore-quota-warn ignore quota surpassing warning.
|
||||
The download will be attempted anyway.
|
||||
--password=PASSWORD Password to decrypt the password-protected link. Please, avoid using passwords containing " or '
|
||||
--use-pcre use PCRE expressions
|
||||
</pre>
|
16
contrib/docs/commands/graphics.md
Normal file
16
contrib/docs/commands/graphics.md
Normal file
@ -0,0 +1,16 @@
|
||||
### graphics
|
||||
Shows if special features related to images and videos are enabled.
|
||||
|
||||
Usage: `graphics [on|off]`
|
||||
<pre>
|
||||
Use "graphics on/off" to enable/disable it.
|
||||
|
||||
Disabling these features will avoid the upload of previews and thumbnails
|
||||
for images and videos.
|
||||
|
||||
It's only recommended to disable these features before uploading files
|
||||
with image or video extensions that are not really images or videos,
|
||||
or that are encrypted in the local drive so they can't be analyzed anyway.
|
||||
|
||||
Notice that this setting will be saved for the next time you open MEGAcmd
|
||||
</pre>
|
12
contrib/docs/commands/help.md
Normal file
12
contrib/docs/commands/help.md
Normal file
@ -0,0 +1,12 @@
|
||||
### help
|
||||
Prints list of commands
|
||||
|
||||
Usage: `help [-f|-ff|--non-interactive|--upgrade|--paths]`
|
||||
<pre>
|
||||
Options:
|
||||
-f Include a brief description of the commands
|
||||
-ff Get a complete description of all commands
|
||||
--non-interactive Display information on how to use MEGAcmd with scripts
|
||||
--upgrade Display information on PRO plans
|
||||
--paths Show caveats of local and remote paths
|
||||
</pre>
|
10
contrib/docs/commands/https.md
Normal file
10
contrib/docs/commands/https.md
Normal file
@ -0,0 +1,10 @@
|
||||
### https
|
||||
Shows if HTTPS is used for transfers. Use "https on" to enable it.
|
||||
|
||||
Usage: `https [on|off]`
|
||||
<pre>
|
||||
HTTPS is not necesary since all data is stored and transfered encrypted.
|
||||
Enabling it will increase CPU usage and add network overhead.
|
||||
|
||||
Notice that this setting will be saved for the next time you open MEGAcmd
|
||||
</pre>
|
10
contrib/docs/commands/import.md
Normal file
10
contrib/docs/commands/import.md
Normal file
@ -0,0 +1,10 @@
|
||||
### import
|
||||
Imports the contents of a remote link into user's cloud
|
||||
|
||||
Usage: `import exportedlink [--password=PASSWORD] [remotepath]`
|
||||
<pre>
|
||||
If no remote path is provided, the current local folder will be used
|
||||
Exported links: Exported links are usually formed as publiclink#key.
|
||||
Alternativelly you can provide a password-protected link and
|
||||
provide the password with --password. Please, avoid using passwords containing " or '
|
||||
</pre>
|
14
contrib/docs/commands/invite.md
Normal file
14
contrib/docs/commands/invite.md
Normal file
@ -0,0 +1,14 @@
|
||||
### invite
|
||||
Invites a contact / deletes an invitation
|
||||
|
||||
Usage: `invite [-d|-r] dstemail [--message="MESSAGE"]`
|
||||
<pre>
|
||||
Options:
|
||||
-d Deletes invitation
|
||||
-r Sends the invitation again
|
||||
--message="MESSAGE" Sends inviting message
|
||||
|
||||
Use "showpcr" to browse invitations
|
||||
Use "ipc" to manage invitations received
|
||||
Use "users" to see contacts
|
||||
</pre>
|
14
contrib/docs/commands/ipc.md
Normal file
14
contrib/docs/commands/ipc.md
Normal file
@ -0,0 +1,14 @@
|
||||
### ipc
|
||||
Manages contact incoming invitations.
|
||||
|
||||
Usage: `ipc email|handle -a|-d|-i`
|
||||
<pre>
|
||||
Options:
|
||||
-a Accepts invitation
|
||||
-d Rejects invitation
|
||||
-i Ignores invitation [WARNING: do not use unless you know what you are doing]
|
||||
|
||||
Use "mega-invite" to send/remove invitations to other users
|
||||
Use "mega-showpcr" to browse incoming/outgoing invitations
|
||||
Use "mega-users" to see contacts
|
||||
</pre>
|
10
contrib/docs/commands/killsession.md
Normal file
10
contrib/docs/commands/killsession.md
Normal file
@ -0,0 +1,10 @@
|
||||
### killsession
|
||||
Kills a session of current user.
|
||||
|
||||
Usage: `killsession [-a | sessionid1 sessionid2 ... ]`
|
||||
<pre>
|
||||
Options:
|
||||
-a kills all sessions except the current one
|
||||
|
||||
To see all sessions use "whoami -l"
|
||||
</pre>
|
10
contrib/docs/commands/lcd.md
Normal file
10
contrib/docs/commands/lcd.md
Normal file
@ -0,0 +1,10 @@
|
||||
### lcd
|
||||
Changes the current local folder for the interactive console
|
||||
|
||||
Usage: `lcd [localpath]`
|
||||
<pre>
|
||||
It will be used for uploads and downloads
|
||||
|
||||
If not using interactive console, the current local folder will be
|
||||
that of the shell executing mega comands
|
||||
</pre>
|
15
contrib/docs/commands/log.md
Normal file
15
contrib/docs/commands/log.md
Normal file
@ -0,0 +1,15 @@
|
||||
### log
|
||||
Prints/Modifies the current logs level
|
||||
|
||||
Usage: `log [-sc] level`
|
||||
<pre>
|
||||
Options:
|
||||
-c CMD log level (higher level messages).
|
||||
Messages captured by MEGAcmd server.
|
||||
-s SDK log level (lower level messages).
|
||||
Messages captured by the engine and libs
|
||||
|
||||
Regardless of the log level of the
|
||||
interactive shell, you can increase the amount of information given
|
||||
by any command by passing "-v" ("-vv", "-vvv", ...)
|
||||
</pre>
|
18
contrib/docs/commands/login.md
Normal file
18
contrib/docs/commands/login.md
Normal file
@ -0,0 +1,18 @@
|
||||
### login
|
||||
Logs into a MEGA account or folder link. You can only log into one entity at a time.
|
||||
|
||||
Usage: `login [--auth-code=XXXX] email password | exportedfolderurl#key [--auth-key=XXXX] | passwordprotectedlink [--password=PASSWORD] | session`
|
||||
<pre>
|
||||
Logging into a MEGA account:
|
||||
You can log into a MEGA account by providing either a session ID or a username and password. A session ID simply identifies a session that you have previously logged in with using a username and password; logging in with a session ID simply resumes that session. If this is your first time logging in, you will need to do so with a username and password.
|
||||
Options:
|
||||
--auth-code=XXXXXX: If you're logging in using a username and password, and this account has multifactor authentication (MFA) enabled, then this option allows you to pass the MFA token in directly rather than being prompted for it later on. For more information on this topic, please visit https://mega.nz/blog_48.
|
||||
|
||||
Logging into a MEGA folder link (an exported/public folder):
|
||||
MEGA folder links have the form URL#KEY. To log into one, simply execute the login command with the link.
|
||||
Options:
|
||||
--password=PASSWORD: If the link is a password protected link, then this option can be used to pass in the password for that link.
|
||||
--auth-key=AUTHKEY: If the link is a writable folder link, then this option allows you to log in with write privileges. Without this option, you will log into the link with read access only.
|
||||
|
||||
For more information about MEGA folder links, see "mega-export --help".
|
||||
</pre>
|
8
contrib/docs/commands/logout.md
Normal file
8
contrib/docs/commands/logout.md
Normal file
@ -0,0 +1,8 @@
|
||||
### logout
|
||||
Logs out
|
||||
|
||||
Usage: `logout [--keep-session]`
|
||||
<pre>
|
||||
Options:
|
||||
--keep-session Keeps the current session.
|
||||
</pre>
|
10
contrib/docs/commands/lpwd.md
Normal file
10
contrib/docs/commands/lpwd.md
Normal file
@ -0,0 +1,10 @@
|
||||
### lpwd
|
||||
Prints the current local folder for the interactive console
|
||||
|
||||
Usage: `lpwd`
|
||||
<pre>
|
||||
It will be used for uploads and downloads
|
||||
|
||||
If not using interactive console, the current local folder will be
|
||||
that of the shell executing mega comands
|
||||
</pre>
|
42
contrib/docs/commands/ls.md
Normal file
42
contrib/docs/commands/ls.md
Normal file
@ -0,0 +1,42 @@
|
||||
### ls
|
||||
Lists files in a remote path
|
||||
|
||||
Usage: `ls [-halRr] [--show-handles] [--tree] [--versions] [remotepath] [--use-pcre] [--show-creation-time] [--time-format=FORMAT]`
|
||||
<pre>
|
||||
remotepath can be a pattern (Perl Compatible Regular Expressions with "--use-pcre"
|
||||
or wildcarded expresions with ? or * like f*00?.txt)
|
||||
Also, constructions like /PATTERN1/PATTERN2/PATTERN3 are allowed
|
||||
|
||||
Options:
|
||||
-R|-r List folders recursively
|
||||
--tree Prints tree-like exit (implies -r)
|
||||
--show-handles Prints files/folders handles (H:XXXXXXXX). You can address a file/folder by its handle
|
||||
-l Print summary (--tree has no effect)
|
||||
SUMMARY contents:
|
||||
FLAGS: Indicate type/status of an element:
|
||||
xxxx
|
||||
|||+---- Sharing status: (s)hared, (i)n share or not shared(-)
|
||||
||+----- if exported, whether it is (p)ermanent or (t)temporal
|
||||
|+------ e/- wheter node is (e)xported
|
||||
+-------- Type(d=folder,-=file,r=root,i=inbox,b=rubbish,x=unsupported)
|
||||
VERS: Number of versions in a file
|
||||
SIZE: Size of the file in bytes:
|
||||
DATE: Modification date for files and creation date for folders (in UTC time):
|
||||
NAME: name of the node
|
||||
-h Show human readable sizes in summary
|
||||
-a Include extra information
|
||||
If this flag is repeated (e.g: -aa) more info will appear
|
||||
(public links, expiration dates, ...)
|
||||
--versions show historical versions
|
||||
You can delete all versions of a file with "deleteversions"
|
||||
--show-creation-time show creation time instead of modification time for files
|
||||
--time-format=FORMAT show time in available formats. Examples:
|
||||
RFC2822: Example: Fri, 06 Apr 2018 13:05:37 +0200
|
||||
ISO6081: Example: 2018-04-06
|
||||
ISO6081_WITH_TIME: Example: 2018-04-06T13:05:37
|
||||
SHORT: Example: 06Apr2018 13:05:37
|
||||
SHORT_UTC: Example: 06Apr2018 13:05:37
|
||||
CUSTOM. e.g: --time-format="%Y %b": Example: 2018 Apr
|
||||
You can use any strftime compliant format: http://www.cplusplus.com/reference/ctime/strftime/
|
||||
--use-pcre use PCRE expressions
|
||||
</pre>
|
13
contrib/docs/commands/masterkey.md
Normal file
13
contrib/docs/commands/masterkey.md
Normal file
@ -0,0 +1,13 @@
|
||||
### masterkey
|
||||
Shows your master key.
|
||||
|
||||
Usage: `masterkey pathtosave`
|
||||
<pre>
|
||||
Your data is only readable through a chain of decryption operations that begins
|
||||
with your master encryption key (Recovery Key), which MEGA stores encrypted with your password.
|
||||
This means that if you lose your password, your Recovery Key can no longer be decrypted,
|
||||
and you can no longer decrypt your data.
|
||||
Exporting the Recovery Key and keeping it in a secure location
|
||||
enables you to set a new password without data loss.
|
||||
Always keep physical control of your master key (e.g. on a client device, external storage, or print)
|
||||
</pre>
|
8
contrib/docs/commands/mediainfo.md
Normal file
8
contrib/docs/commands/mediainfo.md
Normal file
@ -0,0 +1,8 @@
|
||||
### mediainfo
|
||||
Prints media info of remote files
|
||||
|
||||
Usage: `info remotepath1 remotepath2 ...`
|
||||
<pre>
|
||||
Options:
|
||||
--path-display-size=N Use a fixed size of N characters for paths
|
||||
</pre>
|
8
contrib/docs/commands/mkdir.md
Normal file
8
contrib/docs/commands/mkdir.md
Normal file
@ -0,0 +1,8 @@
|
||||
### mkdir
|
||||
Creates a directory or a directories hierarchy
|
||||
|
||||
Usage: `mkdir [-p] remotepath`
|
||||
<pre>
|
||||
Options:
|
||||
-p Allow recursive
|
||||
</pre>
|
8
contrib/docs/commands/mount.md
Normal file
8
contrib/docs/commands/mount.md
Normal file
@ -0,0 +1,8 @@
|
||||
### mount
|
||||
Lists all the root nodes
|
||||
|
||||
Usage: `mount`
|
||||
<pre>
|
||||
This includes the root node in your cloud drive, Inbox, Rubbish Bin
|
||||
and all the in-shares (nodes shares to you from other users)
|
||||
</pre>
|
10
contrib/docs/commands/mv.md
Normal file
10
contrib/docs/commands/mv.md
Normal file
@ -0,0 +1,10 @@
|
||||
### mv
|
||||
Moves file(s)/folder(s) into a new location (all remotes)
|
||||
|
||||
Usage: `mv srcremotepath [--use-pcre] [srcremotepath2 srcremotepath3 ..] dstremotepath`
|
||||
<pre>
|
||||
If the location exists and is a folder, the source will be moved there
|
||||
If the location doesn't exist, the source will be renamed to the destination name given
|
||||
Options:
|
||||
--use-pcre use PCRE expressions
|
||||
</pre>
|
14
contrib/docs/commands/passwd.md
Normal file
14
contrib/docs/commands/passwd.md
Normal file
@ -0,0 +1,14 @@
|
||||
### passwd
|
||||
Modifies user password
|
||||
|
||||
Usage: `passwd [-f] [--auth-code=XXXX] newpassword`
|
||||
<pre>
|
||||
Notice that modifying the password will close all your active sessions
|
||||
in all your devices (except for the current one)
|
||||
|
||||
Please, avoid using passwords containing " or '
|
||||
|
||||
Options:
|
||||
-f Force (no asking)
|
||||
--auth-code=XXXX Two-factor Authentication code. More info: https://mega.nz/blog_48
|
||||
</pre>
|
18
contrib/docs/commands/permissions.md
Normal file
18
contrib/docs/commands/permissions.md
Normal file
@ -0,0 +1,18 @@
|
||||
### permissions
|
||||
Shows/Establish default permissions for files and folders created by MEGAcmd.
|
||||
|
||||
Usage: `permissions [(--files|--folders) [-s XXX]]`
|
||||
<pre>
|
||||
Permissions are unix-like permissions, with 3 numbers: one for owner, one for group and one for others
|
||||
Options:
|
||||
--files To show/set files default permissions.
|
||||
--folders To show/set folders default permissions.
|
||||
--s XXX To set new permissions for newly created files/folder.
|
||||
Notice that for files minimum permissions is 600,
|
||||
for folders minimum permissions is 700.
|
||||
Further restrictions to owner are not allowed (to avoid missfunctioning).
|
||||
Notice that permissions of already existing files/folders will not change.
|
||||
Notice that permissions of already existing files/folders will not change.
|
||||
|
||||
Note: permissions will be saved for the next time you execute MEGAcmd server. They will be removed if you logout. Permissions are not available on Windows.
|
||||
</pre>
|
10
contrib/docs/commands/preview.md
Normal file
10
contrib/docs/commands/preview.md
Normal file
@ -0,0 +1,10 @@
|
||||
### preview
|
||||
To download/upload the preview of a file.
|
||||
|
||||
Usage: `preview [-s] remotepath localpath`
|
||||
<pre>
|
||||
If no -s is inidicated, it will download the preview.
|
||||
|
||||
Options:
|
||||
-s Sets the preview to the specified file
|
||||
</pre>
|
14
contrib/docs/commands/proxy.md
Normal file
14
contrib/docs/commands/proxy.md
Normal file
@ -0,0 +1,14 @@
|
||||
### proxy
|
||||
Show or sets proxy configuration
|
||||
|
||||
Usage: `proxy [URL|--auto|--none] [--username=USERNAME --password=PASSWORD]`
|
||||
<pre>
|
||||
With no parameter given, this will print proxy configuration
|
||||
|
||||
Options:
|
||||
URL Proxy URL (e.g: https://127.0.0.1:8080)
|
||||
--none To disable using a proxy
|
||||
--auto To use the proxy configured in your system
|
||||
--username=USERNAME The username, for authenticated proxies
|
||||
--password=PASSWORD The password, for authenticated proxies. Please, avoid using passwords containing " or '
|
||||
</pre>
|
8
contrib/docs/commands/psa.md
Normal file
8
contrib/docs/commands/psa.md
Normal file
@ -0,0 +1,8 @@
|
||||
### psa
|
||||
Shows the next available Public Service Announcement (PSA)
|
||||
|
||||
Usage: `psa [--discard]`
|
||||
<pre>
|
||||
Options:
|
||||
--discard Discards last received PSA
|
||||
</pre>
|
16
contrib/docs/commands/put.md
Normal file
16
contrib/docs/commands/put.md
Normal file
@ -0,0 +1,16 @@
|
||||
### put
|
||||
Uploads files/folders to a remote folder
|
||||
|
||||
Usage: `put [-c] [-q] [--ignore-quota-warn] localfile [localfile2 localfile3 ...] [dstremotepath]`
|
||||
<pre>
|
||||
Options:
|
||||
-c Creates remote folder destination in case of not existing.
|
||||
-q queue upload: execute in the background. Don't wait for it to end
|
||||
--ignore-quota-warn ignore quota surpassing warning.
|
||||
The upload will be attempted anyway.
|
||||
|
||||
Notice that the dstremotepath can only be omitted when only one local path is provided.
|
||||
In such case, the current remote working dir will be the destination for the upload.
|
||||
Mind that using wildcards for local paths in non-interactive mode in a supportive console (e.g. bash),
|
||||
could result in multiple paths being passed to MEGAcmd.
|
||||
</pre>
|
4
contrib/docs/commands/pwd.md
Normal file
4
contrib/docs/commands/pwd.md
Normal file
@ -0,0 +1,4 @@
|
||||
### pwd
|
||||
Prints the current remote folder
|
||||
|
||||
Usage: `pwd`
|
8
contrib/docs/commands/quit.md
Normal file
8
contrib/docs/commands/quit.md
Normal file
@ -0,0 +1,8 @@
|
||||
### quit
|
||||
Quits MEGAcmd
|
||||
|
||||
Usage: `quit [--only-shell]`
|
||||
<pre>
|
||||
Notice that the session will still be active, and local caches available
|
||||
The session will be resumed when the service is restarted
|
||||
</pre>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user