From 4492c4ef9adf9ed516efde0994a790a0268da3ce Mon Sep 17 00:00:00 2001 From: Adam Treat Date: Wed, 12 Apr 2023 15:31:21 -0400 Subject: [PATCH] Add icons/logos and install script for desktop/shortcuts. --- CMakeLists.txt | 8 +++++-- cmake/installerscript.qs | 39 +++++++++++++++++++++++++++++++++ icons/16.png | Bin 549 -> 0 bytes icons/favicon.icns | Bin 0 -> 643 bytes icons/favicon.ico | Bin 0 -> 1406 bytes icons/logo-16.png | Bin 0 -> 493 bytes icons/logo-32.png | Bin 0 -> 1046 bytes icons/logo-48.png | Bin 0 -> 1442 bytes icons/logo.svg | 46 +++++++++++++++++++++++---------------- 9 files changed, 72 insertions(+), 21 deletions(-) create mode 100644 cmake/installerscript.qs delete mode 100644 icons/16.png create mode 100644 icons/favicon.icns create mode 100644 icons/favicon.ico create mode 100644 icons/logo-16.png create mode 100644 icons/logo-32.png create mode 100644 icons/logo-48.png diff --git a/CMakeLists.txt b/CMakeLists.txt index 88d64cac..1f00a3ab 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -62,19 +62,21 @@ elseif(${CMAKE_SYSTEM_NAME} MATCHES Windows) "${CMAKE_BINARY_DIR}/cmake/deploy-qt-windows.cmake" @ONLY) set(CPACK_PRE_BUILD_SCRIPTS ${CMAKE_BINARY_DIR}/cmake/deploy-qt-windows.cmake) set(CPACK_IFW_ROOT "C:/Qt/Tools/QtInstallerFramework/4.5") + set(CPACK_IFW_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/icons/favicon.ico") elseif(${CMAKE_SYSTEM_NAME} MATCHES Darwin) find_program(MACDEPLOYQT macdeployqt HINTS ${_qt_bin_dir}) configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/deploy-qt-mac.cmake.in" "${CMAKE_BINARY_DIR}/cmake/deploy-qt-mac.cmake" @ONLY) set(CPACK_PRE_BUILD_SCRIPTS ${CMAKE_BINARY_DIR}/cmake/deploy-qt-mac.cmake) set(CPACK_IFW_ROOT "~/Qt/Tools/QtInstallerFramework/4.5") + set(CPACK_IFW_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/icons/favicon.icns") endif() set(CPACK_PACKAGE_VERSION_MAJOR "0") set(CPACK_PACKAGE_VERSION_MINOR "1") SET(CPACK_PACKAGE_VERSION_PATCH "0") set(CPACK_PACKAGE_HOMEPAGE_URL "https://gpt4all.io") -set(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/icons/logo.svg") +set(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/icons/logo-48.png") set(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE) set(CPACK_RESOURCE_FILE_README ${CMAKE_CURRENT_SOURCE_DIR}/README.md) set(CPACK_PACKAGE_EXECUTABLES "GPT4All Chat") @@ -84,7 +86,8 @@ set(CPACK_IFW_PACKAGE_TITLE "GPT4All Chat Installer") set(CPACK_IFW_PACKAGE_PUBLISHER "Adam Treat") set(CPACK_IFW_PRODUCT_URL "https://github.com/manyoso/gpt4all-chat") set(CPACK_IFW_PACKAGE_WIZARD_STYLE "Aero") -set(CPACK_IFW_PACKAGE_WINDOW_ICON "${CMAKE_CURRENT_SOURCE_DIR}/icons/logo.svg") +set(CPACK_IFW_PACKAGE_LOGO "${CMAKE_CURRENT_SOURCE_DIR}/icons/logo-32.png") +set(CPACK_IFW_PACKAGE_WINDOW_ICON "${CMAKE_CURRENT_SOURCE_DIR}/icons/logo-32.png") set(CPACK_IFW_PACKAGE_WIZARD_SHOW_PAGE_LIST OFF) include(CPack) @@ -92,6 +95,7 @@ include(CPackIFW) cpack_add_component(${COMPONENT_NAME_MAIN} DOWNLOADED) cpack_ifw_configure_component(${COMPONENT_NAME_MAIN} ESSENTIAL FORCED_INSTALLATION) cpack_ifw_configure_component(${COMPONENT_NAME_MAIN} LICENSES "GPL-3.0 LICENSE" ${CPACK_RESOURCE_FILE_LICENSE}) +cpack_ifw_configure_component(${COMPONENT_NAME_MAIN} SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/cmake/installer-script.qs") if(${CMAKE_SYSTEM_NAME} MATCHES Linux) cpack_ifw_add_repository("GPT4AllRepository" URL "https://gpt4all.io/installer_repos/linux/repository") diff --git a/cmake/installerscript.qs b/cmake/installerscript.qs new file mode 100644 index 00000000..e6e0462b --- /dev/null +++ b/cmake/installerscript.qs @@ -0,0 +1,39 @@ +function Component() +{ + // default constructor +} + +Component.prototype.createOperations = function() +{ + try { + // call the base create operations function + component.createOperations(); + + if (systemInfo.productType === "windows") { + try { + var userProfile = installer.environmentVariable("USERPROFILE"); + installer.setValue("UserProfile", userProfile); + component.addOperation("CreateShortcut", + "@TargetDir@/chat.exe", + "@UserProfile@/Desktop/chat.lnk", + "workingDirectory=@TargetDir@", + "iconPath=%SystemRoot%/system32/SHELL32.dll", + "iconId=2", "description=Open GPT4All Chat"); + } catch (e) { + print("ERROR: creating desktop shortcut" + e); + } + component.addOperation("CreateShortcut", + "@TargetDir@/chat.exe", + "@StartMenuDir@/chat.lnk", + "workingDirectory=@TargetDir@", + "iconPath=%SystemRoot%/system32/SHELL32.dll", + "iconId=2", "description=Open GPT4All Chat"); + } else if (systemInfo.productType === "osx") { + } else { // linux + component.addOperation("CreateDesktopEntry", "/usr/share/applications/GPT4AllChat.desktop", "Version=0.1.0\nType=Application\nTerminal=false\nExec=@TargetDir@/chat\nName=GPT4All-Chat\nIcon=@TargetDir@YourApp_icon.png\nName[en_US]=GPT4All-Chat"); + component.addElevatedOperation("Copy", "/usr/share/applications/GPT4AllChat.desktop", "@HomeDir@/Desktop/GPT4AllChat.desktop"); + } + } catch (e) { + print("ERROR: creating desktop/startmenu shortcuts" + e); + } +} \ No newline at end of file diff --git a/icons/16.png b/icons/16.png deleted file mode 100644 index 6e36987fd4e9b1c24d466e445f322663ba102c80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 549 zcmV+=0^0qFP)fLKg)ED{4$K$xPz7n9iVNgswfS%f0v9bMC!@e;^F^)Ol~=87Xv! z-)@EB&1qSm$b;S8p4IT{j~!31<+*4uF##OUO7h$^p6wrgJ=$!wRwn=|FRb|Wdw#8Q z=g;ZdGUpVvWnNy1>mPsz05UH~TWu7!#2oLhoV3;TB5pr9Z0_&%+e&g3!0~7FI$ca_ zR1i#SM6c7u@n-<2lxy!^_S>(Xf8J7F)xIK?*wD7+0HmoTsJRGPY=@AFpyraMnPID9 zotebb8{(E#qmI})L15tbTJ@~G)s+T#)Fe40m2Yprcv@%0K9)Q+V%tI zJ}Df3`hKD+&~|pjc$|>_N`S3$t=N3?yR>24_iQyJ^|ZWxVYpXEC@Nv*mxEa-*nx=h3kwF z0*C$s!67(b{2GXVO&lih2E_gU{|$@};r{l1upNDf9d}jiI JFM^MU1ptt+7@PnA literal 0 HcmV?d00001 diff --git a/icons/favicon.ico b/icons/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..3d045e2446dcbe5ef4dc58af68a3bb4160e8c928 GIT binary patch literal 1406 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 literal 0 HcmV?d00001 diff --git a/icons/logo.svg b/icons/logo.svg index 0bf279df..b6750df2 100644 --- a/icons/logo.svg +++ b/icons/logo.svg @@ -1,20 +1,28 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + GPT + 4ALL +