Files
ksOS/Kernel/cmake/aarch64-bare.cmake
T
2026-04-22 23:12:06 +04:00

39 lines
1.3 KiB
CMake

set(CMAKE_SYSTEM_NAME Generic)
set(CMAKE_SYSTEM_PROCESSOR aarch64)
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
if(NOT LLVM_BIN)
if(APPLE)
execute_process(
COMMAND brew --prefix llvm
OUTPUT_VARIABLE LLVM_PREFIX
OUTPUT_STRIP_TRAILING_WHITESPACE
)
set(LLVM_BIN "${LLVM_PREFIX}/bin")
else()
find_program(_CLANG clang)
if(NOT _CLANG)
message(FATAL_ERROR "clang not found.")
endif()
get_filename_component(LLVM_BIN "${_CLANG}" DIRECTORY)
endif()
endif()
set(CMAKE_C_COMPILER "${LLVM_BIN}/clang")
set(CMAKE_ASM_COMPILER "${LLVM_BIN}/clang")
set(LLVM_OBJCOPY "${LLVM_BIN}/llvm-objcopy")
set(TARGET_TRIPLE aarch64-none-elf)
set(CMAKE_C_COMPILER_TARGET ${TARGET_TRIPLE})
set(CMAKE_ASM_COMPILER_TARGET ${TARGET_TRIPLE})
if(APPLE)
find_program(TERMOS_LD_LLD NAMES ld.lld HINTS /usr/local/bin /opt/homebrew/bin REQUIRED)
find_program(LLVM_OBJCOPY NAMES llvm-objcopy objcopy
HINTS /usr/local/opt/llvm/bin /opt/homebrew/opt/llvm/bin /usr/local/bin /opt/homebrew/bin
REQUIRED)
set(CMAKE_C_LINK_FLAGS "")
set(CMAKE_C_LINK_EXECUTABLE
"${TERMOS_LD_LLD} <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
endif()