20 lines
843 B
CMake
20 lines
843 B
CMake
|
# SPDX-License-Identifier: Apache-2.0
|
||
|
#
|
||
|
# Copyright (c) 2022, Nordic Semiconductor ASA
|
||
|
|
||
|
find_program(SPARSE_COMPILER cgcc REQUIRED)
|
||
|
message(STATUS "Found sparse: ${SPARSE_COMPILER}")
|
||
|
|
||
|
# Create sparse.cmake which will be called as compiler launcher.
|
||
|
# sparse.cmake will ensure that REAL_CC is set correctly in environment before
|
||
|
# cgcc is called, thereby ensuring correct behavior of sparse without a need
|
||
|
# for REAL_CC to be set in environment.
|
||
|
configure_file(${CMAKE_CURRENT_LIST_DIR}/sparse.template ${CMAKE_BINARY_DIR}/sparse.cmake @ONLY)
|
||
|
|
||
|
set(launch_environment ${CMAKE_COMMAND} -P ${CMAKE_BINARY_DIR}/sparse.cmake --)
|
||
|
set(CMAKE_C_COMPILER_LAUNCHER ${launch_environment} CACHE INTERNAL "")
|
||
|
|
||
|
list(APPEND TOOLCHAIN_C_FLAGS -D__CHECKER__)
|
||
|
# Avoid compiler "attribute directive ignored" warnings
|
||
|
list(APPEND TOOLCHAIN_C_FLAGS -Wno-attributes)
|