X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=development%2Fcmake%2Fmodules%2FFindICONV.cmake;h=cb6e106fcfa96e01e609ddcd8aa8eabf727194a6;hb=6040a5faf6e6ca8fb88315984a6f3c09c8fcef80;hp=06e4f439492d37d6469c53a6f1bb28b30fb6a314;hpb=7c9876766ccf3e8bfc7db5aad975614b810d33ab;p=lyx.git diff --git a/development/cmake/modules/FindICONV.cmake b/development/cmake/modules/FindICONV.cmake index 06e4f43949..cb6e106fcf 100644 --- a/development/cmake/modules/FindICONV.cmake +++ b/development/cmake/modules/FindICONV.cmake @@ -28,7 +28,7 @@ if (ICONV_INCLUDE_DIR) # Already in cache, be silent set(ICONV_FIND_QUIETLY TRUE) -endif (ICONV_INCLUDE_DIR) +endif() FIND_PATH(ICONV_INCLUDE_DIR iconv.h /usr/include @@ -36,6 +36,7 @@ FIND_PATH(ICONV_INCLUDE_DIR iconv.h ) set(POTENTIAL_ICONV_LIBS iconv libiconv libiconv2) + FIND_LIBRARY(ICONV_LIBRARY NAMES ${POTENTIAL_ICONV_LIBS} PATHS /usr/lib @@ -52,42 +53,49 @@ if(WIN32) NAMES ${ICONV_DLL_NAMES} PATHS ENV PATH ${ICONV_INCLUDE_DIR}/../bin) - IF(ICONV_FIND_REQUIRED) - IF(NOT ICONV_DLL AND NOT ICONV_DLL_HELP) - MESSAGE(FATAL_ERROR "Could not find iconv.dll, please add correct your PATH environment variable") - ENDIF(NOT ICONV_DLL AND NOT ICONV_DLL_HELP) - IF(NOT ICONV_DLL AND ICONV_DLL_HELP) + if(ICONV_FIND_REQUIRED) + if(NOT ICONV_DLL AND NOT ICONV_DLL_HELP) + message(FATAL_ERROR "Could not find iconv.dll, please add correct your PATH environment variable") + endif() + if(NOT ICONV_DLL AND ICONV_DLL_HELP) GET_FILENAME_COMPONENT(ICONV_DLL_HELP ${ICONV_DLL_HELP} PATH) - MESSAGE(STATUS) - MESSAGE(STATUS "Could not find iconv.dll in standard search path, please add ") - MESSAGE(STATUS "${ICONV_DLL_HELP}") - MESSAGE(STATUS "to your PATH environment variable.") - MESSAGE(STATUS) - MESSAGE(FATAL_ERROR "exit cmake") - ENDIF(NOT ICONV_DLL AND ICONV_DLL_HELP) - ENDIF(ICONV_FIND_REQUIRED) -ELSE(WIN32) - set(ICONV_DLL TRUE) -endif(WIN32) + message(STATUS) + message(STATUS "Could not find iconv.dll in standard search path, please add ") + message(STATUS "${ICONV_DLL_HELP}") + message(STATUS "to your PATH environment variable.") + message(STATUS) + message(FATAL_ERROR "exit cmake") + endif() + endif() + if(ICONV_INCLUDE_DIR AND ICONV_LIBRARY AND ICONV_DLL) + set(ICONV_FOUND TRUE) + endif() +else() + check_function_exists(iconv HAVE_ICONV_IN_LIBC) + if(ICONV_INCLUDE_DIR AND HAVE_ICONV_IN_LIBC) + set(ICONV_FOUND TRUE) + set(ICONV_LIBRARY CACHE TYPE STRING FORCE) + endif() + if(ICONV_INCLUDE_DIR AND ICONV_LIBRARY) + set(ICONV_FOUND TRUE) + endif() +endif() -IF (ICONV_INCLUDE_DIR AND ICONV_LIBRARY AND ICONV_DLL) - SET(ICONV_FOUND TRUE) -ENDIF (ICONV_INCLUDE_DIR AND ICONV_LIBRARY AND ICONV_DLL) -IF (ICONV_FOUND) - IF (NOT ICONV_FIND_QUIETLY) - MESSAGE(STATUS "Found iconv library: ${ICONV_LIBRARY}") - #MESSAGE(STATUS "Found iconv dll : ${ICONV_DLL}") - ENDIF (NOT ICONV_FIND_QUIETLY) -ELSE (ICONV_FOUND) - IF (ICONV_FIND_REQUIRED) - MESSAGE(STATUS "Looked for iconv library named ${POTENTIAL_ICONV_LIBS}.") - MESSAGE(STATUS "Found no acceptable iconv library. This is fatal.") - MESSAGE(STATUS "iconv header: ${ICONV_INCLUDE_DIR}") - MESSAGE(STATUS "iconv lib : ${ICONV_LIBRARY}") - MESSAGE(FATAL_ERROR "Could NOT find iconv library") - ENDIF (ICONV_FIND_REQUIRED) -ENDIF (ICONV_FOUND) +if(ICONV_FOUND) + if(NOT ICONV_FIND_QUIETLY) + message(STATUS "Found iconv library: ${ICONV_LIBRARY}") + #message(STATUS "Found iconv dll : ${ICONV_DLL}") + endif() +else() + if(ICONV_FIND_REQUIRED) + message(STATUS "Looked for iconv library named ${POTENTIAL_ICONV_LIBS}.") + message(STATUS "Found no acceptable iconv library. This is fatal.") + message(STATUS "iconv header: ${ICONV_INCLUDE_DIR}") + message(STATUS "iconv lib : ${ICONV_LIBRARY}") + message(FATAL_ERROR "Could NOT find iconv library") + endif() +endif() MARK_AS_ADVANCED(ICONV_LIBRARY ICONV_INCLUDE_DIR)