不折腾好环境不学习系列 Linux(1)—— 学习 CMakeLists写法 并在 gcov/lcov 上运用

一、过程(以后补)

二、结果

    1. CMakeLists.txt

cmake_minimum_required(VERSION 3.2)    #1.cmake verson,指定cmake版本 

PROJECT(p_test)     #2.project name,指定项目的名称,一般和项目的文件夹名称对应 

set(CMAKE_CXX_STANDARD 14)

set(BOOST_ROOT "/usr/include/boost") #指定 Boost 库路径

set(CMAKE_CXX_FLAGS "-g -O0 -Wall -fprofile-arcs -ftest-coverage")   #添加编译参数,普适!

set(CMAKE_CXX_OUTPUT_EXTENSION_REPLACE 1)     #添加头文件搜索路径

include_directories(/usr/include)             #头文件目录

INCLUDE_DIRECTORIES( include )         #源文件目录

AUX_SOURCE_DIRECTORY(src DIR_SRCS)

 ADD_EXECUTABLE(p_test ${DIR_SRCS})    #添加要编译的可执行文件

target_link_libraries(p_test boost_program_options)#在这里根据名字boost_program_options去寻找libboost_program_options.a文件,普适!   

    这部分的知识推荐看一看博文 Cmake知识----编写CMakeLists.txt文件编译C/C++程序 或者 《跟我一起写Makefile-陈皓》

    2. 具体使用 GCOV/LCOV

project > cmake .

project > make

project > ./p_test

project > cd CMakeFiles/p_test.dir/src    #p_test为project name

project/CMakeFiles/p_test.dir/src > gcov p_test.gcno

project/CMakeFiles/p_test.dir/src > lcov --capture --directory . --output-file parser_coverage.info

project/CMakeFiles/p_test.dir/src > genhtml parser_coverage.info --output-directory out

    最后生成的 index.html 在 project/CMakeFiles/p_test.dir/src 还深处的一个目录下,哎呀忘了,但是又不想打开虚拟机,相信大家能很快找到哒!

你可能感兴趣的:(不折腾好环境不学习系列 Linux(1)—— 学习 CMakeLists写法 并在 gcov/lcov 上运用)