X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=cmake%2Fmodules%2FQuasselMacros.cmake;h=738d49e9c9fcad59b7f8408826d2ab14cac38000;hp=099e8a22f22a4b9d9f9635b7a524672c9cc952d5;hb=d650a89ba2410eea2b6b9a9be4644a7847d16d48;hpb=907e6c4c2f5e199600b54213f6964d2c50bdc700 diff --git a/cmake/modules/QuasselMacros.cmake b/cmake/modules/QuasselMacros.cmake index 099e8a22..738d49e9 100644 --- a/cmake/modules/QuasselMacros.cmake +++ b/cmake/modules/QuasselMacros.cmake @@ -9,7 +9,40 @@ macro(setup_qt4_variables) set(MAIN MAIN) ENDIF(WIN32) foreach(qtmod CORE ${ARGV} ${MAIN}) - set(QUASSEL_QT_LIBRARIES ${QUASSEL_QT_LIBRARIES} ${QT_QT${qtmod}_LIBRARY} ${QT_${qtmod}_LIB_DEPENDENCIES}) + set(QUASSEL_QT_LIBRARIES ${QUASSEL_QT_LIBRARIES} ${QT_QT${qtmod}_LIBRARY}) + if(STATIC) + set(QUASSEL_QT_LIBRARIES ${QUASSEL_QT_LIBRARIES} ${QT_${qtmod}_LIB_DEPENDENCIES}) + endif(STATIC) endforeach(qtmod ${ARGV}) set(QUASSEL_QT_LIBRARIES ${QUASSEL_QT_LIBRARIES} ${QT_LIBRARIES}) endmacro(setup_qt4_variables) + +# This generates a .ts from a .po file +macro(generate_ts outvar basename) + set(input ${CMAKE_SOURCE_DIR}/po/${basename}.po) + set(output ${CMAKE_BINARY_DIR}/po/${basename}.ts) + add_custom_command(OUTPUT ${output} + COMMAND ${QT_LCONVERT_EXECUTABLE} + ARGS -i ${input} + -of ts + -o ${output} +# This is a workaround to add (duplicate) strings that lconvert missed to the .ts + COMMAND ${QT_LUPDATE_EXECUTABLE} + ARGS -silent + ${CMAKE_SOURCE_DIR}/src/ + -ts ${output} + DEPENDS ${basename}.po) + set(${outvar} ${output}) +endmacro(generate_ts outvar basename) + +# This generates a .qm from a .ts file +macro(generate_qm outvar basename) + set(input ${CMAKE_BINARY_DIR}/po/${basename}.ts) + set(output ${CMAKE_BINARY_DIR}/po/${basename}.qm) + add_custom_command(OUTPUT ${output} + COMMAND ${QT_LRELEASE_EXECUTABLE} + ARGS -silent + ${input} + DEPENDS ${basename}.ts) + set(${outvar} ${output}) +endmacro(generate_qm outvar basename)