Fix ReflectionTypeConstant::getTypeStructure for inherited type constants
[hiphop-php.git] / CMake / FindLibiconv.cmake
blobbe0d8b8f648216fa8ba9617f31b021b8347f80e4
2 # $Id$
4 # - Find libiconv
5 # Find libiconv
7 #  LIBICONV_INCLUDE_DIR - where to find iconv.h, etc.
8 #  LIBICONV_LIBRARY     - List of libraries when using libiconv.
9 #  LIBICONV_FOUND       - True if libiconv found.
12 IF (LIBICONV_INCLUDE_DIR)
13   # Already in cache, be silent
14   SET(LIBICONV_FIND_QUIETLY TRUE)
15 ENDIF ()
17 FIND_PATH(LIBICONV_INCLUDE_DIR iconv.h)
19 FIND_LIBRARY(LIBICONV_LIBRARY iconv)
21 # handle the QUIETLY and REQUIRED arguments and set Libmemcached_FOUND to TRUE if
22 # all listed variables are TRUE
23 INCLUDE(FindPackageHandleStandardArgs)
24 FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIBICONV DEFAULT_MSG LIBICONV_LIBRARY LIBICONV_INCLUDE_DIR)
26 SET(LIBICONV_OLD_CMAKE_REQUIRED_LIBRARIES)
27 SET(CMAKE_REQUIRED_LIBRARIES iconv)
28 INCLUDE(CheckCXXSourceCompiles)
29 CHECK_CXX_SOURCE_COMPILES("#include <string.h>
30 #include <iconv.h>
31 int main() {
32   iconv_t cd = 0;
33   const char *in_p = \"testing\";
34   size_t in_left = strlen(in_p);
35   char out_p[20];
36   size_t out_left = sizeof(out_p);
37   iconv(cd, (const char **)&in_p, &in_left, (char **)&out_p, &out_left);
38   return 0;
39 }" LIBICONV_CONST)
40 SET(CMAKE_REQUIRED_LIBRARIES LIBICONV_OLD_CMAKE_REQUIRED_LIBRARIES)
42 MARK_AS_ADVANCED(LIBICONV_LIBRARY LIBICONV_INCLUDE_DIR LIBICONV_CONST)