if(ICONV_FOUND)
add_definitions(-DHAVE_ICONV)
+ if(ICONV_SECOND_ARGUMENT_IS_CONST)
+ add_definitions(-DICONV_SECOND_ARGUMENT_IS_CONST)
+ endif()
endif()
# if(MINGW)
set(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_DIRS})
set(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARIES})
- check_c_source_compiles(
- "
+ check_c_source_compiles("
#include <iconv.h>
int main ()
{
size_t olen = 0;
iconv (conv, &in, &ilen, &out, &olen);
return 0;
- }" ICONV_SECOND_ARGUMENT_IS_CONST)
+ }"
+ ICONV_SECOND_ARGUMENT_IS_CONST
+ FAIL_REGEX "incompatible pointer type"
+ FAIL_REGEX "discards qualifiers in nested pointer types")
set(CMAKE_REQUIRED_INCLUDES)
set(CMAKE_REQUIRED_LIBRARIES)
for (i=0; !ret && i<encoding_count; ++i)
{
+#ifdef ICONV_SECOND_ARGUMENT_IS_CONST
+ const char * inbuf = in;
+#else
char * inbuf = (char*) in;
+#endif
char * outbuf = out;
size_t inbytesleft = inlen;
size_t outbytesleft = buflen;