From c533b0ba4527f9b072234b42764b0b11a22e1944 Mon Sep 17 00:00:00 2001 From: Konstantinos Sideris <sideris.konstantin@gmail.com> Date: Sun, 29 Apr 2018 14:08:57 +0300 Subject: [PATCH] Add include-what-you-use --- CMakeLists.txt | 10 ++++++++++ src/utils.cpp | 6 +++++- src/utils.hpp | 5 +++-- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7e82ba721..c46e918eb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,6 +6,7 @@ option(ASAN "Compile with address sanitizers" OFF) option(BUILD_LIB_TESTS "Build tests" ON) option(BUILD_LIB_EXAMPLES "Build examples" ON) option(COVERAGE "Calculate test coverage" OFF) +option(IWYU "Check headers with include-what-you-use" OFF) set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) set(CMAKE_INCLUDE_CURRENT_DIR ON) @@ -132,6 +133,15 @@ add_dependencies(matrix_client ${MTXCLIENT_DEPS}) target_link_libraries(matrix_client ${MTXCLIENT_LIBS}) target_include_directories(matrix_client SYSTEM PRIVATE $ENV{INCLUDE}) +if (IWYU) + find_program(iwyu_path NAMES include-what-you-use iwyu) + if (iwyu_path) + set_property(TARGET matrix_client PROPERTY CXX_INCLUDE_WHAT_YOU_USE ${iwyu_path}) + else() + message(WARNING "Could not find the program include-what-you-use") + endif() +endif() + if (BUILD_LIB_EXAMPLES) add_executable(room_feed examples/room_feed.cpp) target_link_libraries(room_feed matrix_client ${MATRIX_STRUCTS_LIBRARY}) diff --git a/src/utils.cpp b/src/utils.cpp index ade630cde..bfd52a99e 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -1,12 +1,16 @@ #include "utils.hpp" -#include <iostream> #include <sstream> +#include <string> +#include <utility> #include <boost/iostreams/copy.hpp> +#include <boost/iostreams/detail/error.hpp> +#include <boost/iostreams/detail/forward.hpp> #include <boost/iostreams/filter/gzip.hpp> #include <boost/iostreams/filter/zlib.hpp> #include <boost/iostreams/filtering_stream.hpp> +#include <boost/iostreams/traits.hpp> #include <boost/random/random_device.hpp> #include <boost/random/uniform_int_distribution.hpp> diff --git a/src/utils.hpp b/src/utils.hpp index 54047db81..2e61d78c9 100644 --- a/src/utils.hpp +++ b/src/utils.hpp @@ -1,8 +1,9 @@ #pragma once -#include <boost/iostreams/stream.hpp> +#include <_types/_uint8_t.h> +#include <boost/iostreams/device/array.hpp> +#include <iosfwd> #include <map> -#include <string> namespace mtx { namespace client { -- GitLab