ferencd@0: # - Try to find Iconv ferencd@0: # Once done this will define ferencd@0: # ferencd@0: # ICONV_FOUND - system has Iconv ferencd@0: # ICONV_INCLUDE_DIR - the Iconv include directory ferencd@0: # ICONV_LIBRARIES - Link these to use Iconv ferencd@0: # ICONV_SECOND_ARGUMENT_IS_CONST - the second argument for iconv() is const ferencd@0: # ferencd@0: include(CheckCXXSourceCompiles) ferencd@0: ferencd@0: IF (ICONV_INCLUDE_DIR AND ICONV_LIBRARIES) ferencd@0: # Already in cache, be silent ferencd@0: SET(ICONV_FIND_QUIETLY TRUE) ferencd@0: ENDIF (ICONV_INCLUDE_DIR AND ICONV_LIBRARIES) ferencd@0: ferencd@0: FIND_PATH(ICONV_INCLUDE_DIR iconv.h) ferencd@0: ferencd@0: IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") ferencd@0: FIND_LIBRARY(ICONV_LIBRARIES NAMES iconv libiconv libiconv-2 c HINTS "/opt/local/lib") ferencd@0: ELSE() ferencd@0: FIND_LIBRARY(ICONV_LIBRARIES NAMES iconv libiconv libiconv-2 c) ferencd@0: ENDIF() ferencd@0: ferencd@0: IF(ICONV_INCLUDE_DIR AND ICONV_LIBRARIES) ferencd@0: SET(ICONV_FOUND TRUE) ferencd@0: ENDIF(ICONV_INCLUDE_DIR AND ICONV_LIBRARIES) ferencd@0: ferencd@0: set(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_DIR}) ferencd@0: set(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARIES}) ferencd@0: IF(ICONV_FOUND) ferencd@0: check_cxx_source_compiles(" ferencd@0: #include ferencd@0: int main(){ ferencd@0: iconv_t conv = 0; ferencd@0: const char* in = 0; ferencd@0: size_t ilen = 0; ferencd@0: char* out = 0; ferencd@0: size_t olen = 0; ferencd@0: iconv(conv, &in, &ilen, &out, &olen); ferencd@0: return 0; ferencd@0: } ferencd@0: " ICONV_SECOND_ARGUMENT_IS_CONST ) ferencd@0: ENDIF(ICONV_FOUND) ferencd@0: set(CMAKE_REQUIRED_INCLUDES) ferencd@0: set(CMAKE_REQUIRED_LIBRARIES) ferencd@0: ferencd@0: IF(ICONV_FOUND) ferencd@0: IF(NOT ICONV_FIND_QUIETLY) ferencd@0: MESSAGE(STATUS "Found Iconv: ${ICONV_LIBRARIES}") ferencd@0: ENDIF(NOT ICONV_FIND_QUIETLY) ferencd@0: ELSE(ICONV_FOUND) ferencd@0: IF(Iconv_FIND_REQUIRED) ferencd@0: MESSAGE(FATAL_ERROR "Could not find Iconv") ferencd@0: ENDIF(Iconv_FIND_REQUIRED) ferencd@0: ENDIF(ICONV_FOUND) ferencd@0: ferencd@0: MARK_AS_ADVANCED( ferencd@0: ICONV_INCLUDE_DIR ferencd@0: ICONV_LIBRARIES ferencd@0: ICONV_SECOND_ARGUMENT_IS_CONST ferencd@0: )