summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorJan Darmochwal2010-10-06 01:35:05 +0200
committerJan Darmochwal2010-10-06 01:35:05 +0200
commitbf7453843683494b81dd70232a2093577db34289 (patch)
treefed26399810a9fa58b974c3d71a72e0c19cab74d /CMakeLists.txt
parenthighlight previous session (diff)
downloadvmchooser-bf7453843683494b81dd70232a2093577db34289.tar.gz
vmchooser-bf7453843683494b81dd70232a2093577db34289.tar.xz
vmchooser-bf7453843683494b81dd70232a2093577db34289.zip
i18n support and German translation
Translation can be done with .ts-files in src/i18n/de.ts. The resulting .qm-files are stored as resources in the program binary. build.sh has a new option --update-translations that causes the .ts files to be updated
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt26
1 files changed, 25 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0bc9e02..9601a66 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -15,6 +15,7 @@ file(GLOB_RECURSE VMCHOOSER_SOURCES src/*.cpp)
file(GLOB_RECURSE VMCHOOSER_MOC_HEADERS src/*.h)
file(GLOB_RECURSE VMCHOOSER_UIS src/ui/*.ui)
file(GLOB_RECURSE VMCHOOSER_RESOURCES src/*.qrc)
+file(GLOB_RECURSE VMCHOOSER_TSS src/i18n/*.ts)
include_directories(${CMAKE_CURRENT_BINARY_DIR})
@@ -48,7 +49,6 @@ endif(LIBXML2_FOUND)
#
# Qt4
#
-# TODO: Qt4.3 should do
find_package(Qt4 4.5.0 REQUIRED)
if(QT4_FOUND)
message(STATUS "Qt4 found")
@@ -62,6 +62,29 @@ set(QT_USE_QTSVG TRUE)
include(${QT_USE_FILE})
+option(UPDATE_TRANSLATIONS "Update .ts files (WARNING: make clean will delete the .ts files!)")
+if(VMCHOOSER_TSS)
+ if (UPDATE_TRANSLATIONS)
+ set (FILES_TO_TRANSLATE ${FILES_TO_TRANSLATE} ${VMCHOOSER_SOURCES} ${VMCHOOSER_UIS})
+ QT4_CREATE_TRANSLATION(VMCHOOSER_QMS ${FILES_TO_TRANSLATE} ${VMCHOOSER_TSS} OPTIONS -noobsolete)
+ message(STATUS ".tr files have been updated")
+ else (UPDATE_TRANSLATIONS)
+ QT4_ADD_TRANSLATION(VMCHOOSER_QMS ${VMCHOOSER_TSS})
+ endif (UPDATE_TRANSLATIONS)
+
+ # write a resource file for qm files
+ set(resource_file_content "<RCC>\n <qresource prefix=\"/\">\n")
+ foreach(file ${VMCHOOSER_QMS})
+ get_filename_component(filename ${file} NAME)
+ set(resource_file_content "${resource_file_content} <file>${filename}</file>\n")
+ endforeach(file)
+ set(resource_file_content "${resource_file_content} </qresource>\n</RCC>\n")
+ file(WRITE "${CMAKE_BINARY_DIR}/translation.qrc" "${resource_file_content}")
+ set(VMCHOOSER_RESOURCES ${VMCHOOSER_RESOURCES} "${CMAKE_BINARY_DIR}/translation.qrc")
+
+ #add_custom_target(translations_target DEPENDS ${VMCHOOSER_QMS})
+endif(VMCHOOSER_TSS)
+
QT4_ADD_RESOURCES(VMCHOOSER_RC_SOURCES ${VMCHOOSER_RESOURCES})
QT4_WRAP_UI(VMCHOOSER_UI_HEADERS ${VMCHOOSER_UIS})
QT4_WRAP_CPP(VMCHOOSER_MOC_SOURCES ${VMCHOOSER_MOC_HEADERS})
@@ -77,6 +100,7 @@ add_executable(vmchooser
${VMCHOOSER_MOC_SOURCES}
${VMCHOOSER_UI_HEADERS}
${VMCHOOSER_RC_SOURCES}
+ ${VMCHOOSER_QMS}
)
target_link_libraries(vmchooser