mirror of https://github.com/koide3/small_gicp.git
coverage
This commit is contained in:
parent
b69ea8fdc1
commit
4a66f95b0c
|
|
@ -24,6 +24,7 @@ option(BUILD_WITH_PCL "Build with PCL (required for benchmark and test only)" OF
|
||||||
option(BUILD_WITH_FAST_GICP "Build with fast_gicp (required for benchmark and test only)" OFF)
|
option(BUILD_WITH_FAST_GICP "Build with fast_gicp (required for benchmark and test only)" OFF)
|
||||||
option(BUILD_WITH_IRIDESCENCE "Build with Iridescence (required for benchmark)" OFF)
|
option(BUILD_WITH_IRIDESCENCE "Build with Iridescence (required for benchmark)" OFF)
|
||||||
option(BUILD_WITH_MARCH_NATIVE "Build with -march=native" OFF)
|
option(BUILD_WITH_MARCH_NATIVE "Build with -march=native" OFF)
|
||||||
|
option(ENABLE_COVERAGE "Enable coverage" OFF)
|
||||||
|
|
||||||
if(BUILD_WITH_MARCH_NATIVE)
|
if(BUILD_WITH_MARCH_NATIVE)
|
||||||
add_compile_options(-march=native)
|
add_compile_options(-march=native)
|
||||||
|
|
@ -31,6 +32,22 @@ if(BUILD_WITH_MARCH_NATIVE)
|
||||||
set(CMAKE_CXX_FLAGS "-march=native ${CMAKE_CXX_FLAGS}")
|
set(CMAKE_CXX_FLAGS "-march=native ${CMAKE_CXX_FLAGS}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
##############
|
||||||
|
## Coverage ##
|
||||||
|
##############
|
||||||
|
if(ENABLE_COVERAGE)
|
||||||
|
# https://danielsieger.com/blog/2022/03/06/code-coverage-for-cpp.html
|
||||||
|
set(CMAKE_CXX_FLAGS "-O0 -coverage")
|
||||||
|
|
||||||
|
find_program(LCOV lcov REQUIRED)
|
||||||
|
find_program(GENHTML genhtml REQUIRED)
|
||||||
|
|
||||||
|
add_custom_target(coverage
|
||||||
|
COMMAND ${LCOV} --directory . --capture --output-file coverage.info
|
||||||
|
COMMAND ${LCOV} --remove coverage.info -o filtered_coverage.info '/usr/*'
|
||||||
|
COMMAND ${GENHTML} --demangle-cpp -o coverage filtered_coverage.info
|
||||||
|
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||||
|
endif()
|
||||||
|
|
||||||
#############
|
#############
|
||||||
## Install ##
|
## Install ##
|
||||||
|
|
@ -51,6 +68,10 @@ if(BUILD_HELPER)
|
||||||
include
|
include
|
||||||
${EIGEN3_INCLUDE_DIR}
|
${EIGEN3_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
target_link_libraries(small_gicp
|
||||||
|
OpenMP::OpenMP_CXX
|
||||||
|
)
|
||||||
|
|
||||||
install(TARGETS small_gicp DESTINATION lib)
|
install(TARGETS small_gicp DESTINATION lib)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
@ -101,6 +122,7 @@ if(BUILD_BENCHMARKS)
|
||||||
)
|
)
|
||||||
target_link_libraries(odometry_benchmark
|
target_link_libraries(odometry_benchmark
|
||||||
fmt::fmt
|
fmt::fmt
|
||||||
|
OpenMP::OpenMP_CXX
|
||||||
${PCL_LIBRARIES}
|
${PCL_LIBRARIES}
|
||||||
${TBB_LIBRARIES}
|
${TBB_LIBRARIES}
|
||||||
${Iridescence_LIBRARIES}
|
${Iridescence_LIBRARIES}
|
||||||
|
|
@ -117,6 +139,7 @@ if(BUILD_BENCHMARKS)
|
||||||
)
|
)
|
||||||
target_link_libraries(kdtree_benchmark
|
target_link_libraries(kdtree_benchmark
|
||||||
fmt::fmt
|
fmt::fmt
|
||||||
|
OpenMP::OpenMP_CXX
|
||||||
${TBB_LIBRARIES}
|
${TBB_LIBRARIES}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -133,6 +156,7 @@ if(BUILD_BENCHMARKS)
|
||||||
)
|
)
|
||||||
target_link_libraries(downsampling_benchmark
|
target_link_libraries(downsampling_benchmark
|
||||||
fmt::fmt
|
fmt::fmt
|
||||||
|
OpenMP::OpenMP_CXX
|
||||||
${PCL_LIBRARIES}
|
${PCL_LIBRARIES}
|
||||||
${TBB_LIBRARIES}
|
${TBB_LIBRARIES}
|
||||||
)
|
)
|
||||||
|
|
@ -160,6 +184,7 @@ if(BUILD_EXAMPLES)
|
||||||
target_link_libraries(${EXAMPLE_NAME}
|
target_link_libraries(${EXAMPLE_NAME}
|
||||||
small_gicp
|
small_gicp
|
||||||
fmt::fmt
|
fmt::fmt
|
||||||
|
OpenMP::OpenMP_CXX
|
||||||
${PCL_LIBRARIES}
|
${PCL_LIBRARIES}
|
||||||
${TBB_LIBRARIES}
|
${TBB_LIBRARIES}
|
||||||
)
|
)
|
||||||
|
|
@ -173,11 +198,7 @@ if(BUILD_TESTS)
|
||||||
find_package(fmt REQUIRED)
|
find_package(fmt REQUIRED)
|
||||||
find_package(PCL REQUIRED)
|
find_package(PCL REQUIRED)
|
||||||
find_package(TBB REQUIRED)
|
find_package(TBB REQUIRED)
|
||||||
|
find_package(GTest REQUIRED)
|
||||||
include(FetchContent)
|
|
||||||
FetchContent_Declare(googletest URL https://github.com/google/googletest/archive/03597a01ee50ed33e9dfd640b249b4be3799d395.zip)
|
|
||||||
FetchContent_MakeAvailable(googletest)
|
|
||||||
include(GoogleTest)
|
|
||||||
|
|
||||||
enable_testing()
|
enable_testing()
|
||||||
file(GLOB TEST_SOURCES "src/test/*.cpp")
|
file(GLOB TEST_SOURCES "src/test/*.cpp")
|
||||||
|
|
@ -194,6 +215,7 @@ if(BUILD_TESTS)
|
||||||
target_link_libraries(${TEST_NAME}
|
target_link_libraries(${TEST_NAME}
|
||||||
small_gicp
|
small_gicp
|
||||||
fmt::fmt
|
fmt::fmt
|
||||||
|
OpenMP::OpenMP_CXX
|
||||||
GTest::gtest_main
|
GTest::gtest_main
|
||||||
${PCL_LIBRARIES}
|
${PCL_LIBRARIES}
|
||||||
${TBB_LIBRARIES}
|
${TBB_LIBRARIES}
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ ENV DEBIAN_FRONTEND=noninteractive
|
||||||
RUN apt-get update && apt-get install --no-install-recommends -y \
|
RUN apt-get update && apt-get install --no-install-recommends -y \
|
||||||
&& apt-get install --no-install-recommends -y \
|
&& apt-get install --no-install-recommends -y \
|
||||||
wget nano build-essential git cmake \
|
wget nano build-essential git cmake \
|
||||||
libeigen3-dev libfmt-dev libtbb-dev libomp-dev libpcl-dev \
|
libeigen3-dev libfmt-dev libtbb-dev libomp-dev libpcl-dev libgtest-dev \
|
||||||
&& apt-get clean \
|
&& apt-get clean \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ ENV DEBIAN_FRONTEND=noninteractive
|
||||||
RUN apt-get update && apt-get install --no-install-recommends -y \
|
RUN apt-get update && apt-get install --no-install-recommends -y \
|
||||||
&& apt-get install --no-install-recommends -y \
|
&& apt-get install --no-install-recommends -y \
|
||||||
wget nano build-essential git cmake \
|
wget nano build-essential git cmake \
|
||||||
libeigen3-dev libfmt-dev libtbb-dev libomp-dev libpcl-dev \
|
libeigen3-dev libfmt-dev libtbb-dev libomp-dev libpcl-dev libgtest-dev \
|
||||||
&& apt-get clean \
|
&& apt-get clean \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue