Commit 3c7abeca authored by Gavin Bisesi's avatar Gavin Bisesi
Browse files

Merge pull request #292 from ctrlaltca/cmake_translations

Add a UPDATE_TRANSLATIONS option
parents 8c072224 d6b97976
...@@ -102,7 +102,9 @@ ENDIF() ...@@ -102,7 +102,9 @@ ENDIF()
# Find Qt and enable the needed features # Find Qt and enable the needed features
# Default is Qt5 unless WITH_QT4 option is enabled # Default is Qt5 unless WITH_QT4 option is enabled
option(WITH_QT4 "Force thr use of Qt4 libraries" OFF) option(WITH_QT4 "Force the use of Qt4 libraries" OFF)
OPTION(UPDATE_TRANSLATIONS "Update translations on compile" OFF)
MESSAGE("UPDATE TRANSLATIONS: ${UPDATE_TRANSLATIONS}")
IF(NOT WITH_QT4) IF(NOT WITH_QT4)
FIND_PACKAGE(Qt5Widgets) FIND_PACKAGE(Qt5Widgets)
...@@ -114,7 +116,19 @@ IF(Qt5Widgets_FOUND) ...@@ -114,7 +116,19 @@ IF(Qt5Widgets_FOUND)
if(UNIX AND NOT APPLE AND "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64") if(UNIX AND NOT APPLE AND "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64")
# FIX: Qt was built with -reduce-relocations # FIX: Qt was built with -reduce-relocations
add_definitions(-fPIC) add_definitions(-fPIC)
endif() endif()
FIND_PACKAGE(Qt5LinguistTools)
IF(UPDATE_TRANSLATIONS)
IF(NOT Qt5_LUPDATE_EXECUTABLE)
MESSAGE(WARNING "Qt's lupdate not found.")
ENDIF()
ENDIF()
IF(NOT Qt5_LRELEASE_EXECUTABLE)
MESSAGE(WARNING "Qt's lrelease not found.")
ENDIF()
ELSE() ELSE()
FIND_PACKAGE(Qt4 4.8.0 REQUIRED) FIND_PACKAGE(Qt4 4.8.0 REQUIRED)
IF(QT4_FOUND) IF(QT4_FOUND)
...@@ -123,6 +137,17 @@ ELSE() ...@@ -123,6 +137,17 @@ ELSE()
ENDIF() ENDIF()
IF(Qt4_FOUND) IF(Qt4_FOUND)
MESSAGE(STATUS "Found Qt ${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH}") MESSAGE(STATUS "Found Qt ${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH}")
IF(UPDATE_TRANSLATIONS)
IF(NOT QT_LUPDATE_EXECUTABLE)
MESSAGE(WARNING "Qt's lupdate not found.")
ENDIF()
ENDIF()
IF(NOT QT_LRELEASE_EXECUTABLE)
MESSAGE(WARNING "Qt's lrelease not found.")
ENDIF()
ELSE() ELSE()
MESSAGE(FATAL_ERROR "No Qt4 or Qt5 found!") MESSAGE(FATAL_ERROR "No Qt4 or Qt5 found!")
ENDIF() ENDIF()
......
...@@ -98,22 +98,13 @@ if (UNIX AND NOT APPLE) ...@@ -98,22 +98,13 @@ if (UNIX AND NOT APPLE)
endif (UNIX AND NOT APPLE) endif (UNIX AND NOT APPLE)
set(cockatrice_RESOURCES cockatrice.qrc) set(cockatrice_RESOURCES cockatrice.qrc)
set(cockatrice_TS FILE(GLOB cockatrice_TS "${CMAKE_CURRENT_SOURCE_DIR}/translations/*.ts")
# translations/cockatrice_cs.ts
translations/cockatrice_de.ts IF(UPDATE_TRANSLATIONS)
translations/cockatrice_en.ts FILE(GLOB_RECURSE translate_cockatrice_SRCS ${CMAKE_SOURCE_DIR}/cockatrice/src/*.cpp)
translations/cockatrice_es.ts FILE(GLOB_RECURSE translate_common_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/common/*.cpp)
# translations/cockatrice_fr.ts SET(translate_SRCS ${translate_cockatrice_SRCS} ${translate_common_SRCS})
translations/cockatrice_it.ts ENDIF(UPDATE_TRANSLATIONS)
translations/cockatrice_ja.ts
# translations/cockatrice_pl.ts
# translations/cockatrice_pt-br.ts
translations/cockatrice_pt.ts
# translations/cockatrice_ru.ts
# translations/cockatrice_sk.ts
translations/cockatrice_sv.ts
# translations/cockatrice_zh_CN.ts
)
if(WIN32) if(WIN32)
set(cockatrice_SOURCES ${cockatrice_SOURCES} cockatrice.rc) set(cockatrice_SOURCES ${cockatrice_SOURCES} cockatrice.rc)
...@@ -149,7 +140,12 @@ if(Qt4_FOUND) ...@@ -149,7 +140,12 @@ if(Qt4_FOUND)
# Let cmake chew Qt4's translations and resource files # Let cmake chew Qt4's translations and resource files
# Note: header files are MOC-ed automatically by cmake # Note: header files are MOC-ed automatically by cmake
QT4_ADD_TRANSLATION(cockatrice_QM ${cockatrice_TS}) IF(UPDATE_TRANSLATIONS)
QT4_CREATE_TRANSLATION(cockatrice_QM ${translate_SRCS} ${cockatrice_TS})
ELSE(UPDATE_TRANSLATIONS)
QT4_ADD_TRANSLATION(cockatrice_QM ${cockatrice_TS})
ENDIF(UPDATE_TRANSLATIONS)
QT4_ADD_RESOURCES(cockatrice_RESOURCES_RCC ${cockatrice_RESOURCES}) QT4_ADD_RESOURCES(cockatrice_RESOURCES_RCC ${cockatrice_RESOURCES})
endif() endif()
...@@ -202,7 +198,12 @@ if(Qt5Widgets_FOUND) ...@@ -202,7 +198,12 @@ if(Qt5Widgets_FOUND)
# Let cmake chew Qt5's translations and resource files # Let cmake chew Qt5's translations and resource files
# Note: header files are MOC-ed automatically by cmake # Note: header files are MOC-ed automatically by cmake
QT5_ADD_TRANSLATION(cockatrice_QM ${cockatrice_TS}) IF(UPDATE_TRANSLATIONS)
QT5_CREATE_TRANSLATION(cockatrice_QM ${translate_SRCS} ${cockatrice_TS})
ELSE()
QT5_ADD_TRANSLATION(cockatrice_QM ${cockatrice_TS})
ENDIF()
QT5_ADD_RESOURCES(cockatrice_RESOURCES_RCC ${cockatrice_RESOURCES}) QT5_ADD_RESOURCES(cockatrice_RESOURCES_RCC ${cockatrice_RESOURCES})
# guess plugins and libraries directory # guess plugins and libraries directory
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment