使用CMake设置应用程序图标

时间:2015-03-19 13:41:16

标签: c++ qt cmake icons cross-platform

是否有跨平台方式使用CMake设置应用程序图标?我在Qt 5.4中使用Cmake 3.0.2。

在Qt documentation中显示了一种方法,但它不是跨平台的。

1 个答案:

答案 0 :(得分:2)

CMake并没有为你处理这件事。

在某些平台上有几个"应用程序图标"。例如,在类似UNIX的系统上遵循FreeDesktop.org标准(基本上是你今天在Linux上可以看到的任何内容,无论它是KDE,Gnome,Unity,XFCE还是其他一些DE-du-jour) ,这是通过在应用程序的Icon文件中设置适当的.desktop条目来完成的。有关详细信息,请参阅the .desktop spec。这是作为启动器图标显示的内容,并且一些DE(例如最近的Plasma)将使用它作为任务栏中的窗口图标,并具有适当的主题覆盖。

也许您正在运送Windows安装程序,也许是基于NSIS。那么您也应该在.nsi中指定它。

实际窗口图标也应由程序员设置。正如你所看到的,有很多地方都有一个"应用程序图标"可能会被设定。如果您正在寻找真实世界的示例,请查看Trojitá's source code。通过CMake查找实际图标文件,NSIS代码,创建Windows RC文件,最后从C ++代码设置应用程序图标。