summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorPino Toscano <pino@kde.org>2010-02-21 19:56:38 +0100
committerPino Toscano <pino@kde.org>2010-02-21 19:56:38 +0100
commita18dab9e53a20a76eb46fa3a868fffdd3c754ce2 (patch)
treeeb468aa272122f67b6e49dba955f8dcef03d3bed /cmake
parentfa0989297e95b6adebed71336ea206d1b279ab24 (diff)
parentf3862f7d987aae52a1fd2bb0af27d1cd803a5b84 (diff)
Merge remote branch 'origin/cpp-frontend'
* origin/cpp-frontend: (34 commits) [cpp/tests] poppler-dump: show a string for the font type [cpp/tests] poppler-dump: show the orientation of the pages [cpp/tests] poppler-dump: a bit less output in permissions lines [cpp/tests] poppler-dump: add --show-all to show all the information [cpp] use iconv for the utf8 <-> utf16 conversions [cpp] add the build system stuff for iconv, mandatory for cpp [cpp] fixup unicode GooString <-> ustring conversions [cpp] fix installation of poppler-version.h with autotools and builddir != srcdir simplify [cpp/tests] add a simple poppler-dump test [cpp] use the correct index (instead of an uninitialized variable) [cpp] properly delete the children of a toc item [cpp] actually implement toc::root() [cpp] fix the reference to the vector data [cpp] fix the reference to the vector data [cpp] add destructor for 'rectangle' [cpp] add out stream operators for rect and rectf [cpp] add namespace to namespace functiond to link properly [cpp] add default empty parameters for the passwords of the document loading functions [cpp] add "human friendly" output representation for byte_array ... Conflicts: config.h.cmake
Diffstat (limited to 'cmake')
-rw-r--r--cmake/modules/FindIconv.cmake57
1 files changed, 57 insertions, 0 deletions
diff --git a/cmake/modules/FindIconv.cmake b/cmake/modules/FindIconv.cmake
new file mode 100644
index 00000000..ce40ab26
--- /dev/null
+++ b/cmake/modules/FindIconv.cmake
@@ -0,0 +1,57 @@
+# - Try to find Iconv
+# Once done this will define
+#
+# ICONV_FOUND - system has Iconv
+# ICONV_INCLUDE_DIR - the Iconv include directory
+# ICONV_LIBRARIES - Link these to use Iconv
+# ICONV_SECOND_ARGUMENT_IS_CONST - the second argument for iconv() is const
+#
+include(CheckCXXSourceCompiles)
+
+IF (ICONV_INCLUDE_DIR AND ICONV_LIBRARIES)
+ # Already in cache, be silent
+ SET(ICONV_FIND_QUIETLY TRUE)
+ENDIF (ICONV_INCLUDE_DIR AND ICONV_LIBRARIES)
+
+FIND_PATH(ICONV_INCLUDE_DIR iconv.h)
+
+FIND_LIBRARY(ICONV_LIBRARIES NAMES iconv libiconv libiconv-2 c)
+
+IF(ICONV_INCLUDE_DIR AND ICONV_LIBRARIES)
+ SET(ICONV_FOUND TRUE)
+ENDIF(ICONV_INCLUDE_DIR AND ICONV_LIBRARIES)
+
+set(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_DIR})
+set(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARIES})
+IF(ICONV_FOUND)
+ check_cxx_source_compiles("
+ #include <iconv.h>
+ int main(){
+ iconv_t conv = 0;
+ const char* in = 0;
+ size_t ilen = 0;
+ char* out = 0;
+ size_t olen = 0;
+ iconv(conv, &in, &ilen, &out, &olen);
+ return 0;
+ }
+" ICONV_SECOND_ARGUMENT_IS_CONST )
+ENDIF(ICONV_FOUND)
+set(CMAKE_REQUIRED_INCLUDES)
+set(CMAKE_REQUIRED_LIBRARIES)
+
+IF(ICONV_FOUND)
+ IF(NOT ICONV_FIND_QUIETLY)
+ MESSAGE(STATUS "Found Iconv: ${ICONV_LIBRARIES}")
+ 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_LIBRARIES
+ ICONV_SECOND_ARGUMENT_IS_CONST
+)