From ddac58bd9be8272dae46d69dac412498174e7acf Mon Sep 17 00:00:00 2001 From: Lawrin Novitsky Date: Sat, 31 Oct 2015 02:06:50 +0200 Subject: [PATCH] Adding missing FindIconv.cmake --- CMakeLists.txt | 1 + cmake/FindIconv.cmake | 75 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 cmake/FindIconv.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 6556ce14..477c6359 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -23,6 +23,7 @@ cmake_minimum_required(VERSION 2.8) SET(MARIADB_ODBC_VERSION_MAJOR 2) SET(MARIADB_ODBC_VERSION_MINOR 0) SET(MARIADB_ODBC_VERSION_PATCH 9) +SET(MARIADB_ODBC_VERSION_QUALITY "beta") SET(MARIADB_ODBC_VERSION "02.00.0009") diff --git a/cmake/FindIconv.cmake b/cmake/FindIconv.cmake new file mode 100644 index 00000000..f0768f71 --- /dev/null +++ b/cmake/FindIconv.cmake @@ -0,0 +1,75 @@ +# Copyright (c) 2010 Michael Bell + +if (ICONV_INCLUDE_DIR AND ICONV_LIBRARIES) + # Already in cache, be silent + set(ICONV_FIND_QUIETLY TRUE) +endif (ICONV_INCLUDE_DIR AND ICONV_LIBRARIES) + +IF(APPLE) + find_path(ICONV_INCLUDE_DIR iconv.h PATHS + /opt/local/include/ + /usr/include/ + NO_CMAKE_SYSTEM_PATH) +ELSE() + find_path(ICONV_INCLUDE_DIR iconv.h) +ENDIF() + +IF(APPLE) + find_library(ICONV_LIBRARIES NAMES iconv libiconv c PATHS + /opt/local/lib/ + /usr/lib/ + NO_CMAKE_SYSTEM_PATH) + SET(ICONV_EXTERNAL TRUE) +ELSE() + find_library(ICONV_LIBRARIES NAMES iconv libiconv libiconv-2) + IF(ICONV_LIBRARIES) + SET(ICONV_EXTERNAL TRUE) + ELSE() + find_library(ICONV_LIBRARIES NAMES c) + ENDIF() +ENDIF() + +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}) +IF(ICONV_EXTERNAL) + set(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARIES}) +ENDIF() + +if (ICONV_FOUND) + include(CheckCSourceCompiles) + CHECK_C_SOURCE_COMPILES(" + #include + 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_EXTERNAL + ICONV_SECOND_ARGUMENT_IS_CONST +)