Compare commits

..

4 Commits

2 changed files with 23 additions and 28 deletions

View File

@ -30,13 +30,13 @@ function(common_target_properties Name)
endif() endif()
if(TARGET Qt5::Widgets) if(TARGET Qt5::Widgets)
set_target_properties(${Name} PROPERTIES AUTOUIC TRUE) set_target_properties(${Name} PROPERTIES AUTOUIC TRUE)
if(CMAKE_VERSION VERSION_LESS 3.7.99) # if(CMAKE_VERSION VERSION_LESS 3.7.99)
target_include_directories( # target_include_directories(
${Name} # ${Name}
PUBLIC # PUBLIC
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}_autogen/include> # $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/${Name}_autogen/include>
) # )
endif() # endif()
endif() endif()
if(CMAKE_CXX_COMPILER_IS_GCC AND NOT APPLE) if(CMAKE_CXX_COMPILER_IS_GCC AND NOT APPLE)
set_target_properties(${Name} PROPERTIES LINK_FLAGS "-Wl,--no-as-needed") set_target_properties(${Name} PROPERTIES LINK_FLAGS "-Wl,--no-as-needed")

View File

@ -24,37 +24,32 @@ function(qt_translation)
set(_ts "${_target}_${_lang}.ts") set(_ts "${_target}_${_lang}.ts")
set(_qm "${_target}_${_lang}.qm") set(_qm "${_target}_${_lang}.qm")
list(APPEND _ts_list ${_ts_dir}/${_ts}) list(APPEND _ts_list ${_ts_dir}/${_ts})
if(NOT EXISTS ${_ts_dir}/${_ts}) list(APPEND _l10n_targets "${_target}_l10n_${_lang}")
file(WRITE ${_ts_dir}/${_ts} "<?xml version=\"1.0\" encoding=\"utf-8\"?> string(APPEND L10N_QRC_BODY "<file alias=\"${_qm}\">${CMAKE_BINARY_DIR}/${_qm}</file>\n")
<!DOCTYPE TS>
<TS version=\"2.1\" language=\"${_lang}\"></TS>") add_custom_target(${_target}_l10n_${_lang}
COMMAND ${Qt5_LUPDATE_EXECUTABLE} ${_sources_list} -ts ${_ts_dir}/${_ts} -target-language ${_lang}
DEPENDS ${_sources_list})
if(NOT EXISTS "${_ts_dir}/${_ts}")
add_custom_target(${_ts} DEPENDS ${_target}_l10n_${_lang})
else()
add_custom_target(${_ts} COMMAND echo "Skipping lupdate for ${_ts}")
endif() endif()
string(APPEND L10N_QRC_BODY
"<file alias=\"${_qm}\">${CMAKE_BINARY_DIR}/${_qm}</file>\n")
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/${_qm} add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/${_qm}
COMMAND ${Qt5_LRELEASE_EXECUTABLE} COMMAND ${Qt5_LRELEASE_EXECUTABLE}
ARGS ${_ts_dir}/${_ts} -qm ARGS ${_ts_dir}/${_ts} -qm ${CMAKE_BINARY_DIR}/${_qm}
${CMAKE_BINARY_DIR}/${_qm} DEPENDS ${_ts})
DEPENDS ${_ts_dir}/${_ts})
endforeach() endforeach()
add_custom_command(OUTPUT ${_ts_list}
COMMAND ${Qt5_LUPDATE_EXECUTABLE}
ARGS ${_sources_list} -ts ${_ts_list}
DEPENDS ${_sources_list})
configure_file(${CMLIB_MODULE_DIR}/qrc/l10n.qrc.in configure_file(${CMLIB_MODULE_DIR}/qrc/l10n.qrc.in
${CMAKE_BINARY_DIR}/${_target}_l10n.qrc) ${CMAKE_BINARY_DIR}/${_target}_l10n.qrc)
qt5_add_resources(_qrc ${CMAKE_BINARY_DIR}/${_target}_l10n.qrc) qt5_add_resources(_qrc ${CMAKE_BINARY_DIR}/${_target}_l10n.qrc)
add_custom_target(_qrc_target DEPENDS ${_qrc}) add_custom_target(${_target}_qrc DEPENDS ${_qrc})
add_custom_target(${_target}_l10n DEPENDS ${_l10n_targets})
foreach(_lang ${_languages}) add_dependencies(${_target} ${_target}_qrc)
set(_ts "${_target}_${_lang}.ts")
set(_qm "${_target}_${_lang}.qm")
endforeach()
add_dependencies(${_target} _qrc_target)
target_sources(${_target} PUBLIC ${_qrc}) target_sources(${_target} PUBLIC ${_qrc})
endfunction() endfunction()