From e034f8a2a372279edfc5a6c69dc14fb31c9a7685 Mon Sep 17 00:00:00 2001 From: Giuseppe Bilotta Date: Sun, 24 Jul 2011 13:58:51 +0200 Subject: [PATCH] Sanitize GETTEXT usage macros Now the user-level option is called ENABLE_GETTEXT, and USE_GETTEXT is only set to true if gettext was enabled and found. This simplifies all check to USE_GETTEXT only rather than the double checks for it being enabled and found. --- src/CMakeLists.txt | 25 +++++++++++++++---------- src/config.h | 8 ++++---- src/gettext.h | 2 +- 3 files changed, 20 insertions(+), 15 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c897f4bf..fcdb3ccb 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -5,11 +5,15 @@ if(RUN_IN_PLACE) add_definitions ( -DRUN_IN_PLACE ) endif(RUN_IN_PLACE) -OPTION(USE_GETTEXT "Use GetText for internationalization" ON) +# 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 USE_GETTEXT) +if(GETTEXT_FOUND AND ENABLE_GETTEXT) message(STATUS "gettext include path: ${GETTEXT_INCLUDE_DIR}") message(STATUS "gettext msgfmt path: ${GETTEXT_MSGFMT}") if(WIN32) @@ -17,12 +21,13 @@ if(GETTEXT_FOUND AND USE_GETTEXT) 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 USE_GETTEXT) +elseif(GETTEXT_FOUND AND NOT ENABLE_GETTEXT) MESSAGE(STATUS "GetText found but disabled;") -else(GETTEXT_FOUND AND USE_GETTEXT) +else(GETTEXT_FOUND AND ENABLE_GETTEXT) message(STATUS "GetText disabled") -endif(GETTEXT_FOUND AND USE_GETTEXT) +endif(GETTEXT_FOUND AND ENABLE_GETTEXT) if(NOT MSVC) set(USE_GPROF 0 CACHE BOOL "Use -pg flag for g++") @@ -265,7 +270,7 @@ if(BUILD_CLIENT) install(FILES ${images} DESTINATION ${DATADIR}) - if(GETTEXT_FOUND AND USE_GETTEXT) + if(USE_GETTEXT) foreach(LOCALE ${GETTEXT_AVAILABLE_LOCALES}) set_mo_paths(MO_BUILD_PATH MO_DEST_PATH ${LOCALE}) set(MO_BUILD_PATH "${MO_BUILD_PATH}/${PROJECT_NAME}.mo") @@ -280,14 +285,14 @@ if(BUILD_CLIENT) if(DEFINED ZLIB_DLL) install(FILES ${ZLIB_DLL} DESTINATION ${BINDIR}) endif() - if(GETTEXT_FOUND AND USE_GETTEXT) + if(USE_GETTEXT) if(DEFINED GETTEXT_DLL) install(FILES ${GETTEXT_DLL} DESTINATION ${BINDIR}) endif() if(DEFINED GETTEXT_ICONV_DLL) install(FILES ${GETTEXT_ICONV_DLL} DESTINATION ${BINDIR}) endif() - endif(GETTEXT_FOUND AND USE_GETTEXT) + endif(USE_GETTEXT) endif() endif(BUILD_CLIENT) @@ -295,7 +300,7 @@ if(BUILD_SERVER) install(TARGETS ${PROJECT_NAME}server DESTINATION ${BINDIR}) endif(BUILD_SERVER) -if (GETTEXT_FOUND AND USE_GETTEXT) +if (USE_GETTEXT) set(MO_FILES) foreach(LOCALE ${GETTEXT_AVAILABLE_LOCALES}) @@ -319,7 +324,7 @@ if (GETTEXT_FOUND AND USE_GETTEXT) endforeach(LOCALE ${GETTEXT_AVAILABLE_LOCALES}) add_custom_target(translations ALL COMMENT "mo update" DEPENDS ${MO_FILES}) -endif(GETTEXT_FOUND AND USE_GETTEXT) +endif(USE_GETTEXT) # Subdirectories diff --git a/src/config.h b/src/config.h index eb1d1a9a..54b89a06 100644 --- a/src/config.h +++ b/src/config.h @@ -23,13 +23,13 @@ #else #define RUN_IN_PLACE_BOOLSTRING "0" #endif - #ifdef USE_GETTEXT - #define USE_GETTEXT_BOOLSTRING "ON" + #if USE_GETTEXT + #define USE_GETTEXT_BOOLSTRING "1" #else - #define USE_GETTEXT_BOOLSTRING "OFF" + #define USE_GETTEXT_BOOLSTRING "0" #endif + #define BUILD_INFO "NON-CMAKE RUN_IN_PLACE="RUN_IN_PLACE_BOOLSTRING" USE_GETTEXT="USE_GETTEXT_BOOLSTRING" BUILD_TYPE="BUILD_TYPE #endif - #endif diff --git a/src/gettext.h b/src/gettext.h index 751b8377..7c3a6ffa 100644 --- a/src/gettext.h +++ b/src/gettext.h @@ -1,4 +1,4 @@ -#if defined(GETTEXT_FOUND) && defined(USE_GETTEXT) +#if USE_GETTEXT #include #else #define gettext(String) String -- 2.30.2