Check if lrelease is working before trying to use it

On some systems, there is a /usr/bin/lrelease wrapper even if the real
lrelease program is not installed. So let's try to execute lrelease
after it has been found by find_program to see if it is really working.
release-v0.4.0.1
Guillaume LE VAILLANT 6 years ago
parent a529f0a6c9
commit 64f36300fb

@ -34,6 +34,12 @@ find_program(LRELEASE lrelease)
if(LRELEASE STREQUAL "LRELEASE-NOTFOUND")
set(ts_files "")
message(WARNING "lrelease program not found, translation files not built")
else()
execute_process(COMMAND ${LRELEASE} -version
RESULT_VARIABLE lrelease_ret)
if(NOT lrelease_ret EQUAL "0")
set(ts_files "")
message(WARNING "lrelease program not working, translation files not built")
else()
file(GLOB ts_files RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" *.ts)
foreach(ts_file ${ts_files})
@ -44,6 +50,7 @@ else()
WORKING_DIRECTORY "${CMAKE_CURRENT_BIN_DIR}")
endforeach()
endif()
endif()
string(REPLACE ".ts" ".qm" qm_files "${ts_files}")

Loading…
Cancel
Save