1MACRO(checkGettext)
2	IF (NOT GETTEXT_CHECKED)
3		OPTION(GETTEXT "" ON)
4
5		MESSAGE(STATUS "Checking for gettext")
6		MESSAGE(STATUS "********************")
7
8		IF (GETTEXT)
9			FIND_HEADER_AND_LIB(GETTEXT libintl.h intl)
10			PRINT_LIBRARY_INFO("Gettext" GETTEXT_FOUND "${GETTEXT_INCLUDE_DIR}" "${GETTEXT_LIBRARY_DIR}")
11
12			IF (GETTEXT_INCLUDE_DIR)
13				# Try linking without -lintl
14				ADM_COMPILE(gettext.cpp "" "${GETTEXT_INCLUDE_DIR}" "" LIBINTL_NOT_REQUIRED outputWithoutLibintl)
15
16				IF (LIBINTL_NOT_REQUIRED)
17					SET(GETTEXT_LIBRARY_DIR "")
18					SET(HAVE_GETTEXT 1)
19
20					MESSAGE(STATUS "libintl not required for gettext support")
21				ELSE (LIBINTL_NOT_REQUIRED)
22					ADM_COMPILE(gettext.cpp "" "${GETTEXT_INCLUDE_DIR}" "${GETTEXT_LIBRARY_DIR}" LIBINTL_REQUIRED outputWithLibintl)
23
24					IF (LIBINTL_REQUIRED)
25						SET(HAVE_GETTEXT 1)
26
27						MESSAGE(STATUS "libintl required for gettext support")
28					ELSE (LIBINTL_REQUIRED)
29						SET(GETTEXT_FOUND 0 CACHE INTERNAL "")
30
31						MESSAGE("gettext support failed with or without libintl")
32
33						IF (VERBOSE)
34							MESSAGE(STATUS "Compilation error with libintl:")
35							MESSAGE(STATUS ${outputWithLibintl})
36
37							MESSAGE(STATUS "Compilation error without libintl:")
38							MESSAGE(STATUS ${outputWithoutLibintl})
39						ENDIF (VERBOSE)
40					ENDIF (LIBINTL_REQUIRED)
41				ENDIF (LIBINTL_NOT_REQUIRED)
42			ENDIF (GETTEXT_INCLUDE_DIR)
43		ELSE (GETTEXT)
44			MESSAGE("${MSG_DISABLE_OPTION}")
45		ENDIF (GETTEXT)
46
47		SET(GETTEXT_CHECKED 1)
48		MESSAGE("")
49	ENDIF (NOT GETTEXT_CHECKED)
50
51	APPEND_SUMMARY_LIST("Miscellaneous" "gettext" "${HAVE_GETTEXT}")
52ENDMACRO(checkGettext)