mirror of
https://github.com/deepseek-ai/3FS
synced 2025-05-09 23:20:33 +00:00
27 lines
1.1 KiB
CMake
27 lines
1.1 KiB
CMake
option(ENABLE_CODE_COVERAGE "Enable code coverage" OFF)
|
|
if(ENABLE_CODE_COVERAGE)
|
|
if(CMAKE_BUILD_TYPE_UC STREQUAL "DEBUG" )
|
|
message(STATUS "Enable code coverage with debug mode.")
|
|
else()
|
|
message(WARNING "Code coverage with no debug mode!!!")
|
|
endif()
|
|
|
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
|
set(COVERAGE_COMPILER_FLAGS "-g -fprofile-arcs -ftest-coverage")
|
|
link_libraries(gcov)
|
|
elseif(CMAKE_CXX_COMPILER_ID MATCHES "[Cc]lang")
|
|
set(COVERAGE_COMPILER_FLAGS "-g -fprofile-instr-generate -fcoverage-mapping")
|
|
else()
|
|
message(FATAL_ERROR "Unknown compiler iid ${CMAKE_CXX_COMPILER_ID}")
|
|
endif()
|
|
|
|
include(CheckCXXCompilerFlag)
|
|
check_cxx_compiler_flag(-fprofile-abs-path HAVE_fprofile_abs_path)
|
|
if(HAVE_fprofile_abs_path)
|
|
set(COVERAGE_COMPILER_FLAGS "${COVERAGE_COMPILER_FLAGS} -fprofile-abs-path")
|
|
endif()
|
|
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COVERAGE_COMPILER_FLAGS}")
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COVERAGE_COMPILER_FLAGS}")
|
|
message(STATUS "Appending code coverage compiler flags: ${COVERAGE_COMPILER_FLAGS}")
|
|
endif() |