Skip to content

Commit cd68cb8

Browse files
authored
Merge pull request #3009 from SunderB/patch/lrelease-in-cmake
Run lrelease during cmake build instead of pre-build
2 parents 1acae43 + 76f82fd commit cd68cb8

File tree

4 files changed

+68
-19
lines changed

4 files changed

+68
-19
lines changed

app/gui/qt/CMakeLists.txt

Lines changed: 68 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,15 +40,15 @@ set_property(GLOBAL PROPERTY AUTOGEN_TARGETS_FOLDER Automoc)
4040
find_package(Qt6 QUIET)
4141

4242
if(Qt6_FOUND AND WITH_QT_GUI_WEBENGINE)
43-
find_package(Qt6 COMPONENTS Core Widgets Gui Concurrent Network OpenGLWidgets PrintSupport Xml Svg WebEngineWidgets REQUIRED)
43+
find_package(Qt6 COMPONENTS Core Widgets Gui Concurrent Network OpenGLWidgets PrintSupport Xml Svg LinguistTools WebEngineWidgets REQUIRED)
4444
add_compile_definitions(WITH_WEBENGINE)
4545
elseif(Qt6_FOUND)
46-
find_package(Qt6 COMPONENTS Core Widgets Gui Concurrent Network OpenGLWidgets PrintSupport Xml Svg REQUIRED)
46+
find_package(Qt6 COMPONENTS Core Widgets Gui Concurrent Network OpenGLWidgets PrintSupport Xml Svg LinguistTools REQUIRED)
4747
elseif(WITH_QT_GUI_WEBENGINE)
48-
find_package(Qt5 COMPONENTS Core Widgets Gui Concurrent Network OpenGL PrintSupport Xml Svg WebEngineWidgets REQUIRED)
48+
find_package(Qt5 COMPONENTS Core Widgets Gui Concurrent Network OpenGL PrintSupport Xml Svg LinguistTools WebEngineWidgets REQUIRED)
4949
add_compile_definitions(WITH_WEBENGINE)
5050
else()
51-
find_package(Qt5 COMPONENTS Core Widgets Gui Concurrent Network OpenGL PrintSupport Xml Svg REQUIRED)
51+
find_package(Qt5 COMPONENTS Core Widgets Gui Concurrent Network OpenGL PrintSupport Xml Svg LinguistTools REQUIRED)
5252
endif()
5353

5454
find_package(Threads REQUIRED)
@@ -118,6 +118,61 @@ SET(RESOURCES
118118
${QTAPP_ROOT}/images/app.icns
119119
)
120120

121+
SET(TS_FILES
122+
${QTAPP_ROOT}/lang/sonic-pi_ar.ts
123+
${QTAPP_ROOT}/lang/sonic-pi_bg.ts
124+
${QTAPP_ROOT}/lang/sonic-pi_bn.ts
125+
${QTAPP_ROOT}/lang/sonic-pi_bs.ts
126+
${QTAPP_ROOT}/lang/sonic-pi_ca.ts
127+
${QTAPP_ROOT}/lang/[email protected]
128+
${QTAPP_ROOT}/lang/sonic-pi_cs.ts
129+
${QTAPP_ROOT}/lang/sonic-pi_da.ts
130+
${QTAPP_ROOT}/lang/sonic-pi_de.ts
131+
${QTAPP_ROOT}/lang/sonic-pi_el.ts
132+
${QTAPP_ROOT}/lang/sonic-pi_en_AU.ts
133+
${QTAPP_ROOT}/lang/sonic-pi_en_US.ts
134+
${QTAPP_ROOT}/lang/sonic-pi_eo.ts
135+
${QTAPP_ROOT}/lang/sonic-pi_es.ts
136+
${QTAPP_ROOT}/lang/sonic-pi_et.ts
137+
${QTAPP_ROOT}/lang/sonic-pi_eu.ts
138+
${QTAPP_ROOT}/lang/sonic-pi_fa.ts
139+
${QTAPP_ROOT}/lang/sonic-pi_fi.ts
140+
${QTAPP_ROOT}/lang/sonic-pi_fr.ts
141+
${QTAPP_ROOT}/lang/sonic-pi_ga.ts
142+
${QTAPP_ROOT}/lang/sonic-pi_gl.ts
143+
${QTAPP_ROOT}/lang/sonic-pi_he.ts
144+
${QTAPP_ROOT}/lang/sonic-pi_hi.ts
145+
${QTAPP_ROOT}/lang/sonic-pi_hu.ts
146+
${QTAPP_ROOT}/lang/sonic-pi_hy.ts
147+
${QTAPP_ROOT}/lang/sonic-pi_id.ts
148+
${QTAPP_ROOT}/lang/sonic-pi_is.ts
149+
${QTAPP_ROOT}/lang/sonic-pi_it.ts
150+
${QTAPP_ROOT}/lang/sonic-pi_ja.ts
151+
${QTAPP_ROOT}/lang/sonic-pi_ka.ts
152+
${QTAPP_ROOT}/lang/sonic-pi_ko.ts
153+
${QTAPP_ROOT}/lang/sonic-pi_nb.ts
154+
${QTAPP_ROOT}/lang/sonic-pi_nl.ts
155+
${QTAPP_ROOT}/lang/sonic-pi_pl.ts
156+
${QTAPP_ROOT}/lang/sonic-pi_pt_BR.ts
157+
${QTAPP_ROOT}/lang/sonic-pi_pt.ts
158+
${QTAPP_ROOT}/lang/sonic-pi_ro.ts
159+
${QTAPP_ROOT}/lang/sonic-pi_ru.ts
160+
${QTAPP_ROOT}/lang/sonic-pi_si.ts
161+
${QTAPP_ROOT}/lang/sonic-pi_sk.ts
162+
${QTAPP_ROOT}/lang/sonic-pi_sl.ts
163+
${QTAPP_ROOT}/lang/sonic-pi_sv.ts
164+
${QTAPP_ROOT}/lang/sonic-pi_sw.ts
165+
${QTAPP_ROOT}/lang/sonic-pi_th.ts
166+
${QTAPP_ROOT}/lang/sonic-pi_tr.ts
167+
${QTAPP_ROOT}/lang/sonic-pi_ug.ts
168+
${QTAPP_ROOT}/lang/sonic-pi_uk.ts
169+
${QTAPP_ROOT}/lang/sonic-pi_vi.ts
170+
${QTAPP_ROOT}/lang/sonic-pi_zh_HK.ts
171+
${QTAPP_ROOT}/lang/sonic-pi_zh_TW.ts
172+
${QTAPP_ROOT}/lang/sonic-pi_zh-Hans.ts
173+
${QTAPP_ROOT}/lang/sonic-pi_zh.ts
174+
)
175+
121176
# Enable tracy profiler on debug and rel with debug builds
122177
if(WIN32)
123178
SET (SOURCES ${SOURCES} ${APP_ROOT}/external/tracy/TracyClient.cpp)
@@ -136,6 +191,15 @@ else()
136191
add_executable(${APP_NAME} WIN32 ${ALL_SOURCES} ${RESOURCES}) # Win32 ignored on non-windows
137192
endif()
138193

194+
# Translations: Convert the .ts files into .qm files
195+
set_source_files_properties(${TS_FILES} PROPERTIES OUTPUT_LOCATION ${QTAPP_ROOT}/lang)
196+
if (Qt6_FOUND)
197+
qt_add_lrelease(${APP_NAME} TS_FILES ${TS_FILES})
198+
else()
199+
qt5_add_translation(QM_FILES ${TS_FILES})
200+
set_property(SOURCE ${APP_NAME} APPEND PROPERTY OBJECT_DEPENDS ${QM_FILES})
201+
endif()
202+
139203
if (APPLE)
140204
set_target_properties(
141205
${APP_NAME} PROPERTIES

app/linux-prebuild.sh

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,6 @@ echo "Generating docs for the Qt GUI..."
6363
cp "${SCRIPT_DIR}"/gui/qt/utils/ruby_help.tmpl "${SCRIPT_DIR}"/gui/qt/utils/ruby_help.h
6464
ruby "${SCRIPT_DIR}"/server/ruby/bin/qt-doc.rb -o "${SCRIPT_DIR}"/gui/qt/utils/ruby_help.h
6565

66-
echo "Updating GUI translation files..."
67-
PATH=`pkg-config --variable bindir Qt5`:$PATH lrelease "${SCRIPT_DIR}"/gui/qt/lang/*.ts
68-
6966
echo "Compiling Erlang/Elixir files..."
7067
cd "${SCRIPT_DIR}"/server/beam/tau
7168

app/mac-prebuild.sh

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,6 @@
22
set -e # Quit script on error
33
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
44
WORKING_DIR="$(pwd)"
5-
if command -v brew &> /dev/null && [ -x "$(brew --prefix)"/opt/qt@5/bin/lrelease ]; then
6-
QT5_BIN_DIR="$(brew --prefix)"/opt/qt@5/bin
7-
else
8-
QT5_BIN_DIR="${QT5_BIN_DIR:-}"
9-
fi
105

116
cd "${SCRIPT_DIR}"
127

@@ -101,10 +96,6 @@ echo "Generating docs for the Qt GUI..."
10196
cp "${SCRIPT_DIR}"/gui/qt/utils/ruby_help.tmpl "${SCRIPT_DIR}"/gui/qt/utils/ruby_help.h
10297
"$RUBY" "${SCRIPT_DIR}"/server/ruby/bin/qt-doc.rb -o "${SCRIPT_DIR}"/gui/qt/utils/ruby_help.h
10398

104-
echo "Updating GUI translation files..."
105-
# Use lrelease on PATH if available otherwise assume Qt was installed via homebrew
106-
PATH="$PATH:$QT5_BIN_DIR" lrelease "${SCRIPT_DIR}"/gui/qt/lang/*.ts
107-
10899
echo "Compiling Erlang/Elixir files..."
109100
cd "${SCRIPT_DIR}"/server/beam/tau
110101

app/win-pre-translations.bat

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,4 @@ server\native\ruby\bin\ruby server/ruby/bin/i18n-tool.rb -t
99
copy /Y gui\qt\utils\ruby_help.tmpl gui\qt\utils\ruby_help.h
1010
server\native\ruby\bin\ruby server/ruby/bin/qt-doc.rb -o gui\qt\utils/ruby_help.h
1111

12-
@echo Updating GUI translation files...
13-
forfiles /p gui\qt\lang /s /m *.ts /c "cmd /c %QT_INSTALL_LOCATION%\bin\lrelease.exe @file"
14-
1512
cd %WORKING_DIR%

0 commit comments

Comments
 (0)