diff --git a/CMakeLists.txt b/CMakeLists.txt
index d41286b..81c7ff8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -9,8 +9,6 @@ if(WIN32)
 endif()
 include(CheckCXXCompilerFlag)
 include(CheckCCompilerFlag)
-include(Findcppcheck)
-include(CppcheckTargets)
 include(ExternalProject)
 
 if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git"
@@ -408,7 +406,6 @@ if(LIEF_COVERAGE)
   target_link_libraries(LIB_LIEF gcov)
 endif()
 
-find_package(cppcheck)
 
 if(MSVC)
   string(TOLOWER "${CMAKE_BUILD_TYPE}" build_type)
diff --git a/api/c/ELF/DynamicEntry.cpp b/api/c/ELF/DynamicEntry.cpp
index 34d964b..30a1691 100644
--- a/api/c/ELF/DynamicEntry.cpp
+++ b/api/c/ELF/DynamicEntry.cpp
@@ -39,7 +39,6 @@ void init_c_dynamic_entries(Elf_Binary_t* c_binary, Binary* binary) {
 
           c_binary->dynamic_entries[i] = reinterpret_cast<Elf_DynamicEntry_t*>(e);
           break;
-          // cppcheck-suppress memleak
         }
 
       case DYNAMIC_TAGS::DT_SONAME:
diff --git a/cmake/CppcheckTargets.cmake b/cmake/CppcheckTargets.cmake
deleted file mode 100644
index 29bc898..0000000
--- a/cmake/CppcheckTargets.cmake
+++ /dev/null
@@ -1,231 +0,0 @@
-# - Run cppcheck on c++ source files as a custom target and a test
-#
-#  include(CppcheckTargets)
-#  add_cppcheck(<target-name> [UNUSED_FUNCTIONS] [STYLE] [POSSIBLE_ERROR] [FORCE] [FAIL_ON_WARNINGS]) -
-#    Create a target to check a target's sources with cppcheck and the indicated options
-#  add_cppcheck_sources(<target-name> [UNUSED_FUNCTIONS] [STYLE] [POSSIBLE_ERROR] [FORCE] [FAIL_ON_WARNINGS]) -
-#    Create a target to check standalone sources with cppcheck and the indicated options
-#
-# Requires these CMake modules:
-#  Findcppcheck
-#
-# Requires CMake 2.6 or newer (uses the 'function' command)
-#
-# Original Author:
-# 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net>
-# http://academic.cleardefinition.com
-# Iowa State University HCI Graduate Program/VRAC
-#
-# Copyright Iowa State University 2009-2010.
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-if(__add_cppcheck)
-	return()
-endif()
-set(__add_cppcheck YES)
-
-if(NOT CPPCHECK_FOUND)
-	find_package(cppcheck QUIET)
-endif()
-
-if(CPPCHECK_FOUND)
-	if(NOT TARGET all_cppcheck)
-		add_custom_target(all_cppcheck)
-		set_target_properties(all_cppcheck PROPERTIES EXCLUDE_FROM_ALL TRUE)
-	endif()
-endif()
-
-function(add_cppcheck_sources _targetname)
-	if(CPPCHECK_FOUND)
-		set(_cppcheck_args)
-		set(_input ${ARGN})
-		list(FIND _input UNUSED_FUNCTIONS _unused_func)
-		if("${_unused_func}" GREATER "-1")
-			list(APPEND _cppcheck_args ${CPPCHECK_UNUSEDFUNC_ARG})
-			list(REMOVE_AT _input ${_unused_func})
-		endif()
-
-		list(FIND _input STYLE _style)
-		if("${_style}" GREATER "-1")
-			list(APPEND _cppcheck_args ${CPPCHECK_STYLE_ARG})
-			list(REMOVE_AT _input ${_style})
-		endif()
-
-		list(FIND _input POSSIBLE_ERROR _poss_err)
-		if("${_poss_err}" GREATER "-1")
-			list(APPEND _cppcheck_args ${CPPCHECK_POSSIBLEERROR_ARG})
-			list(REMOVE_AT _input ${_poss_err})
-		endif()
-
-		list(FIND _input FORCE _force)
-		if("${_force}" GREATER "-1")
-			list(APPEND _cppcheck_args "--force")
-			list(REMOVE_AT _input ${_force})
-		endif()
-
-		list(FIND _input FAIL_ON_WARNINGS _fail_on_warn)
-		if("${_fail_on_warn}" GREATER "-1")
-			list(APPEND
-				CPPCHECK_FAIL_REGULAR_EXPRESSION
-				${CPPCHECK_WARN_REGULAR_EXPRESSION})
-			list(REMOVE_AT _input ${_fail_on_warn})
-		endif()
-
-		set(_files)
-		foreach(_source ${_input})
-			get_source_file_property(_cppcheck_loc "${_source}" LOCATION)
-			if(_cppcheck_loc)
-				# This file has a source file property, carry on.
-				get_source_file_property(_cppcheck_lang "${_source}" LANGUAGE)
-				if("${_cppcheck_lang}" MATCHES "CXX")
-					list(APPEND _files "${_cppcheck_loc}")
-				endif()
-			else()
-				# This file doesn't have source file properties - figure it out.
-				get_filename_component(_cppcheck_loc "${_source}" ABSOLUTE)
-				if(EXISTS "${_cppcheck_loc}")
-					list(APPEND _files "${_cppcheck_loc}")
-				else()
-					message(FATAL_ERROR
-						"Adding CPPCHECK for file target ${_targetname}: "
-						"File ${_source} does not exist or needs a corrected path location "
-						"since we think its absolute path is ${_cppcheck_loc}")
-				endif()
-			endif()
-		endforeach()
-
-		if("1.${CMAKE_VERSION}" VERSION_LESS "1.2.8.0")
-			# Older than CMake 2.8.0
-			add_test(${_targetname}_cppcheck_test
-				"${CPPCHECK_EXECUTABLE}"
-				${CPPCHECK_TEMPLATE_ARG}
-				${_cppcheck_args} "--inline-suppr"
-				${_files})
-		else()
-			# CMake 2.8.0 and newer
-			add_test(NAME
-				${_targetname}_cppcheck_test
-				COMMAND
-				"${CPPCHECK_EXECUTABLE}"
-				${CPPCHECK_TEMPLATE_ARG}
-				${_cppcheck_args} "--inline-suppr"
-				${_files})
-		endif()
-
-		set_tests_properties(${_targetname}_cppcheck_test
-			PROPERTIES
-			FAIL_REGULAR_EXPRESSION
-			"${CPPCHECK_FAIL_REGULAR_EXPRESSION}")
-
-		add_custom_command(TARGET
-			all_cppcheck
-			PRE_BUILD
-			COMMAND
-			${CPPCHECK_EXECUTABLE}
-			${CPPCHECK_QUIET_ARG}
-			${CPPCHECK_TEMPLATE_ARG}
-			${_cppcheck_args} "--inline-suppr"
-			${_files}
-			WORKING_DIRECTORY
-			"${CMAKE_CURRENT_SOURCE_DIR}"
-			COMMENT
-			"${_targetname}_cppcheck: Running cppcheck on target ${_targetname}..."
-			VERBATIM)
-	endif()
-endfunction()
-
-function(add_cppcheck _name)
-	if(NOT TARGET ${_name})
-		message(FATAL_ERROR
-			"add_cppcheck given a target name that does not exist: '${_name}' !")
-	endif()
-	if(CPPCHECK_FOUND)
-    set(_cppcheck_args CACHE STRING "${_cppcheck_args} ")
-    #set(_cppcheck_args "${_cppcheck_args} ")
-		list(FIND ARGN UNUSED_FUNCTIONS _unused_func)
-		if("${_unused_func}" GREATER "-1")
-			list(APPEND _cppcheck_args ${CPPCHECK_UNUSEDFUNC_ARG})
-		endif()
-
-		list(FIND ARGN STYLE _style)
-		if("${_style}" GREATER "-1")
-			list(APPEND _cppcheck_args ${CPPCHECK_STYLE_ARG})
-		endif()
-
-    list(FIND ARGN POSSIBLE_ERROR _poss_err)
-		if("${_poss_err}" GREATER "-1")
-			list(APPEND _cppcheck_args ${CPPCHECK_POSSIBLEERROR_ARG})
-		endif()
-
-		list(FIND ARGN FORCE _force)
-		if("${_force}" GREATER "-1")
-			list(APPEND _cppcheck_args "--force")
-		endif()
-
-		list(FIND _input FAIL_ON_WARNINGS _fail_on_warn)
-		if("${_fail_on_warn}" GREATER "-1")
-			list(APPEND
-				CPPCHECK_FAIL_REGULAR_EXPRESSION
-				${CPPCHECK_WARN_REGULAR_EXPRESSION})
-			list(REMOVE_AT _input ${_unused_func})
-		endif()
-
-		get_target_property(_cppcheck_includes "${_name}" INCLUDE_DIRECTORIES)
-		set(_includes)
-		foreach(_include ${_cppcheck_includes})
-			list(APPEND _includes "-I${_include}")
-		endforeach()
-
-		get_target_property(_cppcheck_sources "${_name}" SOURCES)
-		set(_files)
-		foreach(_source ${_cppcheck_sources})
-			get_source_file_property(_cppcheck_lang "${_source}" LANGUAGE)
-			get_source_file_property(_cppcheck_loc "${_source}" LOCATION)
-			if("${_cppcheck_lang}" MATCHES "CXX")
-				list(APPEND _files "${_cppcheck_loc}")
-			endif()
-		endforeach()
-
-		if("1.${CMAKE_VERSION}" VERSION_LESS "1.2.8.0")
-			# Older than CMake 2.8.0
-			add_test(${_name}_cppcheck_test
-				"${CPPCHECK_EXECUTABLE}"
-				${CPPCHECK_TEMPLATE_ARG}
-				${_cppcheck_args} "--inline-suppr"
-				${_files})
-		else()
-			# CMake 2.8.0 and newer
-			add_test(NAME
-				${_name}_cppcheck_test
-				COMMAND
-				"${CPPCHECK_EXECUTABLE}"
-				${CPPCHECK_TEMPLATE_ARG}
-				${_cppcheck_args} "--inline-suppr"
-				${_files})
-		endif()
-
-		set_tests_properties(${_name}_cppcheck_test
-			PROPERTIES
-			FAIL_REGULAR_EXPRESSION
-			"${CPPCHECK_FAIL_REGULAR_EXPRESSION}")
-    MESSAGE(STATUS "CPPCHECKargs: ${_cppcheck_args}")
-		add_custom_command(TARGET
-			all_cppcheck
-			PRE_BUILD
-			COMMAND
-			${CPPCHECK_EXECUTABLE}
-			${CPPCHECK_QUIET_ARG}
-			${CPPCHECK_TEMPLATE_ARG}
-			${_cppcheck_args} "--inline-suppr"
-			${_includes}
-			${_files}
-			WORKING_DIRECTORY
-			"${CMAKE_CURRENT_SOURCE_DIR}"
-			COMMENT
-			"${_name}_cppcheck: Running cppcheck on target ${_name}..."
-			VERBATIM)
-	endif()
-
-endfunction()
diff --git a/cmake/Findcppcheck.cmake b/cmake/Findcppcheck.cmake
deleted file mode 100644
index 2dcf799..0000000
--- a/cmake/Findcppcheck.cmake
+++ /dev/null
@@ -1,167 +0,0 @@
-# - try to find cppcheck tool
-#
-# Cache Variables:
-#  CPPCHECK_EXECUTABLE
-#
-# Non-cache variables you might use in your CMakeLists.txt:
-#  CPPCHECK_FOUND
-#  CPPCHECK_POSSIBLEERROR_ARG
-#  CPPCHECK_UNUSEDFUNC_ARG
-#  CPPCHECK_STYLE_ARG
-#  CPPCHECK_QUIET_ARG
-#  CPPCHECK_INCLUDEPATH_ARG
-#  CPPCHECK_FAIL_REGULAR_EXPRESSION
-#  CPPCHECK_WARN_REGULAR_EXPRESSION
-#  CPPCHECK_MARK_AS_ADVANCED - whether to mark our vars as advanced even
-#    if we don't find this program.
-#
-# Requires these CMake modules:
-#  FindPackageHandleStandardArgs (known included with CMake >=2.6.2)
-#
-# Original Author:
-# 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net>
-# http://academic.cleardefinition.com
-# Iowa State University HCI Graduate Program/VRAC
-#
-# Copyright Iowa State University 2009-2010.
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-file(TO_CMAKE_PATH "${CPPCHECK_ROOT_DIR}" CPPCHECK_ROOT_DIR)
-set(CPPCHECK_ROOT_DIR
-	"${CPPCHECK_ROOT_DIR}"
-	CACHE
-	PATH
-	"Path to search for cppcheck")
-
-# cppcheck app bundles on Mac OS X are GUI, we want command line only
-set(_oldappbundlesetting ${CMAKE_FIND_APPBUNDLE})
-set(CMAKE_FIND_APPBUNDLE NEVER)
-
-if(CPPCHECK_EXECUTABLE AND NOT EXISTS "${CPPCHECK_EXECUTABLE}")
-	set(CPPCHECK_EXECUTABLE "notfound" CACHE PATH FORCE "")
-endif()
-
-# If we have a custom path, look there first.
-if(CPPCHECK_ROOT_DIR)
-	find_program(CPPCHECK_EXECUTABLE
-		NAMES
-		cppcheck
-		cli
-		PATHS
-		"${CPPCHECK_ROOT_DIR}"
-		PATH_SUFFIXES
-		cli
-		NO_DEFAULT_PATH)
-endif()
-
-find_program(CPPCHECK_EXECUTABLE NAMES cppcheck)
-
-# Restore original setting for appbundle finding
-set(CMAKE_FIND_APPBUNDLE ${_oldappbundlesetting})
-
-# Find out where our test file is
-get_filename_component(_cppcheckmoddir ${CMAKE_CURRENT_LIST_FILE} PATH)
-set(_cppcheckdummyfile "${_cppcheckmoddir}/Findcppcheck.cpp")
-if(NOT EXISTS "${_cppcheckdummyfile}")
-	message(FATAL_ERROR
-		"Missing file ${_cppcheckdummyfile} - should be alongside Findcppcheck.cmake, can be found at https://github.com/rpavlik/cmake-modules")
-endif()
-
-function(_cppcheck_test_arg _resultvar _arg)
-	if(NOT CPPCHECK_EXECUTABLE)
-		set(${_resultvar} NO)
-		return()
-	endif()
-	execute_process(COMMAND
-		"${CPPCHECK_EXECUTABLE}"
-		"${_arg}"
-		"--quiet"
-		"${_cppcheckdummyfile}"
-		RESULT_VARIABLE
-		_cppcheck_result
-		OUTPUT_QUIET
-		ERROR_QUIET)
-	if("${_cppcheck_result}" EQUAL 0)
-		set(${_resultvar} YES PARENT_SCOPE)
-	else()
-		set(${_resultvar} NO PARENT_SCOPE)
-	endif()
-endfunction()
-
-function(_cppcheck_set_arg_var _argvar _arg)
-	if("${${_argvar}}" STREQUAL "")
-		_cppcheck_test_arg(_cppcheck_arg "${_arg}")
-		if(_cppcheck_arg)
-			set(${_argvar} "${_arg}" PARENT_SCOPE)
-		endif()
-	endif()
-endfunction()
-
-if(CPPCHECK_EXECUTABLE)
-
-	# Check for the two types of command line arguments by just trying them
-	_cppcheck_set_arg_var(CPPCHECK_STYLE_ARG "--enable=style")
-	_cppcheck_set_arg_var(CPPCHECK_STYLE_ARG "--style")
-	if("${CPPCHECK_STYLE_ARG}" STREQUAL "--enable=style")
-
-		_cppcheck_set_arg_var(CPPCHECK_UNUSEDFUNC_ARG
-			"--enable=unusedFunction")
-		_cppcheck_set_arg_var(CPPCHECK_INFORMATION_ARG "--enable=information")
-		_cppcheck_set_arg_var(CPPCHECK_MISSINGINCLUDE_ARG
-			"--enable=missingInclude")
-		_cppcheck_set_arg_var(CPPCHECK_POSIX_ARG "--enable=posix")
-		_cppcheck_set_arg_var(CPPCHECK_POSSIBLEERROR_ARG
-			"--enable=possibleError")
-		_cppcheck_set_arg_var(CPPCHECK_POSSIBLEERROR_ARG "--enable=all")
-
-		if(MSVC)
-			set(CPPCHECK_TEMPLATE_ARG --template vs)
-			set(CPPCHECK_FAIL_REGULAR_EXPRESSION "[(]error[)]")
-			set(CPPCHECK_WARN_REGULAR_EXPRESSION "[(]style[)]")
-		elseif(CMAKE_COMPILER_IS_GNUCXX)
-			set(CPPCHECK_TEMPLATE_ARG --template gcc)
-			set(CPPCHECK_FAIL_REGULAR_EXPRESSION " error: ")
-			set(CPPCHECK_WARN_REGULAR_EXPRESSION " style: ")
-		else()
-			set(CPPCHECK_TEMPLATE_ARG --template gcc)
-			set(CPPCHECK_FAIL_REGULAR_EXPRESSION " error: ")
-			set(CPPCHECK_WARN_REGULAR_EXPRESSION " style: ")
-		endif()
-	elseif("${CPPCHECK_STYLE_ARG}" STREQUAL "--style")
-		# Old arguments
-		_cppcheck_set_arg_var(CPPCHECK_UNUSEDFUNC_ARG "--unused-functions")
-		_cppcheck_set_arg_var(CPPCHECK_POSSIBLEERROR_ARG "--all")
-		set(CPPCHECK_FAIL_REGULAR_EXPRESSION "error:")
-		set(CPPCHECK_WARN_REGULAR_EXPRESSION "[(]style[)]")
-	else()
-		# No idea - some other issue must be getting in the way
-		message(STATUS
-			"WARNING: Can't detect whether CPPCHECK wants new or old-style arguments!")
-	endif()
-
-	set(CPPCHECK_QUIET_ARG "--quiet")
-	set(CPPCHECK_INCLUDEPATH_ARG "-I")
-
-endif()
-
-set(CPPCHECK_ALL
-	"${CPPCHECK_EXECUTABLE} ${CPPCHECK_POSSIBLEERROR_ARG} ${CPPCHECK_UNUSEDFUNC_ARG} ${CPPCHECK_STYLE_ARG} ${CPPCHECK_QUIET_ARG} ${CPPCHECK_INCLUDEPATH_ARG} some/include/path")
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(cppcheck
-	DEFAULT_MSG
-	CPPCHECK_ALL
-	CPPCHECK_EXECUTABLE
-	CPPCHECK_POSSIBLEERROR_ARG
-	CPPCHECK_UNUSEDFUNC_ARG
-	CPPCHECK_STYLE_ARG
-	CPPCHECK_INCLUDEPATH_ARG
-	CPPCHECK_QUIET_ARG)
-
-if(CPPCHECK_FOUND OR CPPCHECK_MARK_AS_ADVANCED)
-	mark_as_advanced(CPPCHECK_ROOT_DIR)
-endif()
-
-mark_as_advanced(CPPCHECK_EXECUTABLE)
diff --git a/cmake/Findcppcheck.cpp b/cmake/Findcppcheck.cpp
deleted file mode 100644
index 84350db..0000000
--- a/cmake/Findcppcheck.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-/**
- * \file Findcppcheck.cpp
- * \brief Dummy C++ source file used by CMake module Findcppcheck.cmake
- *
- * \author
- * Ryan Pavlik, 2009-2010
- * <rpavlik@iastate.edu>
- * http://academic.cleardefinition.com/
- *
- */
-
-
-
-int main(int argc, char* argv[]) {
-	return 0;
-}