CMake/FindLibiconv.cmake (35 lines of code) (raw):

# # $Id$ # # - Find libiconv # Find libiconv # # LIBICONV_INCLUDE_DIR - where to find iconv.h, etc. # LIBICONV_LIBRARY - List of libraries when using libiconv. # LIBICONV_FOUND - True if libiconv found. IF (LIBICONV_INCLUDE_DIR) # Already in cache, be silent SET(LIBICONV_FIND_QUIETLY TRUE) ENDIF () FIND_PATH(LIBICONV_INCLUDE_DIR iconv.h) FIND_LIBRARY(LIBICONV_LIBRARY iconv) # handle the QUIETLY and REQUIRED arguments and set Libmemcached_FOUND to TRUE if # all listed variables are TRUE INCLUDE(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIBICONV DEFAULT_MSG LIBICONV_LIBRARY LIBICONV_INCLUDE_DIR) SET(LIBICONV_OLD_CMAKE_REQUIRED_LIBRARIES) SET(CMAKE_REQUIRED_LIBRARIES iconv) INCLUDE(CheckCXXSourceCompiles) CHECK_CXX_SOURCE_COMPILES("#include <string.h> #include <iconv.h> int main() { iconv_t cd = 0; const char *in_p = \"testing\"; size_t in_left = strlen(in_p); char out_p[20]; size_t out_left = sizeof(out_p); iconv(cd, (const char **)&in_p, &in_left, (char **)&out_p, &out_left); return 0; }" LIBICONV_CONST) SET(CMAKE_REQUIRED_LIBRARIES LIBICONV_OLD_CMAKE_REQUIRED_LIBRARIES) MARK_AS_ADVANCED(LIBICONV_LIBRARY LIBICONV_INCLUDE_DIR LIBICONV_CONST)