blob: b649faa1003e75edf602a920cb1439fa794d4b84 [file] [log] [blame]
yang.lid6fe6242022-01-13 14:44:24 +08001# Copyright (c) 2021-2022 Amlogic, Inc. All rights reserved.
2
3# SPDX-License-Identifier: MIT
4
bin.chen1a426d32021-10-13 10:52:36 +08005include("${CMAKE_CURRENT_LIST_DIR}/find_compiler.cmake")
6
7set(CMAKE_SYSTEM_NAME Generic)
8
9# Find GCC for ARM.
10aml_find_compiler(UNSC_COMPILER_CC clang)
11aml_find_compiler(UNSC_COMPILER_CXX clang++)
12set(UNSC_COMPILER_ASM "${UNSC_COMPILER_CC}" CACHE INTERNAL "")
13aml_find_compiler(UNSC_COMPILER_OBJCOPY llvm-objcopy)
14aml_find_compiler(UNSC_COMPILER_OBJDUMP llvm-objdump)
15
16
17message(STATUS "@@@UNSC_COMPILER_CC ${UNSC_COMPILER_CC}")
18message(STATUS "@@@UNSC_COMPILER_CXX ${UNSC_COMPILER_CXX}")
19message(STATUS "@@@UNSC_COMPILER_OBJCOPY ${UNSC_COMPILER_OBJCOPY}")
20message(STATUS "@@@UNSC_COMPILER_OBJDUMP ${UNSC_COMPILER_OBJDUMP}")
21
22# Specify the cross compiler.
23set(CMAKE_C_COMPILER ${UNSC_COMPILER_CC} CACHE FILEPATH "C compiler")
24set(CMAKE_CXX_COMPILER ${UNSC_COMPILER_CXX} CACHE FILEPATH "C++ compiler")
25set(CMAKE_ASM_COMPILER ${UNSC_COMPILER_ASM} CACHE FILEPATH "ASM compiler")
26set(CMAKE_OBJCOPY_COMPILER ${UNSC_COMPILER_OBJCOPY} CACHE FILEPATH "objcopy compiler")
27set(CMAKE_OBJDUMP_COMPILER ${UNSC_COMPILER_OBJDUMP} CACHE FILEPATH "objdump compiler")
28
29# Disable compiler checks.
30set(CMAKE_C_COMPILER_FORCED TRUE)
31set(CMAKE_CXX_COMPILER_FORCED TRUE)
32
33# Add target system root to cmake find path.
34get_filename_component(UNSC_COMPILER_DIR "${UNSC_COMPILER_CC}" DIRECTORY)
35get_filename_component(CMAKE_FIND_ROOT_PATH "${UNSC_COMPILER_DIR}" DIRECTORY)
36
37# Look for includes and libraries only in the target system prefix.
38set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
39set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
40
41# Helper variables to abstracts some common compiler flags.
42set(UNSC_COMPILER_NO_WARNINGS "-w" CACHE INTERNAL "")