1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
# - Locate Iconv
# This module defines:
#
# ICONV_INCLUDE_DIR
# ICONV_LIBRARY
# ICONV_FOUND
#
# Look for header file
FIND_PATH(ICONV_INCLUDE_DIR NAMES iconv.h)
# Check if library is needed
IF(ICONV_INCLUDE_DIR)
SET(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_DIR})
TRY_COMPILE(ICONV_LIBRARY_NOT_NEEDED
${CMAKE_BINARY_DIR}
${CMAKE_MODULE_PATH}/iconv_test.c
CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:STRING=${ICONV_INCLUDE_DIR}"
)
IF(NOT ICONV_LIBRARY_NOT_NEEDED)
# Locate library
FIND_LIBRARY(ICONV_LIBRARY NAMES iconv libiconv)
IF(ICONV_INCLUDE_DIR AND ICONV_LIBRARY)
SET(ICONV_FOUND TRUE)
ENDIF(ICONV_INCLUDE_DIR AND ICONV_LIBRARY)
ELSE(NOT ICONV_LIBRARY_NOT_NEEDED)
# Library not needed
SET(ICONV_LIBRARY)
IF(ICONV_INCLUDE_DIR)
SET(ICONV_FOUND TRUE)
ENDIF(ICONV_INCLUDE_DIR)
ENDIF(NOT ICONV_LIBRARY_NOT_NEEDED)
ENDIF(ICONV_INCLUDE_DIR)
# Show status
IF(ICONV_FOUND)
IF(NOT Iconv_FIND_QUIETLY)
IF(ICONV_LIBRARY_NOT_NEEDED)
MESSAGE(STATUS "Found Iconv: -I${ICONV_INCLUDE_DIR}, library not needed")
ELSE(ICONV_LIBRARY_NOT_NEEDED)
MESSAGE(STATUS "Found Iconv: -I${ICONV_INCLUDE_DIR}, ${ICONV_LIBRARY}")
ENDIF(ICONV_LIBRARY_NOT_NEEDED)
ENDIF(NOT Iconv_FIND_QUIETLY)
ELSE(ICONV_FOUND)
IF(Iconv_FIND_REQUIRED)
MESSAGE(FATAL_ERROR "Could not find ICONV")
ENDIF(Iconv_FIND_REQUIRED)
ENDIF(ICONV_FOUND)
MARK_AS_ADVANCED(ICONV_INCLUDE_DIR ICONV_LIBRARY ICONV_FOUND)
|