Skip to content

Commit d682b84

Browse files
committed
fix: use quoted absolute paths for compiler and ccache
1 parent 3c71db8 commit d682b84

1 file changed

Lines changed: 21 additions & 21 deletions

File tree

zig.toolchain.cmake

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
include_guard(GLOBAL)
22

3-
set(ZIG_TOOLCHAIN_VERSION "0.1.1")
3+
set(ZIG_TOOLCHAIN_VERSION "0.1.3")
44

55
if(CMAKE_GENERATOR MATCHES "Visual Studio")
66
message(FATAL_ERROR "Zig Toolchain: Visual Studio generator is not supported. Please use '-G Ninja' or '-G MinGW Makefiles'.")
@@ -11,7 +11,7 @@ if(NOT ZIG_COMPILER)
1111
message(FATAL_ERROR "Zig Toolchain: Zig compiler not found. Please install Zig and ensure it is in your PATH.")
1212
endif()
1313
execute_process(
14-
COMMAND zig version
14+
COMMAND "${ZIG_COMPILER}" version
1515
OUTPUT_VARIABLE ZIG_COMPILER_VERSION
1616
OUTPUT_STRIP_TRAILING_WHITESPACE
1717
RESULT_VARIABLE ZIG_VERSION_RESULT
@@ -74,8 +74,8 @@ else()
7474
endif()
7575
message(STATUS "Zig Toolchain: v${ZIG_COMPILER_VERSION}${ZIG_TARGET}")
7676

77-
set(ZIG_MCPU "" CACHE STRING "Target CPU architecture")
78-
set(ZIG_MCPU_FEATURES "" CACHE STRING "CPU features to enable/disable")
77+
set(ZIG_MCPU "" CACHE STRING "Target CPU (e.g. 'baseline', 'native', 'cortex_a53'). See: zig targets")
78+
set(ZIG_MCPU_FEATURES "" CACHE STRING "CPU feature modifiers appended directly to -mcpu=<cpu>, e.g. '+avx2-sse4_1'. Each feature must start with + or -.")
7979
set(ZIG_COMPILER_FLAGS "" CACHE STRING "Additional compilation flags")
8080

8181
set(ZIG_WRAPPER_ARGS "")
@@ -98,7 +98,7 @@ set(ZIG_CC_PREFIX "")
9898
if(ZIG_USE_CCACHE)
9999
find_program(CCACHE_TOOL ccache)
100100
if(CCACHE_TOOL)
101-
set(ZIG_CC_PREFIX "${CCACHE_TOOL} ")
101+
set(ZIG_CC_PREFIX "\"${CCACHE_TOOL}\" ")
102102
message(STATUS "Zig Toolchain: ccache enabled at ${CCACHE_TOOL}")
103103
else()
104104
message(WARNING "Zig Toolchain: ZIG_USE_CCACHE is ON but 'ccache' was not found in PATH.")
@@ -118,32 +118,32 @@ else()
118118
set(ARGS "\"$@\"")
119119
endif()
120120

121-
file(WRITE "${ZIG_SHIMS_DIR}/zig-cc${EXT}" "${HEADER}\n${ZIG_CC_PREFIX}zig cc -target ${ZIG_TARGET} ${ZIG_WRAPPER_ARGS} ${ARGS}\n")
122-
file(WRITE "${ZIG_SHIMS_DIR}/zig-c++${EXT}" "${HEADER}\n${ZIG_CC_PREFIX}zig c++ -target ${ZIG_TARGET} ${ZIG_WRAPPER_ARGS} ${ARGS}\n")
123-
file(WRITE "${ZIG_SHIMS_DIR}/zig-ar${EXT}" "${HEADER}\nzig ar ${ARGS}\n")
124-
file(WRITE "${ZIG_SHIMS_DIR}/zig-rc${EXT}" "${HEADER}\nzig rc ${ARGS}\n")
125-
file(WRITE "${ZIG_SHIMS_DIR}/zig-ranlib${EXT}" "${HEADER}\nzig ranlib ${ARGS}\n")
121+
file(WRITE "${ZIG_SHIMS_DIR}/zig-cc${EXT}" "${HEADER}\n${ZIG_CC_PREFIX}\"${ZIG_COMPILER}\" cc -target ${ZIG_TARGET} ${ZIG_WRAPPER_ARGS} ${ARGS}\n")
122+
file(WRITE "${ZIG_SHIMS_DIR}/zig-c++${EXT}" "${HEADER}\n${ZIG_CC_PREFIX}\"${ZIG_COMPILER}\" c++ -target ${ZIG_TARGET} ${ZIG_WRAPPER_ARGS} ${ARGS}\n")
123+
file(WRITE "${ZIG_SHIMS_DIR}/zig-ar${EXT}" "${HEADER}\n\"${ZIG_COMPILER}\" ar ${ARGS}\n")
124+
file(WRITE "${ZIG_SHIMS_DIR}/zig-rc${EXT}" "${HEADER}\n\"${ZIG_COMPILER}\" rc ${ARGS}\n")
125+
file(WRITE "${ZIG_SHIMS_DIR}/zig-ranlib${EXT}" "${HEADER}\n\"${ZIG_COMPILER}\" ranlib ${ARGS}\n")
126126
if(NOT CMAKE_HOST_WIN32)
127127
execute_process(COMMAND chmod +x
128-
"${ZIG_SHIMS_DIR}/zig-cc"
129-
"${ZIG_SHIMS_DIR}/zig-c++"
130-
"${ZIG_SHIMS_DIR}/zig-ar"
131-
"${ZIG_SHIMS_DIR}/zig-rc"
132-
"${ZIG_SHIMS_DIR}/zig-ranlib"
128+
"${ZIG_SHIMS_DIR}/zig-cc${EXT}"
129+
"${ZIG_SHIMS_DIR}/zig-c++${EXT}"
130+
"${ZIG_SHIMS_DIR}/zig-ar${EXT}"
131+
"${ZIG_SHIMS_DIR}/zig-rc${EXT}"
132+
"${ZIG_SHIMS_DIR}/zig-ranlib${EXT}"
133133
)
134134
endif()
135135

136-
# unsupported linker arg: --dependency-file
137-
if (CMAKE_HOST_WIN32)
138-
set(CMAKE_C_LINKER_DEPFILE_SUPPORTED FALSE)
139-
set(CMAKE_CXX_LINKER_DEPFILE_SUPPORTED FALSE)
140-
endif()
141-
142136
set(CMAKE_C_COMPILER "${ZIG_SHIMS_DIR}/zig-cc${EXT}")
143137
set(CMAKE_CXX_COMPILER "${ZIG_SHIMS_DIR}/zig-c++${EXT}")
144138
set(CMAKE_AR "${ZIG_SHIMS_DIR}/zig-ar${EXT}" CACHE FILEPATH "Archiver" FORCE)
145139
set(CMAKE_RANLIB "${ZIG_SHIMS_DIR}/zig-ranlib${EXT}" CACHE FILEPATH "Ranlib" FORCE)
146140

141+
if(CMAKE_HOST_WIN32)
142+
# unsupported linker arg: --dependency-file
143+
set(CMAKE_C_LINKER_DEPFILE_SUPPORTED FALSE)
144+
set(CMAKE_CXX_LINKER_DEPFILE_SUPPORTED FALSE)
145+
endif()
146+
147147
if(CMAKE_SYSTEM_NAME MATCHES "Windows")
148148
set(CMAKE_RC_COMPILER "${ZIG_SHIMS_DIR}/zig-rc${EXT}" CACHE FILEPATH "Resource Compiler" FORCE)
149149
# Explicitly specify MSVC syntax because zig rc only supports this format

0 commit comments

Comments
 (0)