FindIconv.cmake 1.04 KB
Newer Older
1 2 3 4 5 6 7 8
# - 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
#

Sascha Cunz committed
9
IF(ICONV_INCLUDE_DIR AND ICONV_LIBRARIES)
10 11
	# Already in cache, be silent
	SET(ICONV_FIND_QUIETLY TRUE)
Sascha Cunz committed
12
ENDIF()
13 14

FIND_PATH(ICONV_INCLUDE_DIR iconv.h)
15
FIND_LIBRARY(iconv_lib NAMES iconv libiconv libiconv-2 c)
16

17
IF(ICONV_INCLUDE_DIR AND iconv_lib)
18
	 SET(ICONV_FOUND TRUE)
Sascha Cunz committed
19
ENDIF()
20 21

IF(ICONV_FOUND)
22 23 24 25
	# split iconv into -L and -l linker options, so we can set them for pkg-config
	GET_FILENAME_COMPONENT(iconv_path ${iconv_lib} PATH)
	GET_FILENAME_COMPONENT(iconv_name ${iconv_lib} NAME_WE)
	STRING(REGEX REPLACE "^lib" "" iconv_name ${iconv_name})
26
	SET(ICONV_LIBRARIES "-L${iconv_path} -l${iconv_name}")
27

28 29 30
	IF(NOT ICONV_FIND_QUIETLY)
		MESSAGE(STATUS "Found Iconv: ${ICONV_LIBRARIES}")
	ENDIF(NOT ICONV_FIND_QUIETLY)
Sascha Cunz committed
31
ELSE()
32 33 34
	IF(Iconv_FIND_REQUIRED)
		MESSAGE(FATAL_ERROR "Could not find Iconv")
	ENDIF(Iconv_FIND_REQUIRED)
Sascha Cunz committed
35
ENDIF()
36 37 38 39 40

MARK_AS_ADVANCED(
	ICONV_INCLUDE_DIR
	ICONV_LIBRARIES
)