--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -469,6 +469,9 @@ if(LIBXML2_WITH_PROGRAMS)
 		add_executable(LibXml2::${PROGRAM} ALIAS ${PROGRAM})
 		target_compile_definitions(${PROGRAM} PRIVATE SYSCONFDIR="${CMAKE_INSTALL_FULL_SYSCONFDIR}")
 		target_link_libraries(${PROGRAM} LibXml2)
+		if(LIBXML2_WITH_ICONV AND NOT Iconv_IS_BUILT_IN)
+			target_link_libraries(${PROGRAM} iconv)
+		endif()
 		if(HAVE_LIBHISTORY)
 			target_link_libraries(${PROGRAM} history)
 		endif()
