From e0827ea544d475622ed6b7a10e201fd93cae4251 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sl=C3=A1vek=20Banko?= Date: Mon, 23 Oct 2023 04:04:09 +0200 Subject: [PATCH] cmake: Add detection of standalone iconv library. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Slávek Banko --- ConfigureChecks.cmake | 20 ++++++++++++++++++-- kernel/kls_xcf/xcf2pnm/CMakeLists.txt | 1 + 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake index 5914777..d8fe7e1 100644 --- a/ConfigureChecks.cmake +++ b/ConfigureChecks.cmake @@ -337,9 +337,25 @@ if( BUILD_XCF ) check_include_file( "iconv.h" HAVE_ICONV_H ) if( NOT HAVE_ICONV_H ) - tde_message_fatal( "xcf codec was requested but libiconv not found on your system" ) + tde_message_fatal( "xcf codec was requested but iconv header not found on your system" ) endif( ) - set( HAVE_ICONV 1 ) + + message( STATUS "Check for standalone libiconv" ) + find_library( HAVE_LIBICONV iconv ) + if( HAVE_LIBICONV ) + set( ICONV_LIBRARIES iconv ) + message( STATUS "Check for standalone libiconv - found" ) + else( ) + set( ICONV_LIBRARIES "" ) + message( STATUS "Check for standalone libiconv - not found" ) + endif( ) + + tde_save_and_set( CMAKE_REQUIRED_LIBRARIES "${ICONV_LIBRARIES}" ) + check_function_exists( "iconv_open" HAVE_ICONV ) + tde_restore( CMAKE_REQUIRED_LIBRARIES ) + if( NOT HAVE_ICONV ) + tde_message_fatal( "xcf codec was requested but iconv library not found on your system" ) + endif() endif( ) diff --git a/kernel/kls_xcf/xcf2pnm/CMakeLists.txt b/kernel/kls_xcf/xcf2pnm/CMakeLists.txt index 5edc991..a38e7d1 100644 --- a/kernel/kls_xcf/xcf2pnm/CMakeLists.txt +++ b/kernel/kls_xcf/xcf2pnm/CMakeLists.txt @@ -10,5 +10,6 @@ include_directories( file( GLOB _bin_c_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/*.c ) tde_add_executable( ksquirrel-libs-xcf2pnm SOURCES ${_bin_c_files} + LINK ${ICONV_LIBRARIES} DESTINATION ${BIN_INSTALL_DIR} )