Repository navigation
106 lines (96 loc) · 3.01 KB
/
Copy pathtest11.yml
File metadata and controls
106 lines (96 loc) · 3.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
name: Cross Compile Qt6 App (CMake + MXE)
on:
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout source
uses: actions/checkout@v3
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y curl tar cmake ninja-build pkg-config qt6-base-dev \
autoconf \
automake \
autopoint \
bash \
bison \
bzip2 \
flex \
g++ \
g++-multilib \
gettext \
git \
gperf \
intltool \
libc6-dev-i386 \
libclang-dev \
libgdk-pixbuf2.0-dev \
libltdl-dev \
libgl-dev \
libpcre2-dev \
libssl-dev \
libtool-bin \
libxml-parser-perl \
lzip \
make \
openssl \
p7zip-full \
patch \
perl \
python3 \
python3-mako \
python3-packaging \
python3-pkg-resources \
python3-setuptools \
python-is-python3 \
ruby \
sed \
sqlite3 \
unzip \
wget \
xz-utils
- name: Download MXE Qt6 release
run: |
curl -L -o mxe.tar.gz https://github.com/CSReviser/mxe-builder/releases/download/mxe-qt6-v1/mxe-qt6-x86_64.tar.gz
tar -xzf mxe.tar.gz
mkdir -p mxe
tar -xzf mxe.tar.gz -C mxe --strip-components=1
- name: Fix broken MXE symlinks
run: |
find mxe/usr/bin -type l | while read link; do
target=$(readlink "$link")
if [[ ! -e "$target" ]]; then
abs_target=$(basename "$target")
real_target=$(find mxe/usr -name "$abs_target" | head -n1)
if [[ -n "$real_target" && -f "$real_target" ]]; then
rm "$link"
cp "$real_target" "$link"
echo "Fixed $link -> $real_target"
fi
fi
done
- name: Debug MXE directory contents
run: |
ls -alh mxe/usr/bin/
- name: Configure and build (CMake)
env:
MXE_PATH: ${{ github.workspace }}/mxe
HOST_QT_PATH: /usr/lib/qt6
run: |
export PATH=$MXE_PATH/usr/bin:$PATH
export TOOLCHAIN_FILE=$MXE_PATH/usr/x86_64-w64-mingw32.static/share/cmake/mxe-conf.cmake
mkdir build
cd build
cmake .. \
-DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_FILE} \
-DQT_HOST_PATH=$HOST_QT_PATH \
-DCMAKE_PREFIX_PATH="$MXE_PATH/usr/x86_64-w64-mingw32.static/qt6" \
-DCMAKE_BUILD_TYPE=Release
cmake --build . --parallel $(nproc)
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: Qt6App-windows
path: build/*.exe