Skip to content

Commit 636fe5b

Browse files
committed
add github action for MacOS build
Fix compiling on clang (macos) [skip_fishtest]
1 parent 89ea622 commit 636fe5b

File tree

2 files changed

+40
-5
lines changed

2 files changed

+40
-5
lines changed

.github/workflows/rapfi.yml

+36-3
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ jobs:
6060
- { name: avxvnni, cmake_command: "-DUSE_AVX2=ON -DUSE_VNNI=ON" }
6161
- { name: avx512, cmake_command: "-DUSE_AVX2=ON -DUSE_AVX512=ON" }
6262
- { name: avx512vnni, cmake_command: "-DUSE_AVX2=ON -DUSE_AVX512=ON -DUSE_VNNI=ON" }
63-
6463
defaults:
6564
run:
6665
working-directory: Rapfi
@@ -71,7 +70,7 @@ jobs:
7170
uses: actions/checkout@v3
7271
with:
7372
fetch-depth: 0
74-
submodules: true
73+
submodules: ${{ matrix.arch.name == 'avx2' }}
7574

7675
- name: Download latest clang compiler on linux
7776
if: matrix.target.name == 'linux-clang'
@@ -97,7 +96,7 @@ jobs:
9796
run: |
9897
rm -rf build && mkdir build && cd build
9998
cmake .. -DCMAKE_BUILD_TYPE=Release ${{ matrix.target.cmake_command }} ${{ matrix.arch.cmake_command }}
100-
cmake --build . -j2 && strip pbrain-rapfi*
99+
cmake --build . -j && strip pbrain-rapfi*
101100
mv -v pbrain-rapfi pbrain-rapfi-${{ matrix.target.name }}-${{ matrix.arch.name }}
102101
103102
- name: Check bench signature
@@ -115,6 +114,38 @@ jobs:
115114
name: Rapfi-${{ matrix.target.name }}-${{ matrix.arch.name }}
116115
path: Rapfi/build/pbrain-rapfi*
117116

117+
Rapfi-MacOS:
118+
name: MacOS-apple-silicon
119+
runs-on: macos-latest
120+
env:
121+
CC: clang
122+
CXX: clang++
123+
defaults:
124+
run:
125+
working-directory: Rapfi
126+
shell: bash
127+
128+
steps:
129+
- name: Checkout
130+
uses: actions/checkout@v3
131+
with:
132+
fetch-depth: 0
133+
submodules: false
134+
135+
- name: Build
136+
run: |
137+
mkdir build && cd build
138+
cmake .. -DCMAKE_BUILD_TYPE=Release -DUSE_AVX2=OFF -DUSE_SSE=OFF -DUSE_NEON=ON -DUSE_NEON_DOTPROD=ON
139+
cmake --build . -j && strip pbrain-rapfi
140+
mv -v pbrain-rapfi pbrain-rapfi-macos-apple-silicon
141+
142+
- name: Upload
143+
uses: actions/upload-artifact@v4
144+
with:
145+
name: Rapfi-MacOS-apple-silicon
146+
path: Rapfi/build/pbrain-rapfi-macos-apple-silicon
147+
148+
118149
Fishtest:
119150
name: linux-avx2
120151
runs-on: ubuntu-20.04
@@ -128,6 +159,8 @@ jobs:
128159
steps:
129160
- name: Checkout
130161
uses: actions/checkout@v3
162+
with:
163+
fetch-depth: 0
131164

132165
- name: Build
133166
run: |

Rapfi/CMakeLists.txt

+4-2
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ set(CORE_SOURCES
7474
search/ab/search.cpp
7575
search/mcts/node.cpp
7676
search/mcts/search.cpp
77-
77+
7878
config.cpp
7979
internalConfig.cpp
8080
main.cpp
@@ -378,7 +378,7 @@ if(MSVC)
378378
if(USE_ASAN)
379379
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /fsanitize=address")
380380
endif()
381-
381+
382382
if(CMAKE_BUILD_TYPE STREQUAL RelWithDebInfo)
383383
set_target_properties(rapfi PROPERTIES LINK_FLAGS "/PROFILE")
384384
endif()
@@ -430,6 +430,8 @@ elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "C
430430
elseif(NOT EMSCRIPTEN)
431431
if(NO_MULTI_THREADING AND NO_COMMAND_MODULES)
432432
target_link_libraries(rapfi PRIVATE -static)
433+
elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_CXX_COMPILER_ID MATCHES "Clang|AppleClang")
434+
target_link_libraries(rapfi PRIVATE pthread)
433435
else()
434436
target_link_libraries(rapfi PRIVATE pthread atomic)
435437
endif()

0 commit comments

Comments
 (0)