1 # This macro sets variables for the Qt modules we need.
3 macro(setup_qt_variables)
4 set(QUASSEL_QT_LIBRARIES )
5 set(QUASSEL_QT_INCLUDES ${QT_INCLUDE_DIR}) # Qt4
6 set(QUASSEL_QT_DEFINITIONS ${QT_DEFINITIONS}) # Qt4
11 foreach(qtmod Core ${ARGV} ${MAIN})
13 find_package(Qt5${qtmod} ${QT_MIN_VERSION} REQUIRED)
14 list(APPEND QUASSEL_QT_LIBRARIES ${Qt5${qtmod}_LIBRARIES})
15 list(APPEND QUASSEL_QT_INCLUDES ${Qt5${qtmod}_INCLUDE_DIRS})
16 list(APPEND QUASSEL_QT_DEFINITIONS ${Qt5${qtmod}_DEFINITIONS} ${Qt5${qtmod}_EXECUTABLE_COMPILE_FLAGS})
18 string(TOUPPER ${qtmod} QTMOD)
19 list(APPEND QUASSEL_QT_LIBRARIES ${QT_QT${QTMOD}_LIBRARY})
21 list(APPEND QUASSEL_QT_LIBRARIES ${QT_QT${QTMOD}_LIB_DEPENDENCIES})
23 list(APPEND QUASSEL_QT_INCLUDES ${QT_QT${QTMOD}_INCLUDE_DIR})
24 list(APPEND QUASSEL_QT_DEFINITIONS -DQT_QT${QTMOD}_LIB)
28 list(REMOVE_DUPLICATES QUASSEL_QT_LIBRARIES)
29 list(REMOVE_DUPLICATES QUASSEL_QT_INCLUDES)
30 list(REMOVE_DUPLICATES QUASSEL_QT_DEFINITIONS)
32 # The COMPILE_FLAGS property expects a string, not a list...
33 set(QUASSEL_QT_COMPILEFLAGS )
34 foreach(flag ${QUASSEL_QT_DEFINITIONS})
35 set(QUASSEL_QT_COMPILEFLAGS "${QUASSEL_QT_COMPILEFLAGS} ${flag}")
38 endmacro(setup_qt_variables)
40 # This generates a .ts from a .po file
41 macro(generate_ts outvar basename)
42 set(input ${basename}.po)
43 set(output ${CMAKE_BINARY_DIR}/po/${basename}.ts)
44 add_custom_command(OUTPUT ${output}
45 COMMAND ${QT_LCONVERT_EXECUTABLE}
49 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/po
50 # This is a workaround to add (duplicate) strings that lconvert missed to the .ts
51 COMMAND ${QT_LUPDATE_EXECUTABLE}
53 ${CMAKE_SOURCE_DIR}/src/
55 DEPENDS ${basename}.po)
56 set(${outvar} ${output})
57 endmacro(generate_ts outvar basename)
59 # This generates a .qm from a .ts file
60 macro(generate_qm outvar basename)
61 set(input ${CMAKE_BINARY_DIR}/po/${basename}.ts)
62 set(output ${CMAKE_BINARY_DIR}/po/${basename}.qm)
63 add_custom_command(OUTPUT ${output}
64 COMMAND ${QT_LRELEASE_EXECUTABLE}
67 DEPENDS ${basename}.ts)
68 set(${outvar} ${output})
69 endmacro(generate_qm outvar basename)