Skip to content

Commit

Permalink
Make it possible to build without Qt5LinguistTools.
Browse files Browse the repository at this point in the history
Conditionally build the relevant test.
  • Loading branch information
steveire committed Mar 22, 2015
1 parent edcab5f commit 7de4987
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 25 deletions.
55 changes: 34 additions & 21 deletions templates/tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -42,33 +42,41 @@ set( GRANTLEE_PLUGIN_PATH "${CMAKE_BINARY_DIR}/" )

configure_file(grantlee_paths.h.cmake ${PROJECT_BINARY_DIR}/grantlee_paths.h)

set(TESTS_LOCALES "fr_FR" "de_DE")
find_package(Qt5LinguistTools QUIET)
if (Qt5LinguistTools_FOUND)
set(TESTS_LOCALES "fr_FR" "de_DE")

find_package(Qt5LinguistTools REQUIRED)
set(QT_LUPDATE_EXECUTABLE Qt5::lupdate)
set(QT_LRELEASE_EXECUTABLE Qt5::lrelease)
set(QT_LUPDATE_EXECUTABLE Qt5::lupdate)
set(QT_LRELEASE_EXECUTABLE Qt5::lrelease)

set(LINGUIST_TS_ARGS COMMAND "${QT_LUPDATE_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/test_input.cpp" "-ts")
set(LINGUIST_TS_ARGS COMMAND "${QT_LUPDATE_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/test_input.cpp" "-ts")

foreach(TESTS_LOCALE ${TESTS_LOCALES})
set( LINGUIST_TS_ARGS ${LINGUIST_TS_ARGS} "${CMAKE_CURRENT_SOURCE_DIR}/test_${TESTS_LOCALE}.ts" )
endforeach()
foreach(TESTS_LOCALE ${TESTS_LOCALES})
set( LINGUIST_TS_ARGS ${LINGUIST_TS_ARGS} "${CMAKE_CURRENT_SOURCE_DIR}/test_${TESTS_LOCALE}.ts" )
endforeach()

add_custom_target(test_l10n
${LINGUIST_TS_ARGS}
)
add_custom_target(test_l10n
${LINGUIST_TS_ARGS}
)

set( LINGUIST_QM_ARGS COMMAND "${QT_LRELEASE_EXECUTABLE}" )
set( LINGUIST_QM_ARGS COMMAND "${QT_LRELEASE_EXECUTABLE}" )

foreach(TESTS_LOCALE ${TESTS_LOCALES})
set( generate_QMs ${generate_QMs} ${LINGUIST_QM_ARGS} "${CMAKE_CURRENT_SOURCE_DIR}/test_${TESTS_LOCALE}.ts" "-qm" "${CMAKE_CURRENT_BINARY_DIR}/test_${TESTS_LOCALE}.qm" )
endforeach()
foreach(TESTS_LOCALE ${TESTS_LOCALES})
set( generate_QMs ${generate_QMs} ${LINGUIST_QM_ARGS} "${CMAKE_CURRENT_SOURCE_DIR}/test_${TESTS_LOCALE}.ts" "-qm" "${CMAKE_CURRENT_BINARY_DIR}/test_${TESTS_LOCALE}.qm" )
endforeach()

add_custom_command(
OUTPUT test_de_DE.qm test_fr_FR.qm
${generate_QMs}
DEPENDS test_de_DE.ts test_fr_FR.ts
)
add_custom_command(
OUTPUT test_de_DE.qm test_fr_FR.qm
${generate_QMs}
DEPENDS test_de_DE.ts test_fr_FR.ts
)

set(QM_FILES "
<qresource>
<file alias=\"test_de_DE.qm\">${PROJECT_BINARY_DIR}/test_de_DE.qm</file>
<file alias=\"test_fr_FR.qm\">${PROJECT_BINARY_DIR}/test_fr_FR.qm</file>
</qresource>")
endif()

configure_file(testresource.qrc.cmake "${PROJECT_BINARY_DIR}/testresource.qrc")

Expand Down Expand Up @@ -103,8 +111,13 @@ grantlee_templates_unit_tests(
testfilters
testgenerictypes
testgenericcontainers
testinternationalization
# benchmarks
)

if (Qt5LinguistTools_FOUND)
grantlee_templates_unit_tests(
testinternationalization
)
endif()

add_subdirectory(pluginpointertest)
5 changes: 1 addition & 4 deletions templates/tests/testresource.qrc.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,5 @@
<file alias="scripteddefaults.qs">@PROJECT_SOURCE_DIR@/scripteddefaults.qs</file>
<file alias="testtags.qs">@PROJECT_SOURCE_DIR@/testtags.qs</file>
</qresource>
<qresource>
<file alias="test_de_DE.qm">@PROJECT_BINARY_DIR@/test_de_DE.qm</file>
<file alias="test_fr_FR.qm">@PROJECT_BINARY_DIR@/test_fr_FR.qm</file>
</qresource>
@QM_FILES@
</RCC>

0 comments on commit 7de4987

Please sign in to comment.