FindIconv.cmake 1.21 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 PATHS /opt/local/include NO_DEFAULT_PATH)
15 16
FIND_PATH(ICONV_INCLUDE_DIR iconv.h)

17 18
FIND_LIBRARY(iconv_lib NAMES iconv libiconv libiconv-2 c NO_DEFAULT_PATH PATHS /opt/local/lib)
FIND_LIBRARY(iconv_lib NAMES iconv libiconv libiconv-2 c)
19

20
IF(ICONV_INCLUDE_DIR AND iconv_lib)
21
	 SET(ICONV_FOUND TRUE)
Sascha Cunz committed
22
ENDIF()
23 24

IF(ICONV_FOUND)
25 26 27 28
	# 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})
29
	SET(ICONV_LIBRARIES "-L${iconv_path} -l${iconv_name}")
30

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

MARK_AS_ADVANCED(
	ICONV_INCLUDE_DIR
	ICONV_LIBRARIES
)