11version : 2.1
22#
3- # Copyright (c) 2023 Robert Di Pardo <dipardo.r@gmail.com>
3+ # Copyright (c) 2023,2024 Robert Di Pardo <dipardo.r@gmail.com>
44#
55# This Source Code Form is subject to the terms of the Mozilla Public
66# License, v. 2.0. If a copy of the MPL was not distributed with this file,
77# You can obtain one at https://mozilla.org/MPL/2.0/.
88#
99orbs :
10- lazarus : rdipardo/lazarus@2
1110 win : circleci/windows@5
1211
1312references :
1413 executor : &executor
1514 executor :
1615 name : win/default
17- shell : bash.exe
1816 development : &development
1917 filters :
2018 tags :
@@ -35,23 +33,24 @@ jobs:
3533 build :
3634 << : *executor
3735 environment :
38- UPX_VER : 4.2.2
36+ VisualStudioVersion : ' 17.0 '
3937 steps :
4038 - checkout
4139 - run :
42- name : Clone submodules
40+ name : Install CMake
4341 command : |
44- git reset --hard
45- git submodule sync --recursive
46- git submodule update -f --init --remote --checkout --recursive
42+ choco install python -y
43+ refreshenv
44+ python -m pip install cmake~=3.30.0
45+ cmake --version
4746 - run :
48- name : Install UPX
49- command : |
50- curl -sLO "https://github.com/upx/upx/releases/download/v$UPX_VER/upx-$UPX_VER-win64.zip "
51- 7z e upx-$UPX_VER-win64.zip -o"$WINDIR"
52- upx.exe --version
53- - lazarus/install :
54- win32 : true
47+ name : Install the v141_xp VC toolset
48+ command : |
49+ cd "C:\Program Files (x86)\Microsoft Visual Studio\Installer "
50+ .\vs_installer.exe modify --installPath "C:\Program Files\Microsoft Visual Studio\2022\Community" `
51+ --add Microsoft.VisualStudio.Component.VC.v141.x86.x64 `
52+ --add Microsoft.VisualStudio.Component.WinXP `
53+ --downloadThenInstall --quiet
5554 - run :
5655 name : Build and Pack
5756 command : make_release.cmd
@@ -62,14 +61,24 @@ jobs:
6261 pattern : ' v.*'
6362 value : << pipeline.git.tag >>
6463 steps :
64+ - run :
65+ name : Prepare Artifacts
66+ command : |
67+ 7z a -tzip << pipeline.parameters.plugin-name >>_x64.zip ./dat/*.ini ./out/x64/Release/<< pipeline.parameters.plugin-name >>.dll
68+ 7z a -tzip << pipeline.parameters.plugin-name >>_win32.zip ./dat/*.ini ./out/Win32/Release/<< pipeline.parameters.plugin-name >>_unicode.dll
69+ 7z a -tzip << pipeline.parameters.plugin-name >>_arm64.zip ./dat/*.ini ./out/ARM64/Release/<< pipeline.parameters.plugin-name >>.dll
6570 - store_artifacts :
6671 name : Upload << pipeline.parameters.plugin-name >>_unicode.dll (x86)
67- path : out/i386-win32/Release/ << pipeline.parameters.plugin-name >>_unicode.dll
68- destination : << pipeline.parameters.plugin-name >>_unicode.dll
72+ path : << pipeline.parameters.plugin-name >>_win32.zip
73+ destination : << pipeline.parameters.plugin-name >>_win32.zip
6974 - store_artifacts :
7075 name : Upload << pipeline.parameters.plugin-name >>s.dll (x64)
71- path : out/x86_64-win64/Release/<< pipeline.parameters.plugin-name >>.dll
72- destination : << pipeline.parameters.plugin-name >>.dll
76+ path : << pipeline.parameters.plugin-name >>_x64.zip
77+ destination : << pipeline.parameters.plugin-name >>_x64.zip
78+ - store_artifacts :
79+ name : Upload << pipeline.parameters.plugin-name >>s.dll (ARM64)
80+ path : << pipeline.parameters.plugin-name >>_arm64.zip
81+ destination : << pipeline.parameters.plugin-name >>_arm64.zip
7382 - persist_to_workspace :
7483 root : .
7584 paths : out
8897 name : Upload << pipeline.parameters.plugin-name >>_<< pipeline.git.tag >>_x64.zip
8998 path : out/<< pipeline.parameters.plugin-name >>_<< pipeline.git.tag >>_x64.zip
9099 destination : << pipeline.parameters.plugin-name >>_<< pipeline.git.tag >>_x64.zip
100+ - store_artifacts :
101+ name : Upload << pipeline.parameters.plugin-name >>_<< pipeline.git.tag >>_arm64.zip
102+ path : out/<< pipeline.parameters.plugin-name >>_<< pipeline.git.tag >>_arm64.zip
103+ destination : << pipeline.parameters.plugin-name >>_<< pipeline.git.tag >>_arm64.zip
91104 - run :
92105 name : Create Release
93106 command : |-
@@ -97,10 +110,11 @@ jobs:
97110 environment :
98111 SLUGX86 : << pipeline.parameters.plugin-name >>_<< pipeline.git.tag >>.zip
99112 SLUGX64 : << pipeline.parameters.plugin-name >>_<< pipeline.git.tag >>_x64.zip
113+ SLUGARM64 : << pipeline.parameters.plugin-name >>_<< pipeline.git.tag >>_arm64.zip
100114 BIN_DIR : out
101115
102116workflows :
103- lazarus-build :
117+ cmake :
104118 jobs :
105119 - build :
106120 << : *development
0 commit comments