-if(USE_GETTEXT)
- find_package(GettextLib REQUIRED)
- if (GETTEXT_FOUND)
- add_definitions( -DUSE_GETTEXT )
- message(STATUS "gettext include path: ${GETTEXT_INCLUDE_DIR}")
- message(STATUS "gettext msgfmt path: ${GETTEXT_MSGFMT}")
- if(WIN32)
- message(STATUS "gettext library: ${GETTEXT_LIBRARY}")
- message(STATUS "gettext dll: ${GETTEXT_DLL}")
- message(STATUS "gettext iconv dll: ${GETTEXT_ICONV_DLL}")
- endif()
- message(STATUS "GetText enabled")
- else()
- message(ERROR "GetText enabled but not found, disabling")
- set(USE_GETTEXT FALSE)
- endif(GETTEXT_FOUND)
-else(USE_GETTEXT)
+# user-visible option to enable/disable gettext usage
+OPTION(ENABLE_GETTEXT "Use GetText for internationalization" ON)
+
+# this is only set to 1 if gettext is enabled _and_ available
+set(USE_GETTEXT 0)
+
+find_package(GettextLib)
+
+if(GETTEXT_FOUND AND ENABLE_GETTEXT)
+ message(STATUS "gettext include path: ${GETTEXT_INCLUDE_DIR}")
+ message(STATUS "gettext msgfmt path: ${GETTEXT_MSGFMT}")
+ if(WIN32)
+ message(STATUS "gettext library: ${GETTEXT_LIBRARY}")
+ message(STATUS "gettext dll: ${GETTEXT_DLL}")
+ message(STATUS "gettext iconv dll: ${GETTEXT_ICONV_DLL}")
+ endif()
+ set(USE_GETTEXT 1)
+ message(STATUS "GetText enabled; locales found: ${GETTEXT_AVAILABLE_LOCALES}")
+elseif(GETTEXT_FOUND AND NOT ENABLE_GETTEXT)
+ MESSAGE(STATUS "GetText found but disabled;")
+else(GETTEXT_FOUND AND ENABLE_GETTEXT)