diff --git a/CMakeLists.txt b/CMakeLists.txt index 8322b7f378a5ea08509ff02178ef304e595b0fb9..d0cff762e22038dc5a39b9aa05e80ef1d35fbacf 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -128,6 +128,7 @@ option(WITH_AMD_GPU "Compile PaddlePaddle with AMD GPU" OFF) option(WITH_NV_JETSON "Compile PaddlePaddle with NV JETSON" OFF) option(WITH_PROFILER "Compile PaddlePaddle with GPU profiler and gperftools" OFF) option(WITH_COVERAGE "Compile PaddlePaddle with code coverage" OFF) +option(WITH_INCREMENTAL_COVERAGE "Generate coverage reports only for incremental code" OFF) OPTION(WITH_LIBXSMM "Compile with libxsmm" OFF) option(COVERALLS_UPLOAD "Package code coverage data to coveralls" OFF) option(WITH_PSLIB "Compile with pslib support" OFF) diff --git a/cmake/coveralls.cmake b/cmake/coveralls.cmake index aad02d24be15535d65f4ac0d0db58fa3cd85c3bf..f7da3560f75f6203236b75b5cf96dc24492f9f71 100644 --- a/cmake/coveralls.cmake +++ b/cmake/coveralls.cmake @@ -62,11 +62,15 @@ function(code_coverage _COVERAGE_SRCS _COVERALLS_UPLOAD _CMAKE_SCRIPT_PATH) endfunction() if(WITH_COVERAGE) - if (NOT ("$ENV{PADDLE_GIT_DIFF_H_FILE}" STREQUAL "")) + if (WITH_INCREMENTAL_COVERAGE) + if (NOT ("$ENV{PADDLE_GIT_DIFF_H_FILE}" STREQUAL "")) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage") + endif() + else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage") endif() - set(EXCLUDE_DIRS "demo/" "build/" diff --git a/cmake/generic.cmake b/cmake/generic.cmake index d3fca7c66f27886babb86e919f9f78a197455798..9d0d9e7dc442ee42e934bbc831bd5a3a23098ac6 100644 --- a/cmake/generic.cmake +++ b/cmake/generic.cmake @@ -267,7 +267,7 @@ function(merge_static_libs TARGET_NAME) endfunction(merge_static_libs) function(check_coverage_opt TARGET_NAME SRCS) - if(WITH_COVERAGE) + if(WITH_COVERAGE AND WITH_INCREMENTAL_COVERAGE) if ("$ENV{PADDLE_GIT_DIFF_H_FILE}" STREQUAL "") if (NOT ("$ENV{PADDLE_GIT_DIFF_CC_FILE}" STREQUAL "")) string(REPLACE "," ";" CC_FILE_LIST $ENV{PADDLE_GIT_DIFF_CC_FILE}) diff --git a/paddle/scripts/paddle_build.sh b/paddle/scripts/paddle_build.sh index 35c9d581d9fefebbf431d86b65d1e390efe27fcb..419e1722d9581b47b43eafba3f1d9ae35ed6f273 100755 --- a/paddle/scripts/paddle_build.sh +++ b/paddle/scripts/paddle_build.sh @@ -232,6 +232,7 @@ function cmake_base() { -DCUDNN_ROOT=/usr/ -DWITH_TESTING=${WITH_TESTING:-ON} -DWITH_COVERAGE=${WITH_COVERAGE:-OFF} + -WITH_INCREMENTAL_COVERAGE=${WITH_INCREMENTAL_COVERAGE:-OFF} -DCMAKE_MODULE_PATH=/opt/rocm/hip/cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON @@ -266,6 +267,7 @@ EOF -DCUDNN_ROOT=/usr/ \ -DWITH_TESTING=${WITH_TESTING:-ON} \ -DWITH_COVERAGE=${WITH_COVERAGE:-OFF} \ + -WITH_INCREMENTAL_COVERAGE=${WITH_INCREMENTAL_COVERAGE:-OFF} \ -DCMAKE_MODULE_PATH=/opt/rocm/hip/cmake \ -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \ -DWITH_CONTRIB=${WITH_CONTRIB:-ON} \