-
-
Notifications
You must be signed in to change notification settings - Fork 25
/
zig.cmake
27 lines (24 loc) · 1.1 KB
/
zig.cmake
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
include(cmake/uname.cmake)
set(ZIG_VERSION "0.10.1")
set(ZIG_DOWNLOAD "http://ziglang.org/download")
set(ZIG_PATHS "${CMAKE_SOURCE_DIR}/vendor/zig")
find_program(ZIG zig PATHS ${ZIG_PATHS})
if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Darwin")
set(ZIG_DOWNLOAD "${ZIG_DOWNLOAD}/${ZIG_VERSION}/zig-macos-${CMAKE_HOST_SYSTEM_PROCESSOR_AARCH64}-${ZIG_VERSION}.tar.xz")
elseif(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Linux")
set(ZIG_DOWNLOAD "${ZIG_DOWNLOAD}/${ZIG_VERSION}/zig-linux-${CMAKE_HOST_SYSTEM_PROCESSOR_AARCH64}-${ZIG_VERSION}.tar.xz")
elseif(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Windows")
set(ZIG_DOWNLOAD "${ZIG_DOWNLOAD}/${ZIG_VERSION}/zig-windows-${CMAKE_HOST_SYSTEM_PROCESSOR_AARCH64}-${ZIG_VERSION}.zip")
endif()
if(NOT ZIG)
cmake_minimum_required(VERSION 3.14)
include(FetchContent)
FetchContent_Populate(
vendor_zig
URL "${ZIG_DOWNLOAD}"
SOURCE_DIR "${CMAKE_SOURCE_DIR}/vendor/zig"
SUBBUILD_DIR "${CMAKE_SOURCE_DIR}/CMakeFiles/vendor_zig_cache"
BINARY_DIR "${CMAKE_SOURCE_DIR}/CMakeFiles/vendor_zig_cache"
)
endif()
find_program(ZIG zig PATHS ${ZIG_PATHS} REQUIRED)