Files
LookingGlass/client/cmake/toolchains/windows-clangcl.cmake
2026-11-06 14:40:25 +11:00

29 lines
1.1 KiB
CMake

if(NOT DEFINED ENV{VSCMD_VER} OR
NOT "$ENV{VSCMD_ARG_TGT_ARCH}" MATCHES "^(x64|amd64)$" OR
NOT "$ENV{VSCMD_ARG_HOST_ARCH}" MATCHES "^(x64|amd64)$")
message(FATAL_ERROR
"The windows-clangcl preset requires the x64 Native Tools environment; "
"open an x64 Native Tools command prompt and configure again")
endif()
find_program(LG_WINDOWS_CLANG_CL
NAMES clang-cl
PATHS "$ENV{VCINSTALLDIR}/Tools/Llvm/x64/bin"
NO_DEFAULT_PATH
REQUIRED)
execute_process(
COMMAND "${LG_WINDOWS_CLANG_CL}" -print-target-triple
RESULT_VARIABLE LG_WINDOWS_CLANG_RESULT
OUTPUT_VARIABLE LG_WINDOWS_CLANG_TARGET
ERROR_VARIABLE LG_WINDOWS_CLANG_ERROR
OUTPUT_STRIP_TRAILING_WHITESPACE)
if(NOT LG_WINDOWS_CLANG_RESULT EQUAL 0 OR
NOT LG_WINDOWS_CLANG_TARGET MATCHES "^x86_64-")
message(FATAL_ERROR
"The x64 Native Tools environment selected an invalid clang-cl: "
"${LG_WINDOWS_CLANG_ERROR}${LG_WINDOWS_CLANG_TARGET}")
endif()
set(CMAKE_C_COMPILER "${LG_WINDOWS_CLANG_CL}" CACHE FILEPATH "" FORCE)
set(CMAKE_CXX_COMPILER "${LG_WINDOWS_CLANG_CL}" CACHE FILEPATH "" FORCE)