From 2f2f28d3985a226a6babe87f1cdc506e1c0604bc Mon Sep 17 00:00:00 2001 From: MrLoom Date: Wed, 1 Jun 2011 14:13:22 +0200 Subject: MacOSX build support --- src/CMakeLists.txt | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) (limited to 'src/CMakeLists.txt') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 49982d310..617a452b6 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -35,13 +35,24 @@ else() find_package(JPEG REQUIRED) find_package(BZip2 REQUIRED) find_package(PNG REQUIRED) + if(APPLE) + FIND_LIBRARY(CARBON_LIB Carbon) + FIND_LIBRARY(COCOA_LIB Cocoa) + FIND_LIBRARY(IOKIT_LIB IOKit) + mark_as_advanced( + CARBON_LIB + COCOA_LIB + IOKIT_LIB + ) + SET(CLIENT_PLATFORM_LIBS ${CLIENT_PLATFORM_LIBS} ${CARBON_LIB} ${COCOA_LIB} ${IOKIT_LIB}) + endif(APPLE) endif(BUILD_CLIENT) find_package(ZLIB REQUIRED) set(PLATFORM_LIBS -lpthread) #set(CLIENT_PLATFORM_LIBS -lXxf86vm) # This way Xxf86vm is found on OpenBSD too find_library(XXF86VM_LIBRARY Xxf86vm) - set(CLIENT_PLATFORM_LIBS ${XXF86VM_LIBRARY}) + set(CLIENT_PLATFORM_LIBS ${CLIENT_PLATFORM_LIBS} ${XXF86VM_LIBRARY}) endif() configure_file( @@ -174,8 +185,14 @@ else() set(WARNING_FLAGS "") endif() - set(WARNING_FLAGS "${WARNING_FLAGS} -Wno-unused-but-set-variable") - + if(NOT APPLE) + set(WARNING_FLAGS "${WARNING_FLAGS} -Wno-unused-but-set-variable") + endif() + if(APPLE) + set(CMAKE_OSX_ARCHITECTURES i386 CACHE STRING "do not build for 64-bit" FORCE) + set(ARCH i386) + endif() + set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG ${WARNING_FLAGS} -O3 -ffast-math -Wall -fomit-frame-pointer -pipe -funroll-loops") set(CMAKE_CXX_FLAGS_DEBUG "-g -O1 -Wall") -- cgit v1.2.3 From 6434f64ab41c344ba7474305a9e6a6ad7a36a7a5 Mon Sep 17 00:00:00 2001 From: teddydestodes Date: Wed, 1 Jun 2011 19:44:07 +0200 Subject: added new submenu for key assignment configwriting/saving isn't complete and will break your config if you use fancy keys --- src/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) (limited to 'src/CMakeLists.txt') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 617a452b6..9d5cf7d2c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -100,6 +100,7 @@ set(minetest_SRCS clientobject.cpp guiFurnaceMenu.cpp guiMainMenu.cpp + guiKeyChangeMenu.cpp guiMessageMenu.cpp guiTextInputMenu.cpp guiInventoryMenu.cpp -- cgit v1.2.3 From 6a8328de7970edd2a1c0472289a903a75ad9daf7 Mon Sep 17 00:00:00 2001 From: Constantin Wenger Date: Wed, 20 Jul 2011 16:51:19 +0200 Subject: added gettext support german translation file and bashscript to update translations --- src/CMakeLists.txt | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'src/CMakeLists.txt') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index dfe5b5753..fd1591423 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -27,6 +27,14 @@ if(WIN32) CACHE FILEPATH "Path to zlibwapi.lib") set(ZLIB_DLL "${PROJECT_SOURCE_DIR}/../../zlib125dll/dll32/zlibwapi.dll" CACHE FILEPATH "Path to zlibwapi.dll (for installation)") + set(GETTEXT_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/../../gettext/include" + CACHE PATH "gettext include directory") + set(GETTEXT_BIN_DIR "${PROJECT_SOURCE_DIR}/../../gettext/bin" + CACHE PATH "gettext bin directory") + set(GETTEXT_LIBRARIES "${PROJECT_SOURCE_DIR}/../../gettext/lib/intl.lib" + CACHE FILEPATH "gettext intl.lib") + set(IRRLICHT_SOURCE_DIR "${PROJECT_SOURCE_DIR}/../../irrlicht-1.7.2" + CACHE PATH "irrlicht dir") else() # Unix probably if(BUILD_CLIENT) @@ -134,6 +142,7 @@ include_directories( ${ZLIB_INCLUDE_DIR} ${CMAKE_BUILD_TYPE} ${PNG_INCLUDE_DIR} + ${GETTEXT_INCLUDE_DIR} "${PROJECT_SOURCE_DIR}/jthread" "${PROJECT_SOURCE_DIR}/sqlite" ) @@ -151,6 +160,7 @@ if(BUILD_CLIENT) ${BZIP2_LIBRARIES} ${PNG_LIBRARIES} ${X11_LIBRARIES} + ${GETTEXT_LIBRARIES} ${PLATFORM_LIBS} ${CLIENT_PLATFORM_LIBS} jthread @@ -208,6 +218,10 @@ else() set(ARCH i386) endif() + if(WIN32) + set(CMAKE_EXE_LINKER_FLAGS "-lintl -L ${GETTEXT_BIN_DIR}") + endif() + set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG ${RELEASE_WARNING_FLAGS} ${WARNING_FLAGS} -O3 -ffast-math -Wall -fomit-frame-pointer -pipe -funroll-loops") set(CMAKE_CXX_FLAGS_DEBUG "-g -O1 -Wall ${WARNING_FLAGS}") @@ -239,6 +253,8 @@ if(BUILD_CLIENT) install(FILES ${images} DESTINATION ${DATADIR}) + install(FILES ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES/minetest-c55.mo DESTINATION locale/de/LC_MESSAGES) + if(WIN32) if(DEFINED IRRLICHT_DLL) install(FILES ${IRRLICHT_DLL} DESTINATION ${BINDIR}) @@ -246,6 +262,10 @@ if(BUILD_CLIENT) if(DEFINED ZLIB_DLL) install(FILES ${ZLIB_DLL} DESTINATION ${BINDIR}) endif() + if(DEFINED GETTEXT_BIN_DIR) + install(FILES ${GETTEXT_BIN_DIR}/libintl3.dll DESTINATION ${BINDIR}) + install(FILES ${GETTEXT_BIN_DIR}/libiconv2.dll DESTINATION ${BINDIR}) + endif() endif() endif(BUILD_CLIENT) @@ -253,6 +273,27 @@ if(BUILD_SERVER) install(TARGETS minetestserver DESTINATION ${BINDIR}) endif(BUILD_SERVER) +if(WIN32) + set(GETTEXT_MSGFMT "${GETTEXT_BIN_DIR}/msgfmt" CACHE FILEPATH "path to msgfmt") +elseif(APPLE) + set(GETTEXT_MSGFMT "${GETTEXT_BIN_DIR}/msgfmt" CACHE FILEPATH "path to msgfmt") +else() + set(GETTEXT_MSGFMT "msgfmt") +endif() + +add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES COMMENT "mo-update [de]: Creating locale directory.") + +add_custom_command( + OUTPUT ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES/minetest-c55.mo + COMMAND ${GETTEXT_MSGFMT} -o ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES/minetest-c55.mo ${CMAKE_SOURCE_DIR}/po/de/minetest-c55.po + DEPENDS + ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES + ${CMAKE_SOURCE_DIR}/po/de/minetest-c55.po + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/po/de + COMMENT "mo-update [de]: Creating mo file." + ) +add_custom_target(translation_de ALL COMMENT "mo update [de]" DEPENDS ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES/minetest-c55.mo) + # Subdirectories add_subdirectory(jthread) -- cgit v1.2.3 From 3321edae77184ae9693e3b74c9ea6235ec1f9029 Mon Sep 17 00:00:00 2001 From: Giuseppe Bilotta Date: Tue, 19 Jul 2011 20:02:31 +0200 Subject: Use system sqlite3/jthread libs if available --- src/CMakeLists.txt | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) (limited to 'src/CMakeLists.txt') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index fd1591423..e1de23663 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -43,6 +43,8 @@ else() find_package(JPEG REQUIRED) find_package(BZip2 REQUIRED) find_package(PNG REQUIRED) + find_package(Jthread REQUIRED) + find_package(Sqlite3 REQUIRED) if(APPLE) FIND_LIBRARY(CARBON_LIB Carbon) FIND_LIBRARY(COCOA_LIB Cocoa) @@ -143,8 +145,8 @@ include_directories( ${CMAKE_BUILD_TYPE} ${PNG_INCLUDE_DIR} ${GETTEXT_INCLUDE_DIR} - "${PROJECT_SOURCE_DIR}/jthread" - "${PROJECT_SOURCE_DIR}/sqlite" + ${JTHREAD_INCLUDE_DIR} + ${SQLITE3_INCLUDE_DIR} ) set(EXECUTABLE_OUTPUT_PATH ../bin) @@ -163,8 +165,8 @@ if(BUILD_CLIENT) ${GETTEXT_LIBRARIES} ${PLATFORM_LIBS} ${CLIENT_PLATFORM_LIBS} - jthread - sqlite3 + ${JTHREAD_LIBRARY} + ${SQLITE3_LIBRARY} ) endif(BUILD_CLIENT) @@ -174,8 +176,8 @@ if(BUILD_SERVER) minetestserver ${ZLIB_LIBRARIES} ${PLATFORM_LIBS} - jthread - sqlite3 + ${JTHREAD_LIBRARY} + ${SQLITE3_LIBRARY} ) endif(BUILD_SERVER) @@ -296,7 +298,14 @@ add_custom_target(translation_de ALL COMMENT "mo update [de]" DEPENDS ${CMAKE_BI # Subdirectories -add_subdirectory(jthread) +if (JTHREAD_FOUND) +else (JTHREAD_FOUND) + add_subdirectory(jthread) +endif (JTHREAD_FOUND) + +if (SQLITE3_FOUND) +else (SQLITE3_FOUND) add_subdirectory(sqlite) +endif (SQLITE3_FOUND) #end -- cgit v1.2.3 From 29aae3dcb504cea2f8e5a7c0e9085e5223b1c32d Mon Sep 17 00:00:00 2001 From: Giuseppe Bilotta Date: Wed, 20 Jul 2011 22:49:48 +0200 Subject: Move package search out of conditional This unbreaks the Windows build which would otherwise have problems at the jthread level. --- src/CMakeLists.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/CMakeLists.txt') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e1de23663..72f79976c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -43,8 +43,6 @@ else() find_package(JPEG REQUIRED) find_package(BZip2 REQUIRED) find_package(PNG REQUIRED) - find_package(Jthread REQUIRED) - find_package(Sqlite3 REQUIRED) if(APPLE) FIND_LIBRARY(CARBON_LIB Carbon) FIND_LIBRARY(COCOA_LIB Cocoa) @@ -65,6 +63,9 @@ else() set(CLIENT_PLATFORM_LIBS ${CLIENT_PLATFORM_LIBS} ${XXF86VM_LIBRARY}) endif() +find_package(Jthread REQUIRED) +find_package(Sqlite3 REQUIRED) + configure_file( "${PROJECT_SOURCE_DIR}/cmake_config.h.in" "${PROJECT_BINARY_DIR}/cmake_config.h" -- cgit v1.2.3 From 9cb5f70be56dbbbb75bb12de23f05243d2173030 Mon Sep 17 00:00:00 2001 From: Weedy Date: Thu, 21 Jul 2011 02:30:21 -0400 Subject: Fix win32 MSVC compile. (screw gettext) --- src/CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/CMakeLists.txt') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 72f79976c..a578eeb79 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -31,8 +31,8 @@ if(WIN32) CACHE PATH "gettext include directory") set(GETTEXT_BIN_DIR "${PROJECT_SOURCE_DIR}/../../gettext/bin" CACHE PATH "gettext bin directory") - set(GETTEXT_LIBRARIES "${PROJECT_SOURCE_DIR}/../../gettext/lib/intl.lib" - CACHE FILEPATH "gettext intl.lib") + set(GETTEXT_LIBRARIES "${PROJECT_SOURCE_DIR}/../../gettext/lib/libintl.lib" + CACHE FILEPATH "gettext libintl.lib") set(IRRLICHT_SOURCE_DIR "${PROJECT_SOURCE_DIR}/../../irrlicht-1.7.2" CACHE PATH "irrlicht dir") else() @@ -277,7 +277,7 @@ if(BUILD_SERVER) endif(BUILD_SERVER) if(WIN32) - set(GETTEXT_MSGFMT "${GETTEXT_BIN_DIR}/msgfmt" CACHE FILEPATH "path to msgfmt") + set(GETTEXT_MSGFMT "${GETTEXT_BIN_DIR}/msgfmt.exe" CACHE FILEPATH "path to msgfmt") elseif(APPLE) set(GETTEXT_MSGFMT "${GETTEXT_BIN_DIR}/msgfmt" CACHE FILEPATH "path to msgfmt") else() -- cgit v1.2.3 From 36d8f91f1acfaec345c44fc5518b3acbcafad695 Mon Sep 17 00:00:00 2001 From: Weedy Date: Thu, 21 Jul 2011 02:36:30 -0400 Subject: Tweak makefiles to add -delta suffix. --- src/CMakeLists.txt | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'src/CMakeLists.txt') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a578eeb79..2e99ec0c9 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,4 +1,4 @@ -project(minetest) +project(minetest-delta) cmake_minimum_required( VERSION 2.6 ) if(RUN_IN_PLACE) @@ -153,9 +153,9 @@ include_directories( set(EXECUTABLE_OUTPUT_PATH ../bin) if(BUILD_CLIENT) - add_executable(minetest ${minetest_SRCS}) + add_executable(${PROJECT_NAME} ${minetest_SRCS}) target_link_libraries( - minetest + ${PROJECT_NAME} ${ZLIB_LIBRARIES} ${IRRLICHT_LIBRARY} ${OPENGL_LIBRARIES} @@ -172,9 +172,9 @@ if(BUILD_CLIENT) endif(BUILD_CLIENT) if(BUILD_SERVER) - add_executable(minetestserver ${minetestserver_SRCS}) + add_executable(${PROJECT_NAME}server ${minetestserver_SRCS}) target_link_libraries( - minetestserver + ${PROJECT_NAME}server ${ZLIB_LIBRARIES} ${PLATFORM_LIBS} ${JTHREAD_LIBRARY} @@ -199,7 +199,7 @@ if(MSVC) set(CMAKE_CXX_FLAGS_DEBUG "/MDd /Zi /Ob0 /Od /RTC1") if(BUILD_SERVER) - set_target_properties(minetestserver PROPERTIES + set_target_properties(${PROJECT_NAME}server PROPERTIES COMPILE_DEFINITIONS "SERVER") endif(BUILD_SERVER) @@ -233,7 +233,7 @@ else() endif() if(BUILD_SERVER) - set_target_properties(minetestserver PROPERTIES + set_target_properties(${PROJECT_NAME}server PROPERTIES COMPILE_DEFINITIONS "SERVER") endif(BUILD_SERVER) @@ -250,13 +250,13 @@ endif() install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../minetest.conf.example" DESTINATION ${EXAMPLE_CONF_DIR}) if(BUILD_CLIENT) - install(TARGETS minetest DESTINATION ${BINDIR}) + install(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR}) file(GLOB images "${CMAKE_CURRENT_SOURCE_DIR}/../data/*.png") install(FILES ${images} DESTINATION ${DATADIR}) - install(FILES ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES/minetest-c55.mo DESTINATION locale/de/LC_MESSAGES) + install(FILES ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES/minetest-delta.mo DESTINATION locale/de/LC_MESSAGES) if(WIN32) if(DEFINED IRRLICHT_DLL) @@ -273,7 +273,7 @@ if(BUILD_CLIENT) endif(BUILD_CLIENT) if(BUILD_SERVER) - install(TARGETS minetestserver DESTINATION ${BINDIR}) + install(TARGETS ${PROJECT_NAME}server DESTINATION ${BINDIR}) endif(BUILD_SERVER) if(WIN32) @@ -287,15 +287,15 @@ endif() add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES COMMENT "mo-update [de]: Creating locale directory.") add_custom_command( - OUTPUT ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES/minetest-c55.mo - COMMAND ${GETTEXT_MSGFMT} -o ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES/minetest-c55.mo ${CMAKE_SOURCE_DIR}/po/de/minetest-c55.po + OUTPUT ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES/minetest-delta.mo + COMMAND ${GETTEXT_MSGFMT} -o ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES/minetest-delta.mo ${CMAKE_SOURCE_DIR}/po/de/minetest-c55.po DEPENDS ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES ${CMAKE_SOURCE_DIR}/po/de/minetest-c55.po WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/po/de COMMENT "mo-update [de]: Creating mo file." ) -add_custom_target(translation_de ALL COMMENT "mo update [de]" DEPENDS ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES/minetest-c55.mo) +add_custom_target(translation_de ALL COMMENT "mo update [de]" DEPENDS ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES/minetest-delta.mo) # Subdirectories -- cgit v1.2.3 From fd70bbd36785c27fa8ef8229eee79fac32557e42 Mon Sep 17 00:00:00 2001 From: Giuseppe Bilotta Date: Thu, 21 Jul 2011 07:53:13 +0200 Subject: Make gettext optional --- src/CMakeLists.txt | 66 +++++++++++++++++++++++++++++++++--------------------- 1 file changed, 40 insertions(+), 26 deletions(-) (limited to 'src/CMakeLists.txt') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 2e99ec0c9..fb8f419e5 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -5,6 +5,16 @@ if(RUN_IN_PLACE) add_definitions ( -DRUN_IN_PLACE ) endif(RUN_IN_PLACE) +if(USE_GETTEXT) + add_definitions( -DUSE_GETTEXT ) + message(STATUS "GetText enabled") +else() + set(GETTEXT_INCLUDE_DIR "") + set(GETTEXT_BIN_DIR "") + set(GETTEXT_LIBRARIES "") + message(STATUS "GetText disabled") +endif(USE_GETTEXT) + if(NOT MSVC) set(USE_GPROF 0 CACHE BOOL "Use -pg flag for g++") endif() @@ -27,14 +37,16 @@ if(WIN32) CACHE FILEPATH "Path to zlibwapi.lib") set(ZLIB_DLL "${PROJECT_SOURCE_DIR}/../../zlib125dll/dll32/zlibwapi.dll" CACHE FILEPATH "Path to zlibwapi.dll (for installation)") - set(GETTEXT_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/../../gettext/include" + set(IRRLICHT_SOURCE_DIR "${PROJECT_SOURCE_DIR}/../../irrlicht-1.7.2" + CACHE PATH "irrlicht dir") + if (USE_GETTEXT) + set(GETTEXT_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/../../gettext/include" CACHE PATH "gettext include directory") - set(GETTEXT_BIN_DIR "${PROJECT_SOURCE_DIR}/../../gettext/bin" + set(GETTEXT_BIN_DIR "${PROJECT_SOURCE_DIR}/../../gettext/bin" CACHE PATH "gettext bin directory") - set(GETTEXT_LIBRARIES "${PROJECT_SOURCE_DIR}/../../gettext/lib/libintl.lib" + set(GETTEXT_LIBRARIES "${PROJECT_SOURCE_DIR}/../../gettext/lib/libintl.lib" CACHE FILEPATH "gettext libintl.lib") - set(IRRLICHT_SOURCE_DIR "${PROJECT_SOURCE_DIR}/../../irrlicht-1.7.2" - CACHE PATH "irrlicht dir") + endif(USE_GETTEXT) else() # Unix probably if(BUILD_CLIENT) @@ -221,7 +233,7 @@ else() set(ARCH i386) endif() - if(WIN32) + if(WIN32 AND USE_GETTEXT) set(CMAKE_EXE_LINKER_FLAGS "-lintl -L ${GETTEXT_BIN_DIR}") endif() @@ -265,7 +277,7 @@ if(BUILD_CLIENT) if(DEFINED ZLIB_DLL) install(FILES ${ZLIB_DLL} DESTINATION ${BINDIR}) endif() - if(DEFINED GETTEXT_BIN_DIR) + if(USE_GETTEXT AND DEFINED GETTEXT_BIN_DIR) install(FILES ${GETTEXT_BIN_DIR}/libintl3.dll DESTINATION ${BINDIR}) install(FILES ${GETTEXT_BIN_DIR}/libiconv2.dll DESTINATION ${BINDIR}) endif() @@ -276,26 +288,28 @@ if(BUILD_SERVER) install(TARGETS ${PROJECT_NAME}server DESTINATION ${BINDIR}) endif(BUILD_SERVER) -if(WIN32) - set(GETTEXT_MSGFMT "${GETTEXT_BIN_DIR}/msgfmt.exe" CACHE FILEPATH "path to msgfmt") -elseif(APPLE) - set(GETTEXT_MSGFMT "${GETTEXT_BIN_DIR}/msgfmt" CACHE FILEPATH "path to msgfmt") -else() - set(GETTEXT_MSGFMT "msgfmt") -endif() +if (USE_GETTEXT) + if(WIN32) + set(GETTEXT_MSGFMT "${GETTEXT_BIN_DIR}/msgfmt.exe" CACHE FILEPATH "path to msgfmt") + elseif(APPLE) + set(GETTEXT_MSGFMT "${GETTEXT_BIN_DIR}/msgfmt" CACHE FILEPATH "path to msgfmt") + else() + set(GETTEXT_MSGFMT "msgfmt") + endif() + + add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES COMMENT "mo-update [de]: Creating locale directory.") -add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES COMMENT "mo-update [de]: Creating locale directory.") - -add_custom_command( - OUTPUT ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES/minetest-delta.mo - COMMAND ${GETTEXT_MSGFMT} -o ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES/minetest-delta.mo ${CMAKE_SOURCE_DIR}/po/de/minetest-c55.po - DEPENDS - ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES - ${CMAKE_SOURCE_DIR}/po/de/minetest-c55.po - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/po/de - COMMENT "mo-update [de]: Creating mo file." - ) -add_custom_target(translation_de ALL COMMENT "mo update [de]" DEPENDS ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES/minetest-delta.mo) + add_custom_command( + OUTPUT ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES/minetest-delta.mo + COMMAND ${GETTEXT_MSGFMT} -o ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES/minetest-delta.mo ${CMAKE_SOURCE_DIR}/po/de/minetest-c55.po + DEPENDS + ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES + ${CMAKE_SOURCE_DIR}/po/de/minetest-c55.po + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/po/de + COMMENT "mo-update [de]: Creating mo file." + ) + add_custom_target(translation_de ALL COMMENT "mo update [de]" DEPENDS ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES/minetest-delta.mo) +endif(USE_GETTEXT) # Subdirectories -- cgit v1.2.3 From b99174cb0c680396373c0190d4c04afa7e28028f Mon Sep 17 00:00:00 2001 From: Giuseppe Bilotta Date: Thu, 21 Jul 2011 12:33:29 +0200 Subject: Refactor and clean up gettext management --- src/CMakeLists.txt | 54 ++++++++++++++++++++++++++---------------------------- 1 file changed, 26 insertions(+), 28 deletions(-) (limited to 'src/CMakeLists.txt') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index fb8f419e5..8785a0e3f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -6,12 +6,22 @@ if(RUN_IN_PLACE) endif(RUN_IN_PLACE) if(USE_GETTEXT) - add_definitions( -DUSE_GETTEXT ) - message(STATUS "GetText enabled") -else() - set(GETTEXT_INCLUDE_DIR "") - set(GETTEXT_BIN_DIR "") - set(GETTEXT_LIBRARIES "") + 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) message(STATUS "GetText disabled") endif(USE_GETTEXT) @@ -39,14 +49,6 @@ if(WIN32) CACHE FILEPATH "Path to zlibwapi.dll (for installation)") set(IRRLICHT_SOURCE_DIR "${PROJECT_SOURCE_DIR}/../../irrlicht-1.7.2" CACHE PATH "irrlicht dir") - if (USE_GETTEXT) - set(GETTEXT_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/../../gettext/include" - CACHE PATH "gettext include directory") - set(GETTEXT_BIN_DIR "${PROJECT_SOURCE_DIR}/../../gettext/bin" - CACHE PATH "gettext bin directory") - set(GETTEXT_LIBRARIES "${PROJECT_SOURCE_DIR}/../../gettext/lib/libintl.lib" - CACHE FILEPATH "gettext libintl.lib") - endif(USE_GETTEXT) else() # Unix probably if(BUILD_CLIENT) @@ -175,7 +177,7 @@ if(BUILD_CLIENT) ${BZIP2_LIBRARIES} ${PNG_LIBRARIES} ${X11_LIBRARIES} - ${GETTEXT_LIBRARIES} + ${GETTEXT_LIBRARY} ${PLATFORM_LIBS} ${CLIENT_PLATFORM_LIBS} ${JTHREAD_LIBRARY} @@ -234,7 +236,7 @@ else() endif() if(WIN32 AND USE_GETTEXT) - set(CMAKE_EXE_LINKER_FLAGS "-lintl -L ${GETTEXT_BIN_DIR}") + set(CMAKE_EXE_LINKER_FLAGS "-l${GETTEXT_LIBRARY}") endif() set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG ${RELEASE_WARNING_FLAGS} ${WARNING_FLAGS} -O3 -ffast-math -Wall -fomit-frame-pointer -pipe -funroll-loops") @@ -277,10 +279,14 @@ if(BUILD_CLIENT) if(DEFINED ZLIB_DLL) install(FILES ${ZLIB_DLL} DESTINATION ${BINDIR}) endif() - if(USE_GETTEXT AND DEFINED GETTEXT_BIN_DIR) - install(FILES ${GETTEXT_BIN_DIR}/libintl3.dll DESTINATION ${BINDIR}) - install(FILES ${GETTEXT_BIN_DIR}/libiconv2.dll DESTINATION ${BINDIR}) - endif() + 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(USE_GETTEXT) endif() endif(BUILD_CLIENT) @@ -289,14 +295,6 @@ if(BUILD_SERVER) endif(BUILD_SERVER) if (USE_GETTEXT) - if(WIN32) - set(GETTEXT_MSGFMT "${GETTEXT_BIN_DIR}/msgfmt.exe" CACHE FILEPATH "path to msgfmt") - elseif(APPLE) - set(GETTEXT_MSGFMT "${GETTEXT_BIN_DIR}/msgfmt" CACHE FILEPATH "path to msgfmt") - else() - set(GETTEXT_MSGFMT "msgfmt") - endif() - add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES COMMENT "mo-update [de]: Creating locale directory.") add_custom_command( -- cgit v1.2.3 From adb7181969a6398762873298ef0b50ca575d7b31 Mon Sep 17 00:00:00 2001 From: Giuseppe Bilotta Date: Thu, 21 Jul 2011 13:59:50 +0200 Subject: Uppercase DEFINED or cmake 2.8.4 complains --- src/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/CMakeLists.txt') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 8785a0e3f..2d7a7fc68 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -280,10 +280,10 @@ if(BUILD_CLIENT) install(FILES ${ZLIB_DLL} DESTINATION ${BINDIR}) endif() if(USE_GETTEXT) - if(defined GETTEXT_DLL) + if(DEFINED GETTEXT_DLL) install(FILES ${GETTEXT_DLL} DESTINATION ${BINDIR}) endif() - if(defined GETTEXT_ICONV_DLL) + if(DEFINED GETTEXT_ICONV_DLL) install(FILES ${GETTEXT_ICONV_DLL} DESTINATION ${BINDIR}) endif() endif(USE_GETTEXT) -- cgit v1.2.3 From 7b93fb59cfbc9d89e13b8046634c0ab5a1a4a691 Mon Sep 17 00:00:00 2001 From: Giuseppe Bilotta Date: Thu, 21 Jul 2011 14:46:14 +0200 Subject: Only install locale files if using gettext --- src/CMakeLists.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/CMakeLists.txt') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 2d7a7fc68..6cc5c035f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -270,8 +270,10 @@ if(BUILD_CLIENT) install(FILES ${images} DESTINATION ${DATADIR}) - install(FILES ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES/minetest-delta.mo DESTINATION locale/de/LC_MESSAGES) - + if (USE_GETTEXT) + install(FILES ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES/minetest-delta.mo DESTINATION locale/de/LC_MESSAGES) + endif() + if(WIN32) if(DEFINED IRRLICHT_DLL) install(FILES ${IRRLICHT_DLL} DESTINATION ${BINDIR}) -- cgit v1.2.3 From 02695bebc632042dd684991665b93925b974d7d4 Mon Sep 17 00:00:00 2001 From: Giuseppe Bilotta Date: Thu, 21 Jul 2011 14:50:15 +0200 Subject: Find correct library for MSVC vs MingW in Winows --- src/CMakeLists.txt | 4 ---- 1 file changed, 4 deletions(-) (limited to 'src/CMakeLists.txt') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 6cc5c035f..c018d8e56 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -235,10 +235,6 @@ else() set(ARCH i386) endif() - if(WIN32 AND USE_GETTEXT) - set(CMAKE_EXE_LINKER_FLAGS "-l${GETTEXT_LIBRARY}") - endif() - set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG ${RELEASE_WARNING_FLAGS} ${WARNING_FLAGS} -O3 -ffast-math -Wall -fomit-frame-pointer -pipe -funroll-loops") set(CMAKE_CXX_FLAGS_DEBUG "-g -O1 -Wall ${WARNING_FLAGS}") -- cgit v1.2.3 From 767280577b89503d5a0c7034fd66eae1694d0ce9 Mon Sep 17 00:00:00 2001 From: Giuseppe Bilotta Date: Thu, 21 Jul 2011 15:16:59 +0200 Subject: Reorganize cmake gettext message output to ease debugging --- src/CMakeLists.txt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'src/CMakeLists.txt') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c018d8e56..8c6e1d450 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -7,18 +7,18 @@ endif(RUN_IN_PLACE) if(USE_GETTEXT) find_package(GettextLib REQUIRED) + 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() 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") + message(STATUS "ERROR: GetText enabled but not found, disabling") set(USE_GETTEXT FALSE) endif(GETTEXT_FOUND) else(USE_GETTEXT) -- cgit v1.2.3 From 8048961cc571efafe493bda2e082c27cce643414 Mon Sep 17 00:00:00 2001 From: Cyriaque Skrapits Date: Thu, 21 Jul 2011 16:09:57 +0200 Subject: Added french translation. --- src/CMakeLists.txt | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src/CMakeLists.txt') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 72f79976c..532ac9fee 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -257,7 +257,8 @@ if(BUILD_CLIENT) install(FILES ${images} DESTINATION ${DATADIR}) install(FILES ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES/minetest-c55.mo DESTINATION locale/de/LC_MESSAGES) - + install(FILES ${CMAKE_BINARY_DIR}/locale/fr/LC_MESSAGES/minetest-c55.mo DESTINATION locale/fr/LC_MESSAGES) + if(WIN32) if(DEFINED IRRLICHT_DLL) install(FILES ${IRRLICHT_DLL} DESTINATION ${BINDIR}) @@ -285,6 +286,7 @@ else() endif() add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES COMMENT "mo-update [de]: Creating locale directory.") +add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/locale/fr/LC_MESSAGES COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/locale/fr/LC_MESSAGES COMMENT "mo-update [fr]: Creating locale directory.") add_custom_command( OUTPUT ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES/minetest-c55.mo @@ -295,7 +297,19 @@ add_custom_command( WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/po/de COMMENT "mo-update [de]: Creating mo file." ) +add_custom_command( + OUTPUT ${CMAKE_BINARY_DIR}/locale/fr/LC_MESSAGES/minetest-c55.mo + COMMAND ${GETTEXT_MSGFMT} -o ${CMAKE_BINARY_DIR}/locale/fr/LC_MESSAGES/minetest-c55.mo ${CMAKE_SOURCE_DIR}/po/fr/minetest-c55.po + DEPENDS + ${CMAKE_BINARY_DIR}/locale/fr/LC_MESSAGES + ${CMAKE_SOURCE_DIR}/po/fr/minetest-c55.po + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/po/fr + COMMENT "mo-update [fr]: Creating mo file." + ) + add_custom_target(translation_de ALL COMMENT "mo update [de]" DEPENDS ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES/minetest-c55.mo) +add_custom_target(translation_fr ALL COMMENT "mo update [fr]" DEPENDS ${CMAKE_BINARY_DIR}/locale/fr/LC_MESSAGES/minetest-c55.mo) + # Subdirectories -- cgit v1.2.3 From bc05bd8b59af9cef363cebf320f65a5283b0dea6 Mon Sep 17 00:00:00 2001 From: Giuseppe Bilotta Date: Fri, 22 Jul 2011 08:33:08 +0200 Subject: Use project name for mo files --- src/CMakeLists.txt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/CMakeLists.txt') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index f3dee7f30..feaf0eb98 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -267,8 +267,8 @@ if(BUILD_CLIENT) install(FILES ${images} DESTINATION ${DATADIR}) if (USE_GETTEXT) - install(FILES ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES/minetest-delta.mo DESTINATION locale/de/LC_MESSAGES) - install(FILES ${CMAKE_BINARY_DIR}/locale/fr/LC_MESSAGES/minetest-c55.mo DESTINATION locale/fr/LC_MESSAGES) + install(FILES ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES/${PROJECT_NAME}.mo DESTINATION locale/de/LC_MESSAGES) + install(FILES ${CMAKE_BINARY_DIR}/locale/fr/LC_MESSAGES/${PROJECT_NAME}.mo DESTINATION locale/fr/LC_MESSAGES) endif() if(WIN32) @@ -298,7 +298,7 @@ if (USE_GETTEXT) add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/locale/fr/LC_MESSAGES COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/locale/fr/LC_MESSAGES COMMENT "mo-update [fr]: Creating locale directory.") add_custom_command( - OUTPUT ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES/minetest-delta.mo + OUTPUT ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES/${PROJECT_NAME}.mo COMMAND ${GETTEXT_MSGFMT} -o ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES/minetest-delta.mo ${CMAKE_SOURCE_DIR}/po/de/minetest-c55.po DEPENDS ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES @@ -307,7 +307,7 @@ if (USE_GETTEXT) COMMENT "mo-update [de]: Creating mo file." ) add_custom_command( - OUTPUT ${CMAKE_BINARY_DIR}/locale/fr/LC_MESSAGES/minetest-c55.mo + OUTPUT ${CMAKE_BINARY_DIR}/locale/fr/LC_MESSAGES/${PROJECT_NAME}.mo COMMAND ${GETTEXT_MSGFMT} -o ${CMAKE_BINARY_DIR}/locale/fr/LC_MESSAGES/minetest-c55.mo ${CMAKE_SOURCE_DIR}/po/fr/minetest-c55.po DEPENDS ${CMAKE_BINARY_DIR}/locale/fr/LC_MESSAGES @@ -316,8 +316,8 @@ if (USE_GETTEXT) COMMENT "mo-update [fr]: Creating mo file." ) - add_custom_target(translation_de ALL COMMENT "mo update [de]" DEPENDS ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES/minetest-delta.mo) - add_custom_target(translation_fr ALL COMMENT "mo update [fr]" DEPENDS ${CMAKE_BINARY_DIR}/locale/fr/LC_MESSAGES/minetest-c55.mo) + add_custom_target(translation_de ALL COMMENT "mo update [de]" DEPENDS ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES/${PROJECT_NAME}.mo) + add_custom_target(translation_fr ALL COMMENT "mo update [fr]" DEPENDS ${CMAKE_BINARY_DIR}/locale/fr/LC_MESSAGES/${PROJECT_NAME}.mo) endif(USE_GETTEXT) # Subdirectories -- cgit v1.2.3 From 0ec749317cfa36e68150dd634c2c9ffdb8027588 Mon Sep 17 00:00:00 2001 From: Giuseppe Bilotta Date: Fri, 22 Jul 2011 09:36:17 +0200 Subject: Refactor mo creation/installation --- src/CMakeLists.txt | 51 ++++++++++++++++++++++++++------------------------- 1 file changed, 26 insertions(+), 25 deletions(-) (limited to 'src/CMakeLists.txt') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index feaf0eb98..4427a1380 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -16,7 +16,7 @@ if(USE_GETTEXT) endif() if (GETTEXT_FOUND) add_definitions( -DUSE_GETTEXT ) - message(STATUS "GetText enabled") + message(STATUS "GetText enabled; locales found: ${GETTEXT_AVAILABLE_LOCALES}") else() message(STATUS "ERROR: GetText enabled but not found, disabling") set(USE_GETTEXT FALSE) @@ -267,8 +267,11 @@ if(BUILD_CLIENT) install(FILES ${images} DESTINATION ${DATADIR}) if (USE_GETTEXT) - install(FILES ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES/${PROJECT_NAME}.mo DESTINATION locale/de/LC_MESSAGES) - install(FILES ${CMAKE_BINARY_DIR}/locale/fr/LC_MESSAGES/${PROJECT_NAME}.mo DESTINATION locale/fr/LC_MESSAGES) + 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") + install(FILES ${MO_BUILD_PATH} DESTINATION ${MO_DEST_PATH}) + endforeach(LOCALE ${GETTEXT_AVAILABLE_LOCALES}) endif() if(WIN32) @@ -294,30 +297,28 @@ if(BUILD_SERVER) endif(BUILD_SERVER) if (USE_GETTEXT) - add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES COMMENT "mo-update [de]: Creating locale directory.") - add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/locale/fr/LC_MESSAGES COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/locale/fr/LC_MESSAGES COMMENT "mo-update [fr]: Creating locale directory.") - - add_custom_command( - OUTPUT ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES/${PROJECT_NAME}.mo - COMMAND ${GETTEXT_MSGFMT} -o ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES/minetest-delta.mo ${CMAKE_SOURCE_DIR}/po/de/minetest-c55.po - DEPENDS - ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES - ${CMAKE_SOURCE_DIR}/po/de/minetest-c55.po - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/po/de - COMMENT "mo-update [de]: Creating mo file." - ) - add_custom_command( - OUTPUT ${CMAKE_BINARY_DIR}/locale/fr/LC_MESSAGES/${PROJECT_NAME}.mo - COMMAND ${GETTEXT_MSGFMT} -o ${CMAKE_BINARY_DIR}/locale/fr/LC_MESSAGES/minetest-c55.mo ${CMAKE_SOURCE_DIR}/po/fr/minetest-c55.po - DEPENDS - ${CMAKE_BINARY_DIR}/locale/fr/LC_MESSAGES - ${CMAKE_SOURCE_DIR}/po/fr/minetest-c55.po - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/po/fr - COMMENT "mo-update [fr]: Creating mo file." + set(MO_FILES) + foreach(LOCALE ${GETTEXT_AVAILABLE_LOCALES}) + set_mo_paths(MO_BUILD_PATH MO_DEST_PATH ${LOCALE}) + add_custom_command(OUTPUT ${MO_BUILD_PATH} + COMMAND ${CMAKE_COMMAND} -E make_directory ${MO_BUILD_PATH} + COMMENT "mo-update [${LOCALE}]: Creating locale directory.") + + set(MO_FILE_PATH "${MO_BUILD_PATH}/${PROJECT_NAME}.mo") + set(PO_FILE_PATH "${GETTEXT_PO_PATH}/${LOCALE}/minetest-c55.po") + + add_custom_command( + OUTPUT ${MO_FILE_PATH} + COMMAND ${GETTEXT_MSGFMT} -o ${MO_FILE_PATH} ${PO_FILE_PATH} + DEPENDS ${MO_BUILD_PATH} ${PO_FILE_PATH} + WORKING_DIRECTORY "${GETTEXT_PO_PATH}/${LOCALE}" + COMMENT "mo-update [${LOCALE}]: Creating mo file." ) - add_custom_target(translation_de ALL COMMENT "mo update [de]" DEPENDS ${CMAKE_BINARY_DIR}/locale/de/LC_MESSAGES/${PROJECT_NAME}.mo) - add_custom_target(translation_fr ALL COMMENT "mo update [fr]" DEPENDS ${CMAKE_BINARY_DIR}/locale/fr/LC_MESSAGES/${PROJECT_NAME}.mo) + set(MO_FILES ${MO_FILES} ${MO_FILE_PATH}) + endforeach(LOCALE ${GETTEXT_AVAILABLE_LOCALES}) + + add_custom_target(translations ALL COMMENT "mo update" DEPENDS ${MO_FILES}) endif(USE_GETTEXT) # Subdirectories -- cgit v1.2.3 From 8f2409a1b41bbe32abf626b06e1b90f6cc7118c8 Mon Sep 17 00:00:00 2001 From: Giuseppe Bilotta Date: Fri, 22 Jul 2011 09:58:02 +0200 Subject: Static naming of po file MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The po file should not be named c55 if we're in ∆. But since it is not exposed at installation time, we don't actually need its name to be based on the project name at all, so just call it minetest.po --- src/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/CMakeLists.txt') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 4427a1380..61fb20680 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -305,7 +305,7 @@ if (USE_GETTEXT) COMMENT "mo-update [${LOCALE}]: Creating locale directory.") set(MO_FILE_PATH "${MO_BUILD_PATH}/${PROJECT_NAME}.mo") - set(PO_FILE_PATH "${GETTEXT_PO_PATH}/${LOCALE}/minetest-c55.po") + set(PO_FILE_PATH "${GETTEXT_PO_PATH}/${LOCALE}/minetest.po") add_custom_command( OUTPUT ${MO_FILE_PATH} -- cgit v1.2.3 From aaa165f985ec30e96ae9a975c9ad96d6e99f5ac7 Mon Sep 17 00:00:00 2001 From: Giuseppe Bilotta Date: Fri, 22 Jul 2011 10:55:05 +0200 Subject: updatepo cmake rule Get rid of the system-specific updatelocales.sh and introduce an updatepo cmake rule. po files are also updated before creating the mo files, and we now keep the .pot file (in the po/en directory). To stabilize the po file creation, file contents are sorted by source filename. Update po files in the process. --- src/CMakeLists.txt | 58 +++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 42 insertions(+), 16 deletions(-) (limited to 'src/CMakeLists.txt') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 61fb20680..0c4b41829 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -297,28 +297,54 @@ if(BUILD_SERVER) endif(BUILD_SERVER) if (USE_GETTEXT) + add_custom_command(OUTPUT "${GETTEXT_PO_PATH}/en" + COMMAND ${CMAKE_COMMAND} -E make_directory "${GETTEXT_PO_PATH}/en" + COMMENT "po-update [en]: creating translation template base directory") + set(POT_FILE "${GETTEXT_PO_PATH}/en/minetest.pot") + file(GLOB GETTEXT_POT_DEPS *.cpp *.h) + file(GLOB GETTEXT_POT_DEPS_REL RELATIVE ${CMAKE_SOURCE_DIR} *.cpp *.h) + add_custom_command(OUTPUT ${POT_FILE} + COMMAND ${GETTEXT_EXTRACT} -F -n -o ${POT_FILE} ${GETTEXT_POT_DEPS_REL} + DEPENDS "${GETTEXT_PO_PATH}/en" ${GETTEXT_POT_DEPS} + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + COMMENT "po-update [en]: updating translation template") + + set(PO_FILES) set(MO_FILES) + foreach(LOCALE ${GETTEXT_AVAILABLE_LOCALES}) - set_mo_paths(MO_BUILD_PATH MO_DEST_PATH ${LOCALE}) - add_custom_command(OUTPUT ${MO_BUILD_PATH} - COMMAND ${CMAKE_COMMAND} -E make_directory ${MO_BUILD_PATH} - COMMENT "mo-update [${LOCALE}]: Creating locale directory.") - - set(MO_FILE_PATH "${MO_BUILD_PATH}/${PROJECT_NAME}.mo") - set(PO_FILE_PATH "${GETTEXT_PO_PATH}/${LOCALE}/minetest.po") - - add_custom_command( - OUTPUT ${MO_FILE_PATH} - COMMAND ${GETTEXT_MSGFMT} -o ${MO_FILE_PATH} ${PO_FILE_PATH} - DEPENDS ${MO_BUILD_PATH} ${PO_FILE_PATH} - WORKING_DIRECTORY "${GETTEXT_PO_PATH}/${LOCALE}" - COMMENT "mo-update [${LOCALE}]: Creating mo file." - ) + # skip the 'en' locale which is treated separately + if (NOT LOCALE STREQUAL "en") + set(PO_FILE_PATH "${GETTEXT_PO_PATH}/${LOCALE}/minetest.po") + add_custom_command(OUTPUT ${PO_FILE_PATH} + COMMAND ${GETTEXT_MSGMERGE} -F -U ${PO_FILE_PATH} ${POT_FILE} + DEPENDS ${POT_FILE} + WORKING_DIRECTORY "${GETTEXT_PO_PATH}/${LOCALE}" + COMMENT "po-update [${LOCALE}]: updating strings") - set(MO_FILES ${MO_FILES} ${MO_FILE_PATH}) + + set_mo_paths(MO_BUILD_PATH MO_DEST_PATH ${LOCALE}) + add_custom_command(OUTPUT ${MO_BUILD_PATH} + COMMAND ${CMAKE_COMMAND} -E make_directory ${MO_BUILD_PATH} + COMMENT "mo-update [${LOCALE}]: Creating locale directory.") + + set(MO_FILE_PATH "${MO_BUILD_PATH}/${PROJECT_NAME}.mo") + + add_custom_command( + OUTPUT ${MO_FILE_PATH} + COMMAND ${GETTEXT_MSGFMT} -o ${MO_FILE_PATH} ${PO_FILE_PATH} + DEPENDS ${MO_BUILD_PATH} ${PO_FILE_PATH} + WORKING_DIRECTORY "${GETTEXT_PO_PATH}/${LOCALE}" + COMMENT "mo-update [${LOCALE}]: Creating mo file." + ) + + set(MO_FILES ${MO_FILES} ${MO_FILE_PATH}) + set(PO_FILES ${PO_FILES} ${PO_FILE_PATH}) + endif(NOT LOCALE STREQUAL "en") endforeach(LOCALE ${GETTEXT_AVAILABLE_LOCALES}) add_custom_target(translations ALL COMMENT "mo update" DEPENDS ${MO_FILES}) + add_custom_target(updatepo COMMENT "po update" DEPENDS ${PO_FILES}) endif(USE_GETTEXT) # Subdirectories -- cgit v1.2.3 From 965352287391eb46695546efce3e26a2e576a340 Mon Sep 17 00:00:00 2001 From: Giuseppe Bilotta Date: Fri, 22 Jul 2011 14:42:04 +0200 Subject: Declare USE_GETTEXT option --- src/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/CMakeLists.txt') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 0c4b41829..dc9dc03a6 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -5,6 +5,8 @@ if(RUN_IN_PLACE) add_definitions ( -DRUN_IN_PLACE ) endif(RUN_IN_PLACE) +OPTION(USE_GETTEXT "Use GetText for internationalization" OFF) + if(USE_GETTEXT) find_package(GettextLib REQUIRED) message(STATUS "gettext include path: ${GETTEXT_INCLUDE_DIR}") -- cgit v1.2.3 From a12229f27148b9aec64c0fdeb1d739ad2062ac93 Mon Sep 17 00:00:00 2001 From: Constantin Wenger Date: Fri, 22 Jul 2011 20:19:43 +0200 Subject: fixed some problems with filenames of the translations --- src/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/CMakeLists.txt') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index dc9dc03a6..c93762cab 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -330,7 +330,7 @@ if (USE_GETTEXT) COMMAND ${CMAKE_COMMAND} -E make_directory ${MO_BUILD_PATH} COMMENT "mo-update [${LOCALE}]: Creating locale directory.") - set(MO_FILE_PATH "${MO_BUILD_PATH}/${PROJECT_NAME}.mo") + set(MO_FILE_PATH "${MO_BUILD_PATH}/minetest.mo") add_custom_command( OUTPUT ${MO_FILE_PATH} -- cgit v1.2.3