LLVM is mostly self-downloading now
This commit is contained in:
+1
-2
@@ -23,8 +23,7 @@
|
|||||||
"toolchainFile": "cmake/toolchains/llvm.cmake",
|
"toolchainFile": "cmake/toolchains/llvm.cmake",
|
||||||
"generator": "Ninja Multi-Config",
|
"generator": "Ninja Multi-Config",
|
||||||
"cacheVariables": {
|
"cacheVariables": {
|
||||||
"CMAKE_TOOLCHAIN_FILE": "${sourceDir}/cmake/toolchains/llvm.cmake",
|
"CMAKE_TOOLCHAIN_FILE": "${sourceDir}/cmake/toolchains/llvm.cmake"
|
||||||
"CMAKE_MAKE_PROGRAM": "build/windows-x64-llvm/toolchains/ninja/ninja.exe"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -72,6 +72,7 @@ if(IS_EXECUTABLE "${NINJA_BIN}")
|
|||||||
string(REGEX REPLACE "[\r\n]+" "" NINJA_VERSION_INSTALLED "${NINJA_VERSION_INSTALLED}")
|
string(REGEX REPLACE "[\r\n]+" "" NINJA_VERSION_INSTALLED "${NINJA_VERSION_INSTALLED}")
|
||||||
if((EXISTS NINJA_BIN) AND (NINJA_VERSION_INSTALLED VERSION_LESS NINJA_VERSION))
|
if((EXISTS NINJA_BIN) AND (NINJA_VERSION_INSTALLED VERSION_LESS NINJA_VERSION))
|
||||||
message(STATUS "Found outdated v${NINJA_VERSION_INSTALLED}.")
|
message(STATUS "Found outdated v${NINJA_VERSION_INSTALLED}.")
|
||||||
|
unset(NINJA_BIN)
|
||||||
else()
|
else()
|
||||||
message(STATUS "Found v${NINJA_VERSION_INSTALLED}.")
|
message(STATUS "Found v${NINJA_VERSION_INSTALLED}.")
|
||||||
endif()
|
endif()
|
||||||
@@ -112,6 +113,7 @@ if((NOT IS_EXECUTABLE "${NINJA_BIN}") OR (NINJA_VERSION_INSTALLED VERSION_LESS N
|
|||||||
file(DOWNLOAD
|
file(DOWNLOAD
|
||||||
"https://github.com/ninja-build/ninja/releases/download/v${NINJA_VERSION}/${_FILE_NAME}.${_FILE_EXT}"
|
"https://github.com/ninja-build/ninja/releases/download/v${NINJA_VERSION}/${_FILE_NAME}.${_FILE_EXT}"
|
||||||
"${NINJA_DIR}.${_FILE_EXT}"
|
"${NINJA_DIR}.${_FILE_EXT}"
|
||||||
|
SHOW_PROGRESS
|
||||||
)
|
)
|
||||||
|
|
||||||
# Extract it.
|
# Extract it.
|
||||||
|
|||||||
+283
-43
@@ -1,5 +1,4 @@
|
|||||||
# TinyAudioLink - Seamlessly transfer Audio between USB capable devices
|
# Copyright (C) 2019-2025 Michael Fabian 'Xaymar' Dirks
|
||||||
# Copyright (C) 2019 Michael Fabian 'Xaymar' Dirks
|
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -14,47 +13,288 @@
|
|||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
find_program(
|
# This is a self-contained toolchain file that sets up everything necessary to compile with LLVM/Clang.
|
||||||
CLANG_C_COMPILER
|
|
||||||
NAMES
|
|
||||||
clang
|
|
||||||
clang-cl
|
|
||||||
clang++
|
|
||||||
clang-cpp
|
|
||||||
NO_CACHE
|
|
||||||
)
|
|
||||||
find_program(
|
|
||||||
CLANG_CPP_COMPILER
|
|
||||||
NAMES
|
|
||||||
clang++
|
|
||||||
clang-cpp
|
|
||||||
clang
|
|
||||||
clang-cl
|
|
||||||
NO_CACHE
|
|
||||||
)
|
|
||||||
find_program(
|
|
||||||
CLANG_LLVM_AR
|
|
||||||
NAMES
|
|
||||||
llvm-ar
|
|
||||||
NO_CACHE
|
|
||||||
)
|
|
||||||
find_program(
|
|
||||||
CLANG_LLVM_LD_LDD
|
|
||||||
NAMES
|
|
||||||
ld.lld
|
|
||||||
NO_CACHE
|
|
||||||
)
|
|
||||||
mark_as_advanced(CLANG_C_COMPILER CLANG_CPP_COMPILER CLANG_LLVM_AR CLANG_LLVM_LD_LDD)
|
|
||||||
|
|
||||||
set(CMAKE_C_COMPILER "${CLANG_C_COMPILER}")
|
cmake_minimum_required(VERSION 3.30...4.0)
|
||||||
set(CMAKE_CXX_COMPILER "${CLANG_CPP_COMPILER}")
|
include_guard(GLOBAL)
|
||||||
set(CMAKE_AR "${CLANG_LLVM_AR}")
|
list(APPEND CMAKE_MESSAGE_INDENT "[LLVM] ")
|
||||||
|
|
||||||
if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.29)
|
if(CMAKE_C_COMPILER OR CMAKE_CXX_COMPILER)
|
||||||
set(CMAKE_LINKER_TYPE "LLD")
|
return()
|
||||||
else()
|
|
||||||
set(CMAKE_EXE_LINKER_FLAGS_INIT "-fuse-ld=\"${CLANG_LLVM_LD_LDD}\"")
|
|
||||||
set(CMAKE_STATIC_LINKER_FLAGS_INIT "-fuse-ld=\"${CLANG_LLVM_LD_LDD}\"")
|
|
||||||
set(CMAKE_MODULE_LINKER_FLAGS_INIT "-fuse-ld=\"${CLANG_LLVM_LD_LDD}\"")
|
|
||||||
set(CMAKE_SHARED_LINKER_FLAGS_INIT "-fuse-ld=\"${CLANG_LLVM_LD_LDD}\"")
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# Try and figure out what processor we need to get binaries for.
|
||||||
|
set(LLVM_VERSION "19.1.7")
|
||||||
|
if(CMAKE_HOST_SYSTEM_NAME MATCHES "[Ww]indows")
|
||||||
|
set(_OS "windows")
|
||||||
|
string(TOLOWER "$ENV{PROCESSOR_ARCHITECTURE}" _ARCH)
|
||||||
|
if(_ARCH MATCHES "(amd64)|(AMD64)")
|
||||||
|
set(_FILE_NAME "LLVM-${LLVM_VERSION}-win64")
|
||||||
|
elseif(_ARCH MATCHES "(x86)|(X86)")
|
||||||
|
set(_FILE_NAME "LLVM-${LLVM_VERSION}-win32")
|
||||||
|
else()
|
||||||
|
set(_FILE_NAME "LLVM-${LLVM_VERSION}-woa64")
|
||||||
|
endif()
|
||||||
|
set(_FILE_EXT "exe")
|
||||||
|
elseif(CMAKE_HOST_SYSTEM_NAME MATCHES "[Dd]arwin")
|
||||||
|
set(_OS "macos")
|
||||||
|
execute_process(
|
||||||
|
COMMAND "uname -m"
|
||||||
|
OUTPUT_VARIABLE _ARCH
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
|
RESULT_VARIABLE _RES
|
||||||
|
)
|
||||||
|
if(_ARCH MATCHES "(x86)|(X86)|(amd64)|(AMD64)")
|
||||||
|
set(_FILE_NAME "LLVM-${LLVM_VERSION}-MacOS-X64")
|
||||||
|
else()
|
||||||
|
set(_FILE_NAME "LLVM-${LLVM_VERSION}-MacOS-ARM64")
|
||||||
|
endif()
|
||||||
|
set(_FILE_EXT "tar.xz")
|
||||||
|
elseif(CMAKE_HOST_SYSTEM_NAME MATCHES "[Oo]pen[Bb][Ss][Dd]")
|
||||||
|
set(_OS "openbsd")
|
||||||
|
execute_process(
|
||||||
|
COMMAND "arch"
|
||||||
|
OUTPUT_VARIABLE _ARCH
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
|
)
|
||||||
|
set(_FILE_EXT "tar.xz")
|
||||||
|
if(_ARCH MATCHES "(x86)|(X86)|(amd64)|(AMD64)")
|
||||||
|
set(_FILE_NAME "LLVM-${LLVM_VERSION}-Linux-X64")
|
||||||
|
else()
|
||||||
|
set(_FILE_NAME "LLVM-${LLVM_VERSION}-Linux-ARM64")
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
set(_OS "linux")
|
||||||
|
execute_process(
|
||||||
|
COMMAND "uname -p"
|
||||||
|
OUTPUT_VARIABLE _ARCH
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
|
RESULT_VARIABLE _RES
|
||||||
|
)
|
||||||
|
if(_RES EQUAL 0)
|
||||||
|
execute_process(
|
||||||
|
COMMAND "uname -m"
|
||||||
|
OUTPUT_VARIABLE _ARCH
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
|
RESULT_VARIABLE _RES
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
set(_FILE_EXT "tar.xz")
|
||||||
|
if(_ARCH MATCHES "(x86)|(X86)|(amd64)|(AMD64)")
|
||||||
|
set(_FILE_NAME "LLVM-${LLVM_VERSION}-Linux-X64")
|
||||||
|
else()
|
||||||
|
set(_FILE_NAME "LLVM-${LLVM_VERSION}-Linux-ARM64")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
set(LLVM_DIR "${CMAKE_SOURCE_DIR}/extra/llvm-${LLVM_VERSION}-${_OS}-${_ARCH}")
|
||||||
|
|
||||||
|
foreach(_T IN ITEMS LLVM_VERSION LLVM_VERSION_INSTALLED LLVM_DIR LLVM_AR LLVM_LD LLVM_RANLIB LLVM_OBJCOPY LLVM_OBJDUMP LLVM_STRIP LLVM_CLANG LLVM_CLANGPP)
|
||||||
|
message(STATUS "${_T}=${${_T}}")
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
function(validator_llvm_bin _var _item)
|
||||||
|
message(STATUS "${_var} ${_item}")
|
||||||
|
if(NOT IS_EXECUTABLE "${_item}")
|
||||||
|
set("${_var}" FALSE PARENT_SCOPE)
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
execute_process(
|
||||||
|
COMMAND "${_item}" --version
|
||||||
|
OUTPUT_VARIABLE _OUT
|
||||||
|
RESULT_VARIABLE _RES
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
|
)
|
||||||
|
message(STATUS "${_OUT} ${_RES}")
|
||||||
|
if(NOT _RES EQUAL 0)
|
||||||
|
set("${_var}" FALSE PARENT_SCOPE)
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
if(_OUT VERSION_LESS LLVM_VERSION)
|
||||||
|
set("${_var}" FALSE PARENT_SCOPE)
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
set("${_var}" TRUE PARENT_SCOPE)
|
||||||
|
set(LLVM_VERSION_INSTALLED "${_OUT}" PARENT_SCOPE)
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
macro(find_llvm)
|
||||||
|
set(LLVM_FOUND "NOT-FOUND")
|
||||||
|
# - AR
|
||||||
|
find_program(
|
||||||
|
LLVM_AR
|
||||||
|
NAMES
|
||||||
|
llvm-ar
|
||||||
|
HINTS
|
||||||
|
"${LLVM_DIR}/bin"
|
||||||
|
#VALIDATOR validator_llvm_bin
|
||||||
|
NO_CACHE NO_DEFAULT_PATH NO_PACKAGE_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_INSTALL_PREFIX NO_CMAKE_FIND_ROOT_PATH
|
||||||
|
)
|
||||||
|
# - Library Randomizer
|
||||||
|
find_program(
|
||||||
|
LLVM_RANLIB
|
||||||
|
NAMES
|
||||||
|
llvm-ranlib
|
||||||
|
HINTS
|
||||||
|
"${LLVM_DIR}/bin"
|
||||||
|
#VALIDATOR validator_llvm_bin
|
||||||
|
NO_CACHE NO_DEFAULT_PATH NO_PACKAGE_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_INSTALL_PREFIX NO_CMAKE_FIND_ROOT_PATH
|
||||||
|
)
|
||||||
|
# - Linker
|
||||||
|
find_program(
|
||||||
|
LLVM_LD
|
||||||
|
NAMES
|
||||||
|
ld.lld
|
||||||
|
HINTS
|
||||||
|
"${LLVM_DIR}/bin"
|
||||||
|
#VALIDATOR validator_llvm_bin
|
||||||
|
NO_CACHE NO_DEFAULT_PATH NO_PACKAGE_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_INSTALL_PREFIX NO_CMAKE_FIND_ROOT_PATH
|
||||||
|
)
|
||||||
|
# - Object Copy
|
||||||
|
find_program(
|
||||||
|
LLVM_OBJCOPY
|
||||||
|
NAMES
|
||||||
|
llvm-objcopy
|
||||||
|
HINTS
|
||||||
|
"${LLVM_DIR}/bin"
|
||||||
|
#VALIDATOR validator_llvm_bin
|
||||||
|
NO_CACHE NO_DEFAULT_PATH NO_PACKAGE_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_INSTALL_PREFIX NO_CMAKE_FIND_ROOT_PATH
|
||||||
|
)
|
||||||
|
# - Object Dump
|
||||||
|
find_program(
|
||||||
|
LLVM_OBJDUMP
|
||||||
|
NAMES
|
||||||
|
llvm-objdump
|
||||||
|
HINTS
|
||||||
|
"${LLVM_DIR}/bin"
|
||||||
|
#VALIDATOR validator_llvm_bin
|
||||||
|
NO_CACHE NO_DEFAULT_PATH NO_PACKAGE_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_INSTALL_PREFIX NO_CMAKE_FIND_ROOT_PATH
|
||||||
|
)
|
||||||
|
# - Strip Debug Info
|
||||||
|
find_program(
|
||||||
|
LLVM_STRIP
|
||||||
|
NAMES
|
||||||
|
llvm-strip
|
||||||
|
HINTS
|
||||||
|
"${LLVM_DIR}/bin"
|
||||||
|
#VALIDATOR validator_llvm_bin
|
||||||
|
NO_CACHE NO_DEFAULT_PATH NO_PACKAGE_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_INSTALL_PREFIX NO_CMAKE_FIND_ROOT_PATH
|
||||||
|
)
|
||||||
|
# - C Compiler
|
||||||
|
find_program(
|
||||||
|
LLVM_CLANG
|
||||||
|
NAMES
|
||||||
|
clang
|
||||||
|
HINTS
|
||||||
|
"${LLVM_DIR}/bin"
|
||||||
|
#VALIDATOR validator_llvm_bin
|
||||||
|
NO_CACHE NO_DEFAULT_PATH NO_PACKAGE_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_INSTALL_PREFIX NO_CMAKE_FIND_ROOT_PATH
|
||||||
|
)
|
||||||
|
# - C++ Compiler
|
||||||
|
find_program(
|
||||||
|
LLVM_CLANGPP
|
||||||
|
NAMES
|
||||||
|
clang++
|
||||||
|
HINTS
|
||||||
|
"${LLVM_DIR}/bin"
|
||||||
|
#VALIDATOR validator_llvm_bin
|
||||||
|
NO_CACHE NO_DEFAULT_PATH NO_PACKAGE_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_INSTALL_PREFIX NO_CMAKE_FIND_ROOT_PATH
|
||||||
|
)
|
||||||
|
|
||||||
|
set(LLVM_FOUND TRUE)
|
||||||
|
foreach(_TEST IN ITEMS
|
||||||
|
"LLVM_AR"
|
||||||
|
"LLVM_LD"
|
||||||
|
"LLVM_RANLIB"
|
||||||
|
"LLVM_OBJCOPY"
|
||||||
|
"LLVM_OBJDUMP"
|
||||||
|
"LLVM_STRIP"
|
||||||
|
"LLVM_CLANG"
|
||||||
|
"LLVM_CLANGPP")
|
||||||
|
message(STATUS "${_TEST}=${${_TEST}}")
|
||||||
|
if(NOT IS_EXECUTABLE ${${_TEST}})
|
||||||
|
set(LLVM_FOUND FALSE)
|
||||||
|
foreach(_TEST IN ITEMS
|
||||||
|
"LLVM_AR"
|
||||||
|
"LLVM_LD"
|
||||||
|
"LLVM_RANLIB"
|
||||||
|
"LLVM_OBJCOPY"
|
||||||
|
"LLVM_OBJDUMP"
|
||||||
|
"LLVM_STRIP"
|
||||||
|
"LLVM_CLANG"
|
||||||
|
"LLVM_CLANGPP")
|
||||||
|
unset(${_TEST})
|
||||||
|
endforeach()
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
endmacro()
|
||||||
|
|
||||||
|
# Try and find an existing LLVM installation.
|
||||||
|
find_llvm()
|
||||||
|
foreach(_T IN ITEMS LLVM_VERSION LLVM_VERSION_INSTALLED LLVM_DIR LLVM_AR LLVM_LD LLVM_RANLIB LLVM_OBJCOPY LLVM_OBJDUMP LLVM_STRIP LLVM_CLANG LLVM_CLANGPP)
|
||||||
|
message(STATUS "${_T}=${${_T}}")
|
||||||
|
endforeach()
|
||||||
|
if(LLVM_FOUND)
|
||||||
|
message(STATUS "Found v${LLVM_VERSION_INSTALLED}.")
|
||||||
|
elseif(LLVM_VERSION_INSTALLED AND LLVM_VERSION_INSTALLED VERSION_LESS LLVM_VERSION)
|
||||||
|
message(STATUS "Found outdated v${LLVM_VERSION_INSTALLED}.")
|
||||||
|
elseif(NOT LLVM_FOUND AND NOT LLVM_VERSION_INSTALLED)
|
||||||
|
message(STATUS "No installed LLVM found.")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT LLVM_FOUND)
|
||||||
|
# It isn't up to date or doesn't exist, so try to download the latest version.
|
||||||
|
|
||||||
|
# Download the ideal version.
|
||||||
|
message(STATUS "Downloading LLVM v${LLVM_VERSION}...")
|
||||||
|
file(DOWNLOAD
|
||||||
|
"https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VERSION}/${_FILE_NAME}.${_FILE_EXT}"
|
||||||
|
"${LLVM_DIR}.${_FILE_EXT}"
|
||||||
|
SHOW_PROGRESS
|
||||||
|
)
|
||||||
|
|
||||||
|
# Extract it.
|
||||||
|
message(STATUS "Extracting...")
|
||||||
|
file(ARCHIVE_EXTRACT
|
||||||
|
INPUT "${LLVM_DIR}.${_FILE_EXT}"
|
||||||
|
DESTINATION "${LLVM_DIR}/"
|
||||||
|
)
|
||||||
|
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# set(CMAKE_C_COMPILER_AR "${CMAKE_AR}" CACHE STRING "" FORCE)
|
||||||
|
# #set(CMAKE_C_COMPILER_CLANG_SCAN_DEPS "NOT-FOUND" CACHE STRING "" FORCE)
|
||||||
|
# set(CMAKE_C_COMPILER_RANLIB "${CMAKE_RANLIB}" CACHE STRING "" FORCE)
|
||||||
|
# set(CMAKE_C_LINKER "${CMAKE_LINKER}" CACHE STRING "" FORCE)
|
||||||
|
# set(CMAKE_C_LINKER_ID "LDD" CACHE STRING "" FORCE)
|
||||||
|
# set(CMAKE_C_LINKER_FRONTEND_VARIANT "LLD" CACHE STRING "" FORCE)
|
||||||
|
# set(CMAKE_CXX_COMPILER_AR "${CMAKE_AR}" CACHE STRING "" FORCE)
|
||||||
|
# #set(CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS "NOT-FOUND" CACHE STRING "" FORCE)
|
||||||
|
# set(CMAKE_CXX_SCAN_FOR_MODULES OFF CACHE BOOL "" FORCE)
|
||||||
|
# set(CMAKE_CXX_COMPILER_RANLIB "${CMAKE_RANLIB}" CACHE STRING "" FORCE)
|
||||||
|
# set(CMAKE_CXX_LINKER "${CMAKE_C_LINKER}" CACHE STRING "" FORCE)
|
||||||
|
# set(CMAKE_CXX_LINKER_ID "LLD" CACHE STRING "" FORCE)
|
||||||
|
# set(CMAKE_CXX_LINKER_FRONTEND_VARIANT "LLD" CACHE STRING "" FORCE)
|
||||||
|
# # - Assembly Compiler
|
||||||
|
# set(CMAKE_ASM_COMPILER "${CMAKE_C_COMPILER}" CACHE STRING "" FORCE)
|
||||||
|
# set(CMAKE_ASM_COMPILER_AR "${CMAKE_AR}" CACHE STRING "" FORCE)
|
||||||
|
# #set(CMAKE_ASM_COMPILER_CLANG_SCAN_DEPS "NOT-FOUND" CACHE STRING "" FORCE)
|
||||||
|
# set(CMAKE_ASM_COMPILER_RANLIB "${CMAKE_RANLIB}" CACHE STRING "" FORCE)
|
||||||
|
# set(CMAKE_ASM_LINKER "${CMAKE_C_LINKER}" CACHE STRING "" FORCE)
|
||||||
|
# set(CMAKE_ASM_LINKER_ID "LLD" CACHE STRING "" FORCE)
|
||||||
|
# set(CMAKE_ASM_LINKER_FRONTEND_VARIANT "LLD" CACHE STRING "" FORCE)
|
||||||
|
# #mark_as_advanced(CLANG_C_COMPILER CLANG_CPP_COMPILER CLANG__AR CLANG__LD_LDD)
|
||||||
|
# set(CMAKE_EXE_LINKER_FLAGS_INIT "-fuse-ld=\"${CMAKE_C_LINKER}\"")
|
||||||
|
# set(CMAKE_STATIC_LINKER_FLAGS_INIT "-fuse-ld=\"${CMAKE_C_LINKER}\"")
|
||||||
|
# set(CMAKE_MODULE_LINKER_FLAGS_INIT "-fuse-ld=\"${CMAKE_C_LINKER}\"")
|
||||||
|
# set(CMAKE_SHARED_LINKER_FLAGS_INIT "-fuse-ld=\"${CMAKE_C_LINKER}\"")
|
||||||
|
|
||||||
|
# execute_process(
|
||||||
|
# COMMAND "${CMAKE_C_COMPILER}" "--version"
|
||||||
|
# OUTPUT_VARIABLE _VERSION_INSTALLED
|
||||||
|
# OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
|
# )
|
||||||
|
# string(REGEX MATCH "[0-9]+\.[0-9]+\.[0-9]+" _VERSION_INSTALLED "${LLVM_VERSION_INSTALLED}")
|
||||||
|
# message(STATUS "v${LLVM_VERSION_INSTALLED}")
|
||||||
|
# list(POP_BACK CMAKE_MESSAGE_INDENT)
|
||||||
|
|||||||
Reference in New Issue
Block a user