@@ -72,33 +72,51 @@ sudo port install "${dependencies[@]}"
72
72
```
73
73
74
74
#### Windows
75
- First you need to install [ MSYS2] ( https://www.msys2.org ) , then startup "MSYS2 UCRT64" and execute the following
76
- commands.
75
+
76
+ @warning {Cross-compilation is not supported on Windows. You must build on the target architecture.}
77
+
78
+ First you need to install [ MSYS2] ( https://www.msys2.org ) .
79
+
80
+ For AMD64 startup "MSYS2 UCRT64", or for ARM64 startup "MSYS2 CLANGARM64", then execute the following commands.
77
81
78
82
##### Update all packages
79
83
``` bash
80
84
pacman -Syu
81
85
```
82
86
87
+ ##### Set toolchain variable
88
+ For UCRT64:
89
+ ``` bash
90
+ export TOOLCHAIN=" ucrt-x86_64"
91
+ ```
92
+
93
+ For CLANGARM64:
94
+ ``` bash
95
+ export TOOLCHAIN=" clang-aarch64"
96
+ ```
97
+
83
98
##### Install dependencies
84
99
``` bash
85
100
dependencies=(
86
101
" git"
87
- " mingw-w64-ucrt-x86_64-boost" # Optional
88
- " mingw-w64-ucrt-x86_64-cmake"
89
- " mingw-w64-ucrt-x86_64-cppwinrt"
90
- " mingw-w64-ucrt-x86_64-curl-winssl"
91
- " mingw-w64-ucrt-x86_64-doxygen" # Optional, for docs... better to install official Doxygen
92
- " mingw-w64-ucrt-x86_64-graphviz" # Optional, for docs
93
- " mingw-w64-ucrt-x86_64-MinHook"
94
- " mingw-w64-ucrt-x86_64-miniupnpc"
95
- " mingw-w64-ucrt-x86_64-nodejs"
96
- " mingw-w64-ucrt-x86_64-nsis"
97
- " mingw-w64-ucrt-x86_64-onevpl"
98
- " mingw-w64-ucrt-x86_64-openssl"
99
- " mingw-w64-ucrt-x86_64-opus"
100
- " mingw-w64-ucrt-x86_64-toolchain"
102
+ " mingw-w64-${TOOLCHAIN} -boost" # Optional
103
+ " mingw-w64-${TOOLCHAIN} -cmake"
104
+ " mingw-w64-${TOOLCHAIN} -cppwinrt"
105
+ " mingw-w64-${TOOLCHAIN} -curl-winssl"
106
+ " mingw-w64-${TOOLCHAIN} -graphviz" # Optional, for docs
107
+ " mingw-w64-${TOOLCHAIN} -miniupnpc"
108
+ " mingw-w64-${TOOLCHAIN} -nodejs"
109
+ " mingw-w64-${TOOLCHAIN} -onevpl"
110
+ " mingw-w64-${TOOLCHAIN} -openssl"
111
+ " mingw-w64-${TOOLCHAIN} -opus"
112
+ " mingw-w64-${TOOLCHAIN} -toolchain"
101
113
)
114
+ if [[ ${MSYSTEM} == " ucrt64" ]]; then
115
+ dependencies+=(
116
+ " mingw-w64-${TOOLCHAIN} -MinHook"
117
+ " mingw-w64-${TOOLCHAIN} -nsis" # TODO: how to create an arm64 installer?
118
+ )
119
+ fi
102
120
pacman -S " ${dependencies[@]} "
103
121
```
104
122
@@ -139,7 +157,7 @@ ninja -C build
139
157
}}
140
158
@tab {Windows | @tabs {
141
159
@tab {Installer | ```bash
142
- cpack -G NSIS --config ./build/CPackConfig.cmake
160
+ cpack -G NSIS --config ./build/CPackConfig.cmake # Not working on CLANGARM64
143
161
```}
144
162
@tab {Portable | ```bash
145
163
cpack -G ZIP --config ./build/CPackConfig.cmake
0 commit comments