+++ /dev/null
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -448,7 +448,7 @@ endif()
-
- # libclamav feature dependencies
- if(NOT WIN32)
-- find_package(Iconv REQUIRED)
-+ find_package(Iconv)
- # Set variable required by libclamav to use iconv
- set(HAVE_ICONV 1)
- endif()
---- a/libclamav/CMakeLists.txt
-+++ b/libclamav/CMakeLists.txt
-@@ -536,10 +536,39 @@ if(ENABLE_SHARED_LIB)
- ClamAV::win32_compat
- wsock32 ws2_32 )
- else()
-+ if(Iconv_FOUND)
-+ if(NOT Iconv_IS_BUILT_IN)
-+ target_link_libraries(clamav PRIVATE Iconv::Iconv)
-+ set(CMAKE_REQUIRED_LIBRARIES "Iconv::Iconv")
-+ endif()
-+ else()
-+ # Sometime the build environment is not setup
-+ # in a way CMake can find Iconv on its own by default.
-+ # But if we simply link against iconv (-liconv), the build may succeed
-+ # due to other compiler/link flags.
-+ set(CMAKE_REQUIRED_LIBRARIES "iconv")
-+ check_c_source_compiles("
-+ #include <stddef.h>
-+ #include <iconv.h>
-+ int main() {
-+ char *a, *b;
-+ size_t i, j;
-+ iconv_t ic;
-+ ic = iconv_open(\"to\", \"from\");
-+ iconv(ic, &a, &i, &b, &j);
-+ iconv_close(ic);
-+ }
-+ "
-+ Iconv_EXPLICITLY_AT_ENV)
-+ if(Iconv_EXPLICITLY_AT_ENV)
-+ target_link_libraries(clamav PRIVATE iconv)
-+ else()
-+ message(FATAL_ERROR "Iconv is not found, make sure to provide it in the build environment")
-+ endif()
-+ endif()
- target_link_libraries( clamav
- PUBLIC
- Threads::Threads
-- Iconv::Iconv
- ${CMAKE_DL_LIBS}
- m )
- endif()
-@@ -556,8 +585,6 @@ if(ENABLE_SHARED_LIB)
-
- if(WIN32)
- set_target_properties( clamav PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON )
-- else()
-- target_link_libraries( clamav PUBLIC Iconv::Iconv )
- endif()
- if(WIN32)
- install( TARGETS clamav DESTINATION . COMPONENT libraries )