From 25c243ed240d5ef50c2d916380dafaee16d71e8a Mon Sep 17 00:00:00 2001 From: Hillwood Yang Date: Mon, 19 Jan 2026 21:04:54 +0800 Subject: [PATCH] fix(cmake): Fix lrelease not found by using Qt6 LinguistTools target Use Qt6::lrelease imported target from Qt6 LinguistTools instead of manually guessing the lrelease path, fixing build failures when the command cannot be found. --- cmake/translation-generate.cmake | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/cmake/translation-generate.cmake b/cmake/translation-generate.cmake index a45ee68e5..b1f488687 100644 --- a/cmake/translation-generate.cmake +++ b/cmake/translation-generate.cmake @@ -1,11 +1,10 @@ function(TRANSLATION_GENERATE QMS) - find_package(Qt${QT_VERSION_MAJOR}LinguistTools QUIET) + find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS LinguistTools) - if (NOT Qt${QT_VERSION_MAJOR}_LRELEASE_EXECUTABLE) - set(QT_LRELEASE "/lib/qt${QT_VERSION_MAJOR}/bin/lrelease") - message(STATUS "NOT found lrelease, set QT_LRELEASE = ${QT_LRELEASE}") + if (QT_VERSION_MAJOR MATCHES 6) + get_target_property(QT_LRELEASE Qt6::lrelease IMPORTED_LOCATION) else() - set(QT_LRELEASE "${Qt${QT_VERSION_MAJOR}_LRELEASE_EXECUTABLE}") + set(QT_LRELEASE "lrelease") endif() if(NOT ARGN)