diff options
author | Brad King <brad.king@kitware.com> | 2022-05-31 15:54:55 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2022-05-31 15:55:08 (GMT) |
commit | eeb6dcad942e6c595180f16a7af69a9dc7a70b8e (patch) | |
tree | f67e36990ea130258232081e0f08665f0a26d8b5 | |
parent | a8bd06dfd47a56e09e660de5e58f26579105d2d4 (diff) | |
parent | ae13524e3bc116d38fb54770a40e89ae7274540f (diff) | |
download | CMake-eeb6dcad942e6c595180f16a7af69a9dc7a70b8e.zip CMake-eeb6dcad942e6c595180f16a7af69a9dc7a70b8e.tar.gz CMake-eeb6dcad942e6c595180f16a7af69a9dc7a70b8e.tar.bz2 |
Merge topic 'cmake-gui-locale' into release-3.23
ae13524e3b cmake-gui: Restore support for internationalization with Qt5 on Windows
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7303
-rw-r--r-- | Source/QtDialog/CMakeSetup.cxx | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/Source/QtDialog/CMakeSetup.cxx b/Source/QtDialog/CMakeSetup.cxx index 8ffa3e7..c556049 100644 --- a/Source/QtDialog/CMakeSetup.cxx +++ b/Source/QtDialog/CMakeSetup.cxx @@ -10,6 +10,15 @@ #include <QTranslator> #include <QtPlugin> +// FIXME(#23565): Qt6 has QTextCodec in Core5Compat, but using its +// `setCodecForLocale` does not make cmake-gui support non-ASCII chars +// on Windows. For now we only support them with Qt5. How do we support +// them with Qt6, preferably without Core5Compat? +#if defined(Q_OS_WIN) && (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) +# include <QTextCodec> +# define CMAKE_HAVE_QTEXTCODEC +#endif + #include "cmsys/CommandLineArguments.hxx" #include "cmsys/Encoding.hxx" #include "cmsys/SystemTools.hxx" @@ -124,6 +133,11 @@ int main(int argc, char** argv) setlocale(LC_NUMERIC, "C"); +#ifdef CMAKE_HAVE_QTEXTCODEC + QTextCodec* utf8_codec = QTextCodec::codecForName("UTF-8"); + QTextCodec::setCodecForLocale(utf8_codec); +#endif + // tell the cmake library where cmake is QDir cmExecDir(QApplication::applicationDirPath()); #if defined(Q_OS_MAC) |