Skip to content

Commit 496f3eb

Browse files
committed
Create binaries for sse2,avx,avx2 for windows
1 parent 50be690 commit 496f3eb

File tree

4 files changed

+39
-17
lines changed

4 files changed

+39
-17
lines changed

.github/workflows/x86-windows.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,10 @@ jobs:
2929
build:
3030
needs: skip_check
3131
if: needs.skip_check.outputs.should_skip != 'true'
32-
3332
runs-on: windows-2022
33+
strategy:
34+
matrix:
35+
architecture: ["sse2", "avx", "avx2" ]
3436

3537
steps:
3638
- uses: actions/checkout@v3
@@ -48,7 +50,7 @@ jobs:
4850
path: vcpkg
4951

5052
- name: Configure CMake
51-
run: cmake . -B ${{env.BUILD_DIR}} --preset windows-msvc -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_TOOLCHAIN_FILE=${{github.workspace}}/vcpkg/scripts/buildsystems/vcpkg.cmake
53+
run: cmake . -B ${{env.BUILD_DIR}} --preset windows-msvc-${{matrix.architecture}} -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_TOOLCHAIN_FILE=${{github.workspace}}/vcpkg/scripts/buildsystems/vcpkg.cmake
5254

5355
- name: Build
5456
run: cmake --build ${{env.BUILD_DIR}} --config ${{env.BUILD_TYPE}}
@@ -65,5 +67,5 @@ jobs:
6567
- name: Upload files
6668
uses: actions/upload-artifact@v3
6769
with:
68-
name: dab_radio_windows_x64
70+
name: dab_radio_windows_x64_${{matrix.architecture}}
6971
path: ${{github.workspace}}/${{env.PACKAGE_DIR}}

.gitignore

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ imgui.ini
88
*.ini
99
*.log
1010
logs.txt
11-
dab_radio_windows_x64/
12-
dab_radio_windows_x64.zip
11+
dab_radio_windows_x64*/
12+
dab_radio_windows_x64*.zip
1313
.cache/
1414
CMakeUserPresets.json

CMakePresets.json

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,33 @@
1212
"cacheVariables": {
1313
"CMAKE_C_COMPILER": "cl",
1414
"CMAKE_CXX_COMPILER": "cl",
15-
"CMAKE_CXX_FLAGS_INIT": "/MP /fp:fast /arch:AVX2 /D_CRT_SECURE_NO_WARNINGS /D_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING",
16-
"CMAKE_C_FLAGS_INIT": "/MP /fp:fast /arch:AVX2 /D_CRT_SECURE_NO_WARNINGS /D_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING"
15+
"CMAKE_CXX_FLAGS_INIT": "/MP /fp:fast /D_CRT_SECURE_NO_WARNINGS /D_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING",
16+
"CMAKE_C_FLAGS_INIT": "/MP /fp:fast /D_CRT_SECURE_NO_WARNINGS /D_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING"
1717
}
1818
},
1919
{
20-
"name": "windows-msvc-warnings",
20+
"name": "windows-msvc-sse2",
21+
"inherits": ["windows-msvc"]
22+
},
23+
{
24+
"name": "windows-msvc-avx",
2125
"inherits": ["windows-msvc"],
26+
"cacheVariables": {
27+
"CMAKE_CXX_FLAGS_INIT": "/arch:AVX /MP /fp:fast /D_CRT_SECURE_NO_WARNINGS /D_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING",
28+
"CMAKE_C_FLAGS_INIT": "/arch:AVX /MP /fp:fast /D_CRT_SECURE_NO_WARNINGS /D_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING"
29+
}
30+
},
31+
{
32+
"name": "windows-msvc-avx2",
33+
"inherits": ["windows-msvc"],
34+
"cacheVariables": {
35+
"CMAKE_CXX_FLAGS_INIT": "/arch:AVX2 /MP /fp:fast /D_CRT_SECURE_NO_WARNINGS /D_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING",
36+
"CMAKE_C_FLAGS_INIT": "/arch:AVX2 /MP /fp:fast /D_CRT_SECURE_NO_WARNINGS /D_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING"
37+
}
38+
},
39+
{
40+
"name": "windows-msvc-warnings",
41+
"inherits": ["windows-msvc-avx2"],
2242
"cacheVariables": {
2343
"PROJECT_TARGET_PRIVATE_COMPILER_FLAGS": "/W3 /WX"
2444
}
Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
#!/bin/bash
2-
output_dir="dab_radio_windows_x64"
3-
build_dir="build-windows/examples"
2+
PACKAGE_DIR="${PACKAGE_DIR:-dab_radio_windows_x64}"
3+
BUILD_DIR="${BUILD_DIR:-build}"
44

55
# clean directory
6-
rm -rf ${output_dir}
7-
mkdir -p ${output_dir}
6+
rm -rf ${PACKAGE_DIR}
7+
mkdir -p ${PACKAGE_DIR}
88

99
# copy binaries
10-
cp ${build_dir}/*.exe ${output_dir}/
11-
cp ${build_dir}/*.dll ${output_dir}/
10+
cp ${BUILD_DIR}/examples/*.exe ${PACKAGE_DIR}/
11+
cp ${BUILD_DIR}/examples/*.dll ${PACKAGE_DIR}/
1212

1313
# copy resources
14-
cp -rf res/ ${output_dir}/
14+
cp -rf res/ ${PACKAGE_DIR}/
1515

1616
# copy imgui workspace files
17-
cp *.ini ${output_dir}/
17+
cp *.ini ${PACKAGE_DIR}/
1818

1919
# copy user docs
20-
cp README.md ${output_dir}/
20+
cp README.md ${PACKAGE_DIR}/

0 commit comments

Comments
 (0)