lcov代码覆盖使用cmake例程

安装lcov

sudo apt-get install lcov

编写代码

代码结构
在这里插入图片描述

main.c

#include <stdio.h>

int add(int a, int b)
{
    
    
    return a+b;
}

int min(int a, int b)
{
    
    
    return a-b;
}

int main()
{
    
    
    printf("a+b=%d\n", add(4,5));
    printf("a-b=%d\n", min(4,5));

    return 0;
}

CMakeLists.txt

cmake_minimum_required(VERSION 3.5)

project(test)

set(CMAKE_C_FLAGS "-fprofile-arcs -ftest-coverage ${CMAKE_C_FLAGS}")
set(CMAKE_Cxx_FLAGS "-fprofile-arcs -ftest-coverage ${CMAKE_CXX_FLAGS}")

aux_source_directory(. SRC)

add_executable(${CMAKE_PROJECT_NAME} ${SRC})

add_custom_command(OUTPUT cov-display
    COMMAND lcov -d . -c -o "test.info" 
    COMMAND genhtml test.info -o result
    COMMENT "generate html"
    )

add_custom_target(cov-test DEPENDS cov-display)

ReadMe.txt

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
            ^     ^
              ---
               _

    1、mkdir build
    2、cd build
    3、cmake ..
    4、make
    5、生成覆盖率文件
       make cov-test
    6、可通过浏览器打开rusult中的index.html进行查看

编译完之后,通过浏览器打开

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/niu_88/article/details/121390357