Skip to content

Commit 5bbc736

Browse files
authored
ci: simplify cmake build commands (ggml-org#11548)
1 parent aa6fb13 commit 5bbc736

File tree

1 file changed

+30
-56
lines changed

1 file changed

+30
-56
lines changed

.github/workflows/build.yml

+30-56
Original file line numberDiff line numberDiff line change
@@ -59,16 +59,14 @@ jobs:
5959
id: cmake_build
6060
run: |
6161
sysctl -a
62-
mkdir build
63-
cd build
64-
cmake .. \
62+
cmake -B build \
6563
-DCMAKE_BUILD_RPATH="@loader_path" \
6664
-DLLAMA_FATAL_WARNINGS=ON \
6765
-DLLAMA_CURL=ON \
6866
-DGGML_METAL_USE_BF16=ON \
6967
-DGGML_METAL_EMBED_LIBRARY=ON \
7068
-DGGML_RPC=ON
71-
cmake --build . --config Release -j $(sysctl -n hw.logicalcpu)
69+
cmake --build build --config Release -j $(sysctl -n hw.logicalcpu)
7270
7371
- name: Test
7472
id: cmake_test
@@ -199,13 +197,11 @@ jobs:
199197
- name: Build
200198
id: cmake_build
201199
run: |
202-
mkdir build
203-
cd build
204-
cmake .. \
200+
cmake -B build \
205201
-DLLAMA_FATAL_WARNINGS=ON \
206202
-DLLAMA_CURL=ON \
207203
-DGGML_RPC=ON
208-
cmake --build . --config Release -j $(nproc)
204+
cmake --build build --config Release -j $(nproc)
209205
210206
- name: Test
211207
id: cmake_test
@@ -283,26 +279,22 @@ jobs:
283279
id: cmake_build
284280
if: ${{ matrix.sanitizer != 'THREAD' }}
285281
run: |
286-
mkdir build
287-
cd build
288-
cmake .. \
282+
cmake -B build \
289283
-DLLAMA_FATAL_WARNINGS=ON \
290284
-DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON \
291285
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
292-
cmake --build . --config ${{ matrix.build_type }} -j $(nproc)
286+
cmake --build build --config ${{ matrix.build_type }} -j $(nproc)
293287
294288
- name: Build (no OpenMP)
295289
id: cmake_build_no_openmp
296290
if: ${{ matrix.sanitizer == 'THREAD' }}
297291
run: |
298-
mkdir build
299-
cd build
300-
cmake .. \
292+
cmake -B build \
301293
-DLLAMA_FATAL_WARNINGS=ON \
302294
-DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON \
303295
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
304296
-DGGML_OPENMP=OFF
305-
cmake --build . --config ${{ matrix.build_type }} -j $(nproc)
297+
cmake --build build --config ${{ matrix.build_type }} -j $(nproc)
306298
307299
- name: Test
308300
id: cmake_test
@@ -335,11 +327,9 @@ jobs:
335327
- name: Build
336328
id: cmake_build
337329
run: |
338-
mkdir build
339-
cd build
340-
cmake .. \
330+
cmake -B build \
341331
-DGGML_RPC=ON
342-
cmake --build . --config Release -j $(nproc)
332+
cmake --build build --config Release -j $(nproc)
343333
344334
- name: Test
345335
id: cmake_test
@@ -372,11 +362,9 @@ jobs:
372362
- name: Build
373363
id: cmake_build
374364
run: |
375-
mkdir build
376-
cd build
377-
cmake .. \
365+
cmake -B build \
378366
-DGGML_VULKAN=ON
379-
cmake --build . --config Release -j $(nproc)
367+
cmake --build build --config Release -j $(nproc)
380368
381369
- name: Test
382370
id: cmake_test
@@ -493,13 +481,11 @@ jobs:
493481
id: cmake_build
494482
run: |
495483
source /opt/intel/oneapi/setvars.sh
496-
mkdir build
497-
cd build
498-
cmake .. \
484+
cmake -B build \
499485
-DGGML_SYCL=ON \
500486
-DCMAKE_C_COMPILER=icx \
501487
-DCMAKE_CXX_COMPILER=icpx
502-
cmake --build . --config Release -j $(nproc)
488+
cmake --build build --config Release -j $(nproc)
503489
504490
ubuntu-22-cmake-sycl-fp16:
505491
runs-on: ubuntu-22.04
@@ -543,14 +529,12 @@ jobs:
543529
id: cmake_build
544530
run: |
545531
source /opt/intel/oneapi/setvars.sh
546-
mkdir build
547-
cd build
548-
cmake .. \
532+
cmake -B build \
549533
-DGGML_SYCL=ON \
550534
-DCMAKE_C_COMPILER=icx \
551535
-DCMAKE_CXX_COMPILER=icpx \
552536
-DGGML_SYCL_F16=ON
553-
cmake --build . --config Release -j $(nproc)
537+
cmake --build build --config Release -j $(nproc)
554538
555539
macOS-latest-cmake-ios:
556540
runs-on: macos-latest
@@ -576,9 +560,7 @@ jobs:
576560
id: cmake_build
577561
run: |
578562
sysctl -a
579-
mkdir build
580-
cd build
581-
cmake -G Xcode .. \
563+
cmake -B build -G Xcode \
582564
-DGGML_METAL_USE_BF16=ON \
583565
-DGGML_METAL_EMBED_LIBRARY=ON \
584566
-DLLAMA_BUILD_EXAMPLES=OFF \
@@ -587,7 +569,7 @@ jobs:
587569
-DCMAKE_SYSTEM_NAME=iOS \
588570
-DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 \
589571
-DCMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM=ggml
590-
cmake --build . --config Release -j $(sysctl -n hw.logicalcpu) -- CODE_SIGNING_ALLOWED=NO
572+
cmake --build build --config Release -j $(sysctl -n hw.logicalcpu) -- CODE_SIGNING_ALLOWED=NO
591573
592574
macOS-latest-cmake-tvos:
593575
runs-on: macos-latest
@@ -613,9 +595,7 @@ jobs:
613595
id: cmake_build
614596
run: |
615597
sysctl -a
616-
mkdir build
617-
cd build
618-
cmake -G Xcode .. \
598+
cmake -B build -G Xcode \
619599
-DGGML_METAL_USE_BF16=ON \
620600
-DGGML_METAL_EMBED_LIBRARY=ON \
621601
-DLLAMA_BUILD_EXAMPLES=OFF \
@@ -624,7 +604,7 @@ jobs:
624604
-DCMAKE_SYSTEM_NAME=tvOS \
625605
-DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 \
626606
-DCMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM=ggml
627-
cmake --build . --config Release -j $(sysctl -n hw.logicalcpu) -- CODE_SIGNING_ALLOWED=NO
607+
cmake --build build --config Release -j $(sysctl -n hw.logicalcpu) -- CODE_SIGNING_ALLOWED=NO
628608
629609
macOS-latest-swift:
630610
runs-on: macos-latest
@@ -654,17 +634,15 @@ jobs:
654634
id: cmake_build
655635
run: |
656636
sysctl -a
657-
mkdir build
658-
cd build
659-
cmake -G Xcode .. \
637+
cmake -B build -G Xcode \
660638
-DGGML_METAL_USE_BF16=ON \
661639
-DGGML_METAL_EMBED_LIBRARY=ON \
662640
-DLLAMA_BUILD_EXAMPLES=OFF \
663641
-DLLAMA_BUILD_TESTS=OFF \
664642
-DLLAMA_BUILD_SERVER=OFF \
665643
-DCMAKE_OSX_ARCHITECTURES="arm64;x86_64"
666-
cmake --build . --config Release -j $(sysctl -n hw.logicalcpu)
667-
sudo cmake --install . --config Release
644+
cmake --build build --config Release -j $(sysctl -n hw.logicalcpu)
645+
sudo cmake --install build --config Release
668646
669647
- name: xcodebuild for swift package
670648
id: xcodebuild
@@ -806,21 +784,19 @@ jobs:
806784
run: |
807785
git clone https://github.com/KhronosGroup/OpenCL-Headers
808786
cd OpenCL-Headers
809-
mkdir build && cd build
810-
cmake .. `
787+
cmake -B build `
811788
-DBUILD_TESTING=OFF `
812789
-DOPENCL_HEADERS_BUILD_TESTING=OFF `
813790
-DOPENCL_HEADERS_BUILD_CXX_TESTS=OFF `
814791
-DCMAKE_INSTALL_PREFIX="$env:RUNNER_TEMP/opencl-arm64-release"
815-
cmake --build . --target install
792+
cmake --build build --target install
816793
git clone https://github.com/KhronosGroup/OpenCL-ICD-Loader
817794
cd OpenCL-ICD-Loader
818-
mkdir build-arm64-release && cd build-arm64-release
819-
cmake .. `
795+
cmake -B build-arm64-release `
820796
-A arm64 `
821797
-DCMAKE_PREFIX_PATH="$env:RUNNER_TEMP/opencl-arm64-release" `
822798
-DCMAKE_INSTALL_PREFIX="$env:RUNNER_TEMP/opencl-arm64-release"
823-
cmake --build . --target install --config release
799+
cmake --build build-arm64-release --target install --config release
824800
825801
- name: Build
826802
id: cmake_build
@@ -1284,9 +1260,7 @@ jobs:
12841260
id: cmake_build
12851261
run: |
12861262
sysctl -a
1287-
mkdir build
1288-
cd build
1289-
cmake -G Xcode .. \
1263+
cmake -B build -G Xcode \
12901264
-DGGML_METAL_USE_BF16=ON \
12911265
-DGGML_METAL_EMBED_LIBRARY=ON \
12921266
-DLLAMA_BUILD_EXAMPLES=OFF \
@@ -1295,8 +1269,8 @@ jobs:
12951269
-DCMAKE_SYSTEM_NAME=iOS \
12961270
-DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 \
12971271
-DCMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM=ggml
1298-
cmake --build . --config Release -j $(sysctl -n hw.logicalcpu) -- CODE_SIGNING_ALLOWED=NO
1299-
sudo cmake --install . --config Release
1272+
cmake --build build --config Release -j $(sysctl -n hw.logicalcpu) -- CODE_SIGNING_ALLOWED=NO
1273+
sudo cmake --install build --config Release
13001274
13011275
- name: xcodebuild for swift package
13021276
id: xcodebuild

0 commit comments

Comments
 (0)