forked from Mirrorlandia_minetest/minetest
updated cmakerules to autodetect if gettext can be used
fixed error if gettext is disabled
This commit is contained in:
parent
4771b4951d
commit
f6d9bcc9bb
@ -77,4 +77,7 @@ IF(GETTEXT_FOUND)
|
|||||||
STRING(REPLACE "<locale>" ${_locale} ${_buildvar} ${GETTEXT_MO_BUILD_PATH})
|
STRING(REPLACE "<locale>" ${_locale} ${_buildvar} ${GETTEXT_MO_BUILD_PATH})
|
||||||
STRING(REPLACE "<locale>" ${_locale} ${_destvar} ${GETTEXT_MO_DEST_PATH})
|
STRING(REPLACE "<locale>" ${_locale} ${_destvar} ${GETTEXT_MO_DEST_PATH})
|
||||||
ENDMACRO(SET_MO_PATHS)
|
ENDMACRO(SET_MO_PATHS)
|
||||||
|
ELSE()
|
||||||
|
SET(GETTEXT_INCLUDE_DIR "")
|
||||||
|
SET(GETTEXT_LIBRARY "")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
@ -5,10 +5,11 @@ if(RUN_IN_PLACE)
|
|||||||
add_definitions ( -DRUN_IN_PLACE )
|
add_definitions ( -DRUN_IN_PLACE )
|
||||||
endif(RUN_IN_PLACE)
|
endif(RUN_IN_PLACE)
|
||||||
|
|
||||||
OPTION(USE_GETTEXT "Use GetText for internationalization" OFF)
|
OPTION(USE_GETTEXT "Use GetText for internationalization" ON)
|
||||||
|
|
||||||
if(USE_GETTEXT)
|
find_package(GettextLib)
|
||||||
find_package(GettextLib REQUIRED)
|
|
||||||
|
if(GETTEXT_FOUND AND USE_GETTEXT)
|
||||||
message(STATUS "gettext include path: ${GETTEXT_INCLUDE_DIR}")
|
message(STATUS "gettext include path: ${GETTEXT_INCLUDE_DIR}")
|
||||||
message(STATUS "gettext msgfmt path: ${GETTEXT_MSGFMT}")
|
message(STATUS "gettext msgfmt path: ${GETTEXT_MSGFMT}")
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
@ -16,16 +17,12 @@ if(USE_GETTEXT)
|
|||||||
message(STATUS "gettext dll: ${GETTEXT_DLL}")
|
message(STATUS "gettext dll: ${GETTEXT_DLL}")
|
||||||
message(STATUS "gettext iconv dll: ${GETTEXT_ICONV_DLL}")
|
message(STATUS "gettext iconv dll: ${GETTEXT_ICONV_DLL}")
|
||||||
endif()
|
endif()
|
||||||
if (GETTEXT_FOUND)
|
message(STATUS "GetText enabled; locales found: ${GETTEXT_AVAILABLE_LOCALES}")
|
||||||
add_definitions( -DUSE_GETTEXT )
|
elseif(GETTEXT_FOUND AND NOT USE_GETTEXT)
|
||||||
message(STATUS "GetText enabled; locales found: ${GETTEXT_AVAILABLE_LOCALES}")
|
MESSAGE(STATUS "GetText found but disabled;")
|
||||||
else()
|
else(GETTEXT_FOUND AND USE_GETTEXT)
|
||||||
message(STATUS "ERROR: GetText enabled but not found, disabling")
|
|
||||||
set(USE_GETTEXT FALSE)
|
|
||||||
endif(GETTEXT_FOUND)
|
|
||||||
else(USE_GETTEXT)
|
|
||||||
message(STATUS "GetText disabled")
|
message(STATUS "GetText disabled")
|
||||||
endif(USE_GETTEXT)
|
endif(GETTEXT_FOUND AND USE_GETTEXT)
|
||||||
|
|
||||||
if(NOT MSVC)
|
if(NOT MSVC)
|
||||||
set(USE_GPROF 0 CACHE BOOL "Use -pg flag for g++")
|
set(USE_GPROF 0 CACHE BOOL "Use -pg flag for g++")
|
||||||
@ -268,7 +265,7 @@ if(BUILD_CLIENT)
|
|||||||
|
|
||||||
install(FILES ${images} DESTINATION ${DATADIR})
|
install(FILES ${images} DESTINATION ${DATADIR})
|
||||||
|
|
||||||
if (USE_GETTEXT)
|
if(GETTEXT_FOUND AND USE_GETTEXT)
|
||||||
foreach(LOCALE ${GETTEXT_AVAILABLE_LOCALES})
|
foreach(LOCALE ${GETTEXT_AVAILABLE_LOCALES})
|
||||||
set_mo_paths(MO_BUILD_PATH MO_DEST_PATH ${LOCALE})
|
set_mo_paths(MO_BUILD_PATH MO_DEST_PATH ${LOCALE})
|
||||||
set(MO_BUILD_PATH "${MO_BUILD_PATH}/${PROJECT_NAME}.mo")
|
set(MO_BUILD_PATH "${MO_BUILD_PATH}/${PROJECT_NAME}.mo")
|
||||||
@ -283,14 +280,14 @@ if(BUILD_CLIENT)
|
|||||||
if(DEFINED ZLIB_DLL)
|
if(DEFINED ZLIB_DLL)
|
||||||
install(FILES ${ZLIB_DLL} DESTINATION ${BINDIR})
|
install(FILES ${ZLIB_DLL} DESTINATION ${BINDIR})
|
||||||
endif()
|
endif()
|
||||||
if(USE_GETTEXT)
|
if(GETTEXT_FOUND AND USE_GETTEXT)
|
||||||
if(DEFINED GETTEXT_DLL)
|
if(DEFINED GETTEXT_DLL)
|
||||||
install(FILES ${GETTEXT_DLL} DESTINATION ${BINDIR})
|
install(FILES ${GETTEXT_DLL} DESTINATION ${BINDIR})
|
||||||
endif()
|
endif()
|
||||||
if(DEFINED GETTEXT_ICONV_DLL)
|
if(DEFINED GETTEXT_ICONV_DLL)
|
||||||
install(FILES ${GETTEXT_ICONV_DLL} DESTINATION ${BINDIR})
|
install(FILES ${GETTEXT_ICONV_DLL} DESTINATION ${BINDIR})
|
||||||
endif()
|
endif()
|
||||||
endif(USE_GETTEXT)
|
endif(GETTEXT_FOUND AND USE_GETTEXT)
|
||||||
endif()
|
endif()
|
||||||
endif(BUILD_CLIENT)
|
endif(BUILD_CLIENT)
|
||||||
|
|
||||||
@ -298,7 +295,7 @@ if(BUILD_SERVER)
|
|||||||
install(TARGETS ${PROJECT_NAME}server DESTINATION ${BINDIR})
|
install(TARGETS ${PROJECT_NAME}server DESTINATION ${BINDIR})
|
||||||
endif(BUILD_SERVER)
|
endif(BUILD_SERVER)
|
||||||
|
|
||||||
if (USE_GETTEXT)
|
if (GETTEXT_FOUND AND USE_GETTEXT)
|
||||||
add_custom_command(OUTPUT "${GETTEXT_PO_PATH}/en"
|
add_custom_command(OUTPUT "${GETTEXT_PO_PATH}/en"
|
||||||
COMMAND ${CMAKE_COMMAND} -E make_directory "${GETTEXT_PO_PATH}/en"
|
COMMAND ${CMAKE_COMMAND} -E make_directory "${GETTEXT_PO_PATH}/en"
|
||||||
COMMENT "po-update [en]: creating translation template base directory")
|
COMMENT "po-update [en]: creating translation template base directory")
|
||||||
@ -347,7 +344,7 @@ if (USE_GETTEXT)
|
|||||||
|
|
||||||
add_custom_target(translations ALL COMMENT "mo update" DEPENDS ${MO_FILES})
|
add_custom_target(translations ALL COMMENT "mo update" DEPENDS ${MO_FILES})
|
||||||
add_custom_target(updatepo COMMENT "po update" DEPENDS ${PO_FILES})
|
add_custom_target(updatepo COMMENT "po update" DEPENDS ${PO_FILES})
|
||||||
endif(USE_GETTEXT)
|
endif(GETTEXT_FOUND AND USE_GETTEXT)
|
||||||
|
|
||||||
# Subdirectories
|
# Subdirectories
|
||||||
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
#ifdef GETTEXT_FOUND
|
||||||
#ifdef USE_GETTEXT
|
#ifdef USE_GETTEXT
|
||||||
#include <libintl.h>
|
#include <libintl.h>
|
||||||
#else
|
#else
|
||||||
@ -5,6 +6,11 @@
|
|||||||
#define bindtextdomain(domain, dir) /* */
|
#define bindtextdomain(domain, dir) /* */
|
||||||
#define textdomain(domain) /* */
|
#define textdomain(domain) /* */
|
||||||
#endif
|
#endif
|
||||||
|
#else
|
||||||
|
#define gettext(String) String
|
||||||
|
#define bindtextdomain(domain, dir) /* */
|
||||||
|
#define textdomain(domain) /* */
|
||||||
|
#endif
|
||||||
|
|
||||||
#define _(String) gettext(String)
|
#define _(String) gettext(String)
|
||||||
#define gettext_noop(String) String
|
#define gettext_noop(String) String
|
||||||
|
@ -1132,10 +1132,12 @@ int main(int argc, char *argv[])
|
|||||||
// Create user data directory
|
// Create user data directory
|
||||||
fs::CreateDir(porting::path_userdata);
|
fs::CreateDir(porting::path_userdata);
|
||||||
|
|
||||||
|
#ifdef LC_MESSAGES
|
||||||
setlocale(LC_MESSAGES, "");
|
setlocale(LC_MESSAGES, "");
|
||||||
bindtextdomain("minetest", (porting::path_userdata+"/locale").c_str());
|
bindtextdomain("minetest", (porting::path_userdata+"/locale").c_str());
|
||||||
textdomain("minetest");
|
textdomain("minetest");
|
||||||
|
#endif
|
||||||
|
|
||||||
// Initialize debug streams
|
// Initialize debug streams
|
||||||
#ifdef RUN_IN_PLACE
|
#ifdef RUN_IN_PLACE
|
||||||
std::string debugfile = DEBUGFILE;
|
std::string debugfile = DEBUGFILE;
|
||||||
|
Loading…
Reference in New Issue
Block a user