Skip to content

Commit e75daea

Browse files
authored
arm64 builds
1 parent f8d94bd commit e75daea

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

.github/workflows/cmake.yml

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,15 @@ jobs:
1414
build:
1515
strategy:
1616
matrix:
17-
os: [windows-2022, ubuntu-24.04, macos-14]
17+
os: [windows-2022, ubuntu-24.04, macos-14, windows-11-arm, ubuntu-24.02-arm]
1818
platform: [32, 64]
1919
exclude:
2020
- os: macos-14
2121
platform: 32
22+
- os: windows-11-arm
23+
platform: 32
24+
- os: ubuntu-24.02-arm
25+
platform: 32
2226

2327
runs-on: ${{matrix.os}}
2428

@@ -34,6 +38,10 @@ jobs:
3438
if: ${{ matrix.os == 'ubuntu-24.04' && matrix.platform == 64 }}
3539
run: sudo apt-get install clang-18 lld-18 clang-tools-18 clang-format-18 libc++-18-dev ninja-build
3640

41+
- name: Customize Software (linux-arm64)
42+
if: ${{ matrix.os == 'ubuntu-24.04-arm' && matrix.platform == 64 }}
43+
run: sudo apt-get install clang-18 lld-18 clang-tools-18 clang-format-18 libc++-18-dev ninja-build
44+
3745
- name: Customize Software (macos64)
3846
if: ${{ matrix.os == 'macos-14' }}
3947
run: brew install llvm@18 ninja
@@ -51,6 +59,10 @@ jobs:
5159
if: ${{ matrix.os == 'windows-2022' && matrix.platform == 64 }}
5260
run: cmake -B ${{env.build_directory}} -G "Visual Studio 17 2022" -A x64 -DCMAKE_BUILD_TYPE=${{env.build_type}} -DRESURRECT_VERSION_BUILD=${{github.run_number}}
5361

62+
- name: CMake Configure (win-arm64)
63+
if: ${{ matrix.os == 'windows-11-arm' && matrix.platform == 64 }}
64+
run: cmake -B ${{env.build_directory}} -G "Visual Studio 17 2022" -A ARM64 -DCMAKE_BUILD_TYPE=${{env.build_type}} -DRESURRECT_VERSION_BUILD=${{github.run_number}}
65+
5466
- name: CMake Configure (linux32)
5567
if: ${{ matrix.os == 'ubuntu-24.04' && matrix.platform == 32 }}
5668
run: CXX=clang++-18 CXXFLAGS="-target i686-linux-gnu" cmake -B ${{env.build_directory}} -G "Ninja" -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON -DRESURRECT_CLANG_LINK_OPTIONS="-static" -DCMAKE_BUILD_TYPE=${{env.build_type}} -DRESURRECT_VERSION_BUILD=${{github.run_number}}
@@ -59,6 +71,10 @@ jobs:
5971
if: ${{ matrix.os == 'ubuntu-24.04' && matrix.platform == 64 }}
6072
run: CXX=clang++-18 cmake -B ${{env.build_directory}} -G "Ninja" -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON -DRESURRECT_CLANG_LINK_OPTIONS="-static" -DCMAKE_BUILD_TYPE=${{env.build_type}} -DRESURRECT_VERSION_BUILD=${{github.run_number}}
6173

74+
- name: CMake Configure (linux-arm64)
75+
if: ${{ matrix.os == 'ubuntu-24.04-arm' && matrix.platform == 64 }}
76+
run: CXX=clang++-18 cmake -B ${{env.build_directory}} -G "Ninja" -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON -DRESURRECT_CLANG_LINK_OPTIONS="-static" -DCMAKE_BUILD_TYPE=${{env.build_type}} -DRESURRECT_VERSION_BUILD=${{github.run_number}}
77+
6278
- name: CMake Configure (macos64)
6379
if: ${{ matrix.os == 'macos-14' }}
6480
run: CXX=$(brew --prefix llvm@18)/bin/clang++ cmake -B ${{env.build_directory}} -G "Ninja" -DRESURRECT_CLANG_USE_LIBCPP=ON -DRESURRECT_CLANG_LINK_OPTIONS="-L$(brew --prefix llvm@18)/lib/c++" -DCMAKE_BUILD_TYPE=${{env.build_type}} -DRESURRECT_VERSION_BUILD=${{github.run_number}}

CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@ set(CMAKE_CONFIGURATION_TYPES ${CMAKE_BUILD_TYPE} CACHE INTERNAL "Active configu
2424
# packaging
2525
set(CPACK_GENERATOR "ZIP")
2626
# add build number to a package file name if it was provided
27-
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
27+
if (CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64|arm64|ARM64)$")
28+
set(system_suffix__ "-arm64")
29+
elseif(CMAKE_SIZEOF_VOID_P EQUAL 8)
2830
set(system_suffix__ "64")
2931
else()
3032
set(system_suffix__ "32")

0 commit comments

Comments
 (0)