aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartijn Otto <git@martijnotto.nl>2019-09-05 17:27:12 +0200
committerMartijn Otto <git@martijnotto.nl>2019-09-05 17:27:12 +0200
commit7de6671dc2db10d3a3617442e1b218361f281ddf (patch)
tree67cfc30a286e74bd2f99d60f28bfddb21a8ed3a0
parentMerge pull request #5824 (diff)
downloadmonero-7de6671dc2db10d3a3617442e1b218361f281ddf.tar.xz
Add the iwyu target to get information on unused headers
With this change, building the iwyu target will provide information on unused headers, which can be removed to reduce compilation times.
-rw-r--r--CMakeLists.txt13
1 files changed, 13 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 60fcf130e..4cc8d2296 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -27,6 +27,9 @@
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers
+
+set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
+
list(INSERT CMAKE_MODULE_PATH 0
"${CMAKE_SOURCE_DIR}/cmake")
include(CheckCCompilerFlag)
@@ -1048,3 +1051,13 @@ option(INSTALL_VENDORED_LIBUNBOUND "Install libunbound binary built from source
CHECK_C_COMPILER_FLAG(-std=c11 HAVE_C11)
+
+find_package(PythonInterp)
+find_program(iwyu_tool_path NAMES iwyu_tool.py iwyu_tool)
+if (iwyu_tool_path AND PYTHONINTERP_FOUND)
+ add_custom_target(iwyu
+ COMMAND "${PYTHON_EXECUTABLE}" "${iwyu_tool_path}" -p "${CMAKE_BINARY_DIR}" -- --no_fwd_decls
+ COMMENT "Running include-what-you-use tool"
+ VERBATIM
+ )
+endif()