Skip to content

Commit

Permalink
Adding missing FindIconv.cmake
Browse files Browse the repository at this point in the history
  • Loading branch information
lawrinn committed Oct 31, 2015
1 parent 4e70214 commit ddac58b
Show file tree
Hide file tree
Showing 2 changed files with 76 additions and 0 deletions.
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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")

Expand Down
75 changes: 75 additions & 0 deletions cmake/FindIconv.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# Copyright (c) 2010 Michael Bell <michael.bell@web.de>

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 <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_EXTERNAL
ICONV_SECOND_ARGUMENT_IS_CONST
)

0 comments on commit ddac58b

Please sign in to comment.