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