Символ приложения с CPack - PullRequest
0 голосов
/ 23 января 2020

Я пытаюсь указать изображение, которое используется CPack / NSIS для создания символа приложения. Он должен отображаться в папке меню «Пуск», как значок на рабочем столе и в меню приложений и функций. Что я знаю до сих пор:

# Icon displayed inside the installer on top left
set(CPACK_PACKAGE_ICON ""${CMAKE_CURRENT_SOURCE_DIR}/images\\\\Icon.bmp")
# Icon visible in Taskbar at installation, same for CPACK_NSIS_MUI_UNIICON 
set(CPACK_NSIS_MUI_ICON "${CMAKE_CURRENT_SOURCE_DIR}/images/Install_Icon.ico")         

Я уже попробовал параметры CPACK_NSIS_MUI_HEADERIMAGE,

set(CPACK_NSIS_INSTALLED_ICON_NAME bin\\\\${PROJECT_NAME}.exe)

и все на странице Google 1 + 2, что показано для комбинации cpack, icon , ярлык на рабочем столе, ... Кто-нибудь знает, как это работает? Или нужен специальный формат / размер?

1 Ответ

0 голосов
/ 24 января 2020

Я понял это благодаря комментарию @Developer Paul. CPack и NSIS вводят в заблуждение здесь, потому что различные опции для ссылки на значки и изображения предполагают, что это настройка, которую вы делаете через них. На самом деле значок приложения установлен с файлом ресурсов (.r c) в windows, поэтому у вас есть 3 файла: ваш CMakeLists.txt, Icon.ico и AppIcon.r c.

В вашей CMakeLists.txt ссылка на файл .r c

add_executable("${PROJECT_NAME}" helloworld.cpp AppIcon.rc)

.r c содержит только ссылку на ваш .ico, например:

IDI_ICON1 ICON DISCARDABLE "images/icon.ico"

В моем случае у меня есть отдельная папка images в папке моего проекта. И это в основном все. НО это решение, кажется, работает только для windows, для Linux вы должны сделать это по-другому.

...