如何自动将Qt Linguist文件包含在CMake项目的Qt资源中?



我使用CMake构建具有国际化支持的Qt项目。使用qt5_create_translation我可以在源目录中创建*.ts文件,并将文件*.qm到构建目录中。

我想减少应该分发的文件数量。将翻译文件:/translations/*.qm存储到Qt资源中是一条紧迫的解决方案。

但是在构建过程中,资源的名称是自动生成的,并且没有本机方法将它们自动放入*.qrc文件中。

如何实现所需的使用,比如说,add_custom_command或其他东西?

Qt的qrc文件只是XML文件。因此,您可以使用外部工具来添加它。

一个纯粹的cmake解决方案可以是:

  1. 创建名为@TRANS_FILE@的虚拟资源文件
  2. 将此文件添加到qrc文件
  3. 翻译文件的名称提取到变量中。不知道怎么做。
  4. 使用 cmake 的configure_file替换虚拟资源名称

例:

set(TRANS_FILE ${NameOfTranslationFile})
configure_file(infile.qrc outfile.qrc @ONLY)

相关内容

  • 没有找到相关文章

最新更新