2015-03-19 9 views
10

Esiste un modo multipiattaforma per impostare l'icona dell'applicazione con CMake? Sto usando Cmake 3.0.2 con Qt 5.4.Impostazione dell'icona dell'applicazione con CMake

Nel Qt documentation viene mostrato un metodo ma non è multipiattaforma.

+0

Come noto, su un sistema Linux l'icona viene configurata durante l'installazione in un ambiente desktop specifico. Non esiste un modo generale di farlo durante la compilazione del tuo progetto. – paceholder

+0

Durante la compilazione incrociata con MinGW tramite CMake su Linux, il problema dell'icona dell'app diventa evidente. – 010110110101

risposta

1

CMake non gestisce questo per voi.

Su alcune piattaforme ci sono diverse "icone di applicazione". Ad esempio, su un sistema simile a UNIX che segue gli standard di FreeDesktop.org (sostanzialmente qualsiasi cosa tu possa vedere oggi su Linux, non importa se sia KDE, Gnome, Unity, XFCE o qualche altro DE-du-jour), questo è fatto impostando una voce appropriata Icon nel file .desktop dell'applicazione. Vedi the .desktop spec per i dettagli. Questo è ciò che viene mostrato come l'icona di un lanciatore, e alcuni DE come il recente Plasma useranno questo per l'icona di una finestra nella barra delle applicazioni, con sostituzioni appropriate del tema.

Forse si sta spedendo anche un programma di installazione di Windows, forse basato su NSIS. Quindi dovresti probabilmente specificarlo anche nel tuo .nsi.

Le icone delle finestre effettive sono qualcosa che dovrebbe essere impostato dal programmatore. Come puoi vedere, ci sono molti posti in cui è possibile impostare una "icona dell'applicazione". Se stai cercando un esempio del mondo reale, controlla Trojitá's source code. Cercare l'effettiva installazione dei file di icona tramite CMake, il codice NSIS, la creazione di un file RC di Windows e infine l'impostazione dell'icona dell'applicazione dal codice C++.