From 1fee4849bc5e901c1dc3524fddef765d44988179 Mon Sep 17 00:00:00 2001 From: Jeremy Bettis Date: Fri, 27 Aug 2021 16:57:15 -0600 Subject: [PATCH] cmake: Populate var CMAKE_GCOV For each compiler, also set a CMAKE_GCOV var referencing the appropriate gcov tool. Tested with gcc and host-gcc on the ChromeOS codebase. Signed-off-by: Jeremy Bettis --- cmake/compiler/arcmwdt/generic.cmake | 2 ++ cmake/compiler/clang/generic.cmake | 2 ++ cmake/compiler/gcc/generic.cmake | 1 + cmake/compiler/host-gcc/generic.cmake | 1 + cmake/compiler/xcc/generic.cmake | 1 + 5 files changed, 7 insertions(+) diff --git a/cmake/compiler/arcmwdt/generic.cmake b/cmake/compiler/arcmwdt/generic.cmake index ceda135f257..d062c962684 100644 --- a/cmake/compiler/arcmwdt/generic.cmake +++ b/cmake/compiler/arcmwdt/generic.cmake @@ -19,6 +19,8 @@ if(NOT CMAKE_DTS_PREPROCESSOR) endif() find_program(CMAKE_C_COMPILER ${CROSS_COMPILE}ccac PATH ${TOOLCHAIN_HOME} NO_DEFAULT_PATH) +find_program(CMAKE_LLVM_COV ${CROSS_COMPILE}llvm-cov PATH ${TOOLCHAIN_HOME} NO_DEFAULT_PATH) +set(CMAKE_GCOV "${CMAKE_LLVM_COV} gcov") if(CMAKE_C_COMPILER STREQUAL CMAKE_C_COMPILER-NOTFOUND) message(FATAL_ERROR "Zephyr was unable to find the Metaware compiler") diff --git a/cmake/compiler/clang/generic.cmake b/cmake/compiler/clang/generic.cmake index 7033a958122..869a788e244 100644 --- a/cmake/compiler/clang/generic.cmake +++ b/cmake/compiler/clang/generic.cmake @@ -5,4 +5,6 @@ if(DEFINED TOOLCHAIN_HOME) endif() find_program(CMAKE_C_COMPILER clang ${find_program_clang_args}) +find_program(CMAKE_LLVM_COV llvm-cov ${find_program_clang_args}) +set(CMAKE_GCOV "${CMAKE_LLVM_COV} gcov") diff --git a/cmake/compiler/gcc/generic.cmake b/cmake/compiler/gcc/generic.cmake index 57b32f633b0..ca96eb93809 100644 --- a/cmake/compiler/gcc/generic.cmake +++ b/cmake/compiler/gcc/generic.cmake @@ -3,6 +3,7 @@ set_ifndef(CC gcc) find_program(CMAKE_C_COMPILER ${CROSS_COMPILE}${CC} PATHS ${TOOLCHAIN_HOME} NO_DEFAULT_PATH) +find_program(CMAKE_GCOV ${CROSS_COMPILE}gcov PATHS ${TOOLCHAIN_HOME} NO_DEFAULT_PATH) if(CMAKE_C_COMPILER STREQUAL CMAKE_C_COMPILER-NOTFOUND) message(FATAL_ERROR "Zephyr was unable to find the toolchain. Is the environment misconfigured? diff --git a/cmake/compiler/host-gcc/generic.cmake b/cmake/compiler/host-gcc/generic.cmake index 3f889564ca9..e7fbf17c730 100644 --- a/cmake/compiler/host-gcc/generic.cmake +++ b/cmake/compiler/host-gcc/generic.cmake @@ -3,3 +3,4 @@ # Configures CMake for using GCC find_program(CMAKE_C_COMPILER gcc) +find_program(CMAKE_GCOV gcov) diff --git a/cmake/compiler/xcc/generic.cmake b/cmake/compiler/xcc/generic.cmake index 57b32f633b0..ca96eb93809 100644 --- a/cmake/compiler/xcc/generic.cmake +++ b/cmake/compiler/xcc/generic.cmake @@ -3,6 +3,7 @@ set_ifndef(CC gcc) find_program(CMAKE_C_COMPILER ${CROSS_COMPILE}${CC} PATHS ${TOOLCHAIN_HOME} NO_DEFAULT_PATH) +find_program(CMAKE_GCOV ${CROSS_COMPILE}gcov PATHS ${TOOLCHAIN_HOME} NO_DEFAULT_PATH) if(CMAKE_C_COMPILER STREQUAL CMAKE_C_COMPILER-NOTFOUND) message(FATAL_ERROR "Zephyr was unable to find the toolchain. Is the environment misconfigured?