mirror of
				https://github.com/ggml-org/llama.cpp.git
				synced 2025-10-30 08:42:00 +00:00 
			
		
		
		
	ci: simplify cmake build commands (#11548)
This commit is contained in:
		
							
								
								
									
										86
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										86
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							| @@ -59,16 +59,14 @@ jobs: | |||||||
|         id: cmake_build |         id: cmake_build | ||||||
|         run: | |         run: | | ||||||
|           sysctl -a |           sysctl -a | ||||||
|           mkdir build |           cmake -B build \ | ||||||
|           cd build |  | ||||||
|           cmake .. \ |  | ||||||
|             -DCMAKE_BUILD_RPATH="@loader_path" \ |             -DCMAKE_BUILD_RPATH="@loader_path" \ | ||||||
|             -DLLAMA_FATAL_WARNINGS=ON \ |             -DLLAMA_FATAL_WARNINGS=ON \ | ||||||
|             -DLLAMA_CURL=ON \ |             -DLLAMA_CURL=ON \ | ||||||
|             -DGGML_METAL_USE_BF16=ON \ |             -DGGML_METAL_USE_BF16=ON \ | ||||||
|             -DGGML_METAL_EMBED_LIBRARY=ON \ |             -DGGML_METAL_EMBED_LIBRARY=ON \ | ||||||
|             -DGGML_RPC=ON |             -DGGML_RPC=ON | ||||||
|           cmake --build . --config Release -j $(sysctl -n hw.logicalcpu) |           cmake --build build --config Release -j $(sysctl -n hw.logicalcpu) | ||||||
|  |  | ||||||
|       - name: Test |       - name: Test | ||||||
|         id: cmake_test |         id: cmake_test | ||||||
| @@ -199,13 +197,11 @@ jobs: | |||||||
|       - name: Build |       - name: Build | ||||||
|         id: cmake_build |         id: cmake_build | ||||||
|         run: | |         run: | | ||||||
|           mkdir build |           cmake -B build \ | ||||||
|           cd build |  | ||||||
|           cmake .. \ |  | ||||||
|             -DLLAMA_FATAL_WARNINGS=ON \ |             -DLLAMA_FATAL_WARNINGS=ON \ | ||||||
|             -DLLAMA_CURL=ON \ |             -DLLAMA_CURL=ON \ | ||||||
|             -DGGML_RPC=ON |             -DGGML_RPC=ON | ||||||
|           cmake --build . --config Release -j $(nproc) |           cmake --build build --config Release -j $(nproc) | ||||||
|  |  | ||||||
|       - name: Test |       - name: Test | ||||||
|         id: cmake_test |         id: cmake_test | ||||||
| @@ -283,26 +279,22 @@ jobs: | |||||||
|         id: cmake_build |         id: cmake_build | ||||||
|         if: ${{ matrix.sanitizer != 'THREAD' }} |         if: ${{ matrix.sanitizer != 'THREAD' }} | ||||||
|         run: | |         run: | | ||||||
|           mkdir build |           cmake -B build \ | ||||||
|           cd build |  | ||||||
|           cmake .. \ |  | ||||||
|             -DLLAMA_FATAL_WARNINGS=ON \ |             -DLLAMA_FATAL_WARNINGS=ON \ | ||||||
|             -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON \ |             -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON \ | ||||||
|             -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} |             -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} | ||||||
|           cmake --build . --config ${{ matrix.build_type }} -j $(nproc) |           cmake --build build --config ${{ matrix.build_type }} -j $(nproc) | ||||||
|  |  | ||||||
|       - name: Build (no OpenMP) |       - name: Build (no OpenMP) | ||||||
|         id: cmake_build_no_openmp |         id: cmake_build_no_openmp | ||||||
|         if: ${{ matrix.sanitizer == 'THREAD' }} |         if: ${{ matrix.sanitizer == 'THREAD' }} | ||||||
|         run: | |         run: | | ||||||
|           mkdir build |           cmake -B build \ | ||||||
|           cd build |  | ||||||
|           cmake .. \ |  | ||||||
|             -DLLAMA_FATAL_WARNINGS=ON \ |             -DLLAMA_FATAL_WARNINGS=ON \ | ||||||
|             -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON \ |             -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON \ | ||||||
|             -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \ |             -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \ | ||||||
|             -DGGML_OPENMP=OFF |             -DGGML_OPENMP=OFF | ||||||
|           cmake --build . --config ${{ matrix.build_type }} -j $(nproc) |           cmake --build build --config ${{ matrix.build_type }} -j $(nproc) | ||||||
|  |  | ||||||
|       - name: Test |       - name: Test | ||||||
|         id: cmake_test |         id: cmake_test | ||||||
| @@ -335,11 +327,9 @@ jobs: | |||||||
|       - name: Build |       - name: Build | ||||||
|         id: cmake_build |         id: cmake_build | ||||||
|         run: | |         run: | | ||||||
|           mkdir build |           cmake -B build \ | ||||||
|           cd build |  | ||||||
|           cmake .. \ |  | ||||||
|             -DGGML_RPC=ON |             -DGGML_RPC=ON | ||||||
|           cmake --build . --config Release -j $(nproc) |           cmake --build build --config Release -j $(nproc) | ||||||
|  |  | ||||||
|       - name: Test |       - name: Test | ||||||
|         id: cmake_test |         id: cmake_test | ||||||
| @@ -372,11 +362,9 @@ jobs: | |||||||
|       - name: Build |       - name: Build | ||||||
|         id: cmake_build |         id: cmake_build | ||||||
|         run: | |         run: | | ||||||
|           mkdir build |           cmake -B build \ | ||||||
|           cd build |  | ||||||
|           cmake .. \ |  | ||||||
|             -DGGML_VULKAN=ON |             -DGGML_VULKAN=ON | ||||||
|           cmake --build . --config Release -j $(nproc) |           cmake --build build --config Release -j $(nproc) | ||||||
|  |  | ||||||
|       - name: Test |       - name: Test | ||||||
|         id: cmake_test |         id: cmake_test | ||||||
| @@ -493,13 +481,11 @@ jobs: | |||||||
|         id: cmake_build |         id: cmake_build | ||||||
|         run: | |         run: | | ||||||
|           source /opt/intel/oneapi/setvars.sh |           source /opt/intel/oneapi/setvars.sh | ||||||
|           mkdir build |           cmake -B build \ | ||||||
|           cd build |  | ||||||
|           cmake .. \ |  | ||||||
|             -DGGML_SYCL=ON \ |             -DGGML_SYCL=ON \ | ||||||
|             -DCMAKE_C_COMPILER=icx \ |             -DCMAKE_C_COMPILER=icx \ | ||||||
|             -DCMAKE_CXX_COMPILER=icpx |             -DCMAKE_CXX_COMPILER=icpx | ||||||
|           cmake --build . --config Release -j $(nproc) |           cmake --build build --config Release -j $(nproc) | ||||||
|  |  | ||||||
|   ubuntu-22-cmake-sycl-fp16: |   ubuntu-22-cmake-sycl-fp16: | ||||||
|     runs-on: ubuntu-22.04 |     runs-on: ubuntu-22.04 | ||||||
| @@ -543,14 +529,12 @@ jobs: | |||||||
|         id: cmake_build |         id: cmake_build | ||||||
|         run: | |         run: | | ||||||
|           source /opt/intel/oneapi/setvars.sh |           source /opt/intel/oneapi/setvars.sh | ||||||
|           mkdir build |           cmake -B build \ | ||||||
|           cd build |  | ||||||
|           cmake .. \ |  | ||||||
|             -DGGML_SYCL=ON \ |             -DGGML_SYCL=ON \ | ||||||
|             -DCMAKE_C_COMPILER=icx \ |             -DCMAKE_C_COMPILER=icx \ | ||||||
|             -DCMAKE_CXX_COMPILER=icpx \ |             -DCMAKE_CXX_COMPILER=icpx \ | ||||||
|             -DGGML_SYCL_F16=ON |             -DGGML_SYCL_F16=ON | ||||||
|           cmake --build . --config Release -j $(nproc) |           cmake --build build --config Release -j $(nproc) | ||||||
|  |  | ||||||
|   macOS-latest-cmake-ios: |   macOS-latest-cmake-ios: | ||||||
|     runs-on: macos-latest |     runs-on: macos-latest | ||||||
| @@ -576,9 +560,7 @@ jobs: | |||||||
|         id: cmake_build |         id: cmake_build | ||||||
|         run: | |         run: | | ||||||
|           sysctl -a |           sysctl -a | ||||||
|           mkdir build |           cmake -B build -G Xcode \ | ||||||
|           cd build |  | ||||||
|           cmake -G Xcode .. \ |  | ||||||
|             -DGGML_METAL_USE_BF16=ON \ |             -DGGML_METAL_USE_BF16=ON \ | ||||||
|             -DGGML_METAL_EMBED_LIBRARY=ON \ |             -DGGML_METAL_EMBED_LIBRARY=ON \ | ||||||
|             -DLLAMA_BUILD_EXAMPLES=OFF \ |             -DLLAMA_BUILD_EXAMPLES=OFF \ | ||||||
| @@ -587,7 +569,7 @@ jobs: | |||||||
|             -DCMAKE_SYSTEM_NAME=iOS \ |             -DCMAKE_SYSTEM_NAME=iOS \ | ||||||
|             -DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 \ |             -DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 \ | ||||||
|             -DCMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM=ggml |             -DCMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM=ggml | ||||||
|           cmake --build . --config Release -j $(sysctl -n hw.logicalcpu) -- CODE_SIGNING_ALLOWED=NO |           cmake --build build --config Release -j $(sysctl -n hw.logicalcpu) -- CODE_SIGNING_ALLOWED=NO | ||||||
|  |  | ||||||
|   macOS-latest-cmake-tvos: |   macOS-latest-cmake-tvos: | ||||||
|     runs-on: macos-latest |     runs-on: macos-latest | ||||||
| @@ -613,9 +595,7 @@ jobs: | |||||||
|         id: cmake_build |         id: cmake_build | ||||||
|         run: | |         run: | | ||||||
|           sysctl -a |           sysctl -a | ||||||
|           mkdir build |           cmake -B build -G Xcode \ | ||||||
|           cd build |  | ||||||
|           cmake -G Xcode .. \ |  | ||||||
|             -DGGML_METAL_USE_BF16=ON \ |             -DGGML_METAL_USE_BF16=ON \ | ||||||
|             -DGGML_METAL_EMBED_LIBRARY=ON \ |             -DGGML_METAL_EMBED_LIBRARY=ON \ | ||||||
|             -DLLAMA_BUILD_EXAMPLES=OFF \ |             -DLLAMA_BUILD_EXAMPLES=OFF \ | ||||||
| @@ -624,7 +604,7 @@ jobs: | |||||||
|             -DCMAKE_SYSTEM_NAME=tvOS \ |             -DCMAKE_SYSTEM_NAME=tvOS \ | ||||||
|             -DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 \ |             -DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 \ | ||||||
|             -DCMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM=ggml |             -DCMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM=ggml | ||||||
|           cmake --build . --config Release -j $(sysctl -n hw.logicalcpu) -- CODE_SIGNING_ALLOWED=NO |           cmake --build build --config Release -j $(sysctl -n hw.logicalcpu) -- CODE_SIGNING_ALLOWED=NO | ||||||
|  |  | ||||||
|   macOS-latest-swift: |   macOS-latest-swift: | ||||||
|     runs-on: macos-latest |     runs-on: macos-latest | ||||||
| @@ -654,17 +634,15 @@ jobs: | |||||||
|         id: cmake_build |         id: cmake_build | ||||||
|         run: | |         run: | | ||||||
|           sysctl -a |           sysctl -a | ||||||
|           mkdir build |           cmake -B build -G Xcode \ | ||||||
|           cd build |  | ||||||
|           cmake -G Xcode .. \ |  | ||||||
|             -DGGML_METAL_USE_BF16=ON \ |             -DGGML_METAL_USE_BF16=ON \ | ||||||
|             -DGGML_METAL_EMBED_LIBRARY=ON \ |             -DGGML_METAL_EMBED_LIBRARY=ON \ | ||||||
|             -DLLAMA_BUILD_EXAMPLES=OFF \ |             -DLLAMA_BUILD_EXAMPLES=OFF \ | ||||||
|             -DLLAMA_BUILD_TESTS=OFF \ |             -DLLAMA_BUILD_TESTS=OFF \ | ||||||
|             -DLLAMA_BUILD_SERVER=OFF \ |             -DLLAMA_BUILD_SERVER=OFF \ | ||||||
|             -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" |             -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" | ||||||
|           cmake --build . --config Release -j $(sysctl -n hw.logicalcpu) |           cmake --build build --config Release -j $(sysctl -n hw.logicalcpu) | ||||||
|           sudo cmake --install . --config Release |           sudo cmake --install build --config Release | ||||||
|  |  | ||||||
|       - name: xcodebuild for swift package |       - name: xcodebuild for swift package | ||||||
|         id: xcodebuild |         id: xcodebuild | ||||||
| @@ -806,21 +784,19 @@ jobs: | |||||||
|         run: | |         run: | | ||||||
|           git clone https://github.com/KhronosGroup/OpenCL-Headers |           git clone https://github.com/KhronosGroup/OpenCL-Headers | ||||||
|           cd OpenCL-Headers |           cd OpenCL-Headers | ||||||
|           mkdir build && cd build |           cmake -B build ` | ||||||
|           cmake .. ` |  | ||||||
|             -DBUILD_TESTING=OFF ` |             -DBUILD_TESTING=OFF ` | ||||||
|             -DOPENCL_HEADERS_BUILD_TESTING=OFF ` |             -DOPENCL_HEADERS_BUILD_TESTING=OFF ` | ||||||
|             -DOPENCL_HEADERS_BUILD_CXX_TESTS=OFF ` |             -DOPENCL_HEADERS_BUILD_CXX_TESTS=OFF ` | ||||||
|             -DCMAKE_INSTALL_PREFIX="$env:RUNNER_TEMP/opencl-arm64-release" |             -DCMAKE_INSTALL_PREFIX="$env:RUNNER_TEMP/opencl-arm64-release" | ||||||
|           cmake --build . --target install |           cmake --build build --target install | ||||||
|           git clone https://github.com/KhronosGroup/OpenCL-ICD-Loader |           git clone https://github.com/KhronosGroup/OpenCL-ICD-Loader | ||||||
|           cd OpenCL-ICD-Loader |           cd OpenCL-ICD-Loader | ||||||
|           mkdir build-arm64-release && cd build-arm64-release |           cmake -B build-arm64-release ` | ||||||
|           cmake .. ` |  | ||||||
|             -A arm64 ` |             -A arm64 ` | ||||||
|             -DCMAKE_PREFIX_PATH="$env:RUNNER_TEMP/opencl-arm64-release" ` |             -DCMAKE_PREFIX_PATH="$env:RUNNER_TEMP/opencl-arm64-release" ` | ||||||
|             -DCMAKE_INSTALL_PREFIX="$env:RUNNER_TEMP/opencl-arm64-release" |             -DCMAKE_INSTALL_PREFIX="$env:RUNNER_TEMP/opencl-arm64-release" | ||||||
|           cmake --build . --target install --config release |           cmake --build build-arm64-release --target install --config release | ||||||
|  |  | ||||||
|       - name: Build |       - name: Build | ||||||
|         id: cmake_build |         id: cmake_build | ||||||
| @@ -1284,9 +1260,7 @@ jobs: | |||||||
|         id: cmake_build |         id: cmake_build | ||||||
|         run: | |         run: | | ||||||
|           sysctl -a |           sysctl -a | ||||||
|           mkdir build |           cmake -B build -G Xcode \ | ||||||
|           cd build |  | ||||||
|           cmake -G Xcode .. \ |  | ||||||
|             -DGGML_METAL_USE_BF16=ON \ |             -DGGML_METAL_USE_BF16=ON \ | ||||||
|             -DGGML_METAL_EMBED_LIBRARY=ON \ |             -DGGML_METAL_EMBED_LIBRARY=ON \ | ||||||
|             -DLLAMA_BUILD_EXAMPLES=OFF \ |             -DLLAMA_BUILD_EXAMPLES=OFF \ | ||||||
| @@ -1295,8 +1269,8 @@ jobs: | |||||||
|             -DCMAKE_SYSTEM_NAME=iOS \ |             -DCMAKE_SYSTEM_NAME=iOS \ | ||||||
|             -DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 \ |             -DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 \ | ||||||
|             -DCMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM=ggml |             -DCMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM=ggml | ||||||
|           cmake --build . --config Release -j $(sysctl -n hw.logicalcpu) -- CODE_SIGNING_ALLOWED=NO |           cmake --build build --config Release -j $(sysctl -n hw.logicalcpu) -- CODE_SIGNING_ALLOWED=NO | ||||||
|           sudo cmake --install . --config Release |           sudo cmake --install build --config Release | ||||||
|  |  | ||||||
|       - name: xcodebuild for swift package |       - name: xcodebuild for swift package | ||||||
|         id: xcodebuild |         id: xcodebuild | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Olivier Chafik
					Olivier Chafik