From e642185034b88bb8d479f501a1dc7ce997d33cc3 Mon Sep 17 00:00:00 2001 From: John Parent Date: Tue, 29 Oct 2024 22:16:11 -0400 Subject: [PATCH] MacOS Update MacOS installer behavior finalized Signed-off-by: John Parent --- gpt4all-chat/cmake/Gpt4allCPack.cmake | 13 +++++-------- gpt4all-chat/cmake/deploy-qt-mac.cmake.in | 16 ++++++++-------- gpt4all-chat/cmake/generate_gpt4all_alias.cmake | 4 ++++ 3 files changed, 17 insertions(+), 16 deletions(-) create mode 100644 gpt4all-chat/cmake/generate_gpt4all_alias.cmake diff --git a/gpt4all-chat/cmake/Gpt4allCPack.cmake b/gpt4all-chat/cmake/Gpt4allCPack.cmake index 6a305b83..98515d01 100644 --- a/gpt4all-chat/cmake/Gpt4allCPack.cmake +++ b/gpt4all-chat/cmake/Gpt4allCPack.cmake @@ -73,17 +73,14 @@ 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_PRE_BUILD_SCRIPTS "") + set(CPACK_PRE_BUILD_SCRIPTS ${CMAKE_BINARY_DIR}/cmake/deploy-qt-mac.cmake) set(CPACK_PACKAGE_FILE_NAME "${COMPONENT_NAME_MAIN}-installer-darwin") - set(CPACK_BUNDLE_NAME ${COMPONENT_NAME_MAIN}) set(CPACK_GENERATOR "DragNDrop") set(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/resources/gpt4all.icns") - set(CPACK_BUNDLE_ICON ${CPACK_PACKAGE_ICON}) - set(CPACK_PACKAGING_INSTALL_PREFIX "gpt4all") - set(CPACK_INCLUDE_TOPLEVEL_DIRECTORY ON) - set(CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK ON) - set(CPACK_COMPONENTS_ALL_IN_ONE_PACKAGE ON) + set(CPACK_PACKAGING_INSTALL_PREFIX "/gpt4all") + set(CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK OFF) + # set(CPACK_COMPONENTS_ALL_IN_ONE_PACKAGE ON) + # set(CPACK_COMPONENTS_GROUPING ALL_IN_ONE) endif() # Setup vars for CPack option config diff --git a/gpt4all-chat/cmake/deploy-qt-mac.cmake.in b/gpt4all-chat/cmake/deploy-qt-mac.cmake.in index d9458aa3..83ba8c67 100644 --- a/gpt4all-chat/cmake/deploy-qt-mac.cmake.in +++ b/gpt4all-chat/cmake/deploy-qt-mac.cmake.in @@ -5,16 +5,16 @@ set(GPT4ALL_SIGNING_ID "@MAC_SIGNING_IDENTITY@") if (GPT4ALL_SIGNING_ID) set(MAC_NOTARIZE -sign-for-notarization=${GPT4ALL_SIGNING_ID}) endif() -execute_process(COMMAND ${MACDEPLOYQT} ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/packages/${COMPONENT_NAME_MAIN}/data/bin/gpt4all.app -qmldir=${CMAKE_CURRENT_SOURCE_DIR} -verbose=2 ${MAC_NOTARIZE}) -file(GLOB MYLLAMALIBS ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/packages/${COMPONENT_NAME_MAIN}/data/lib/libllama*) -file(GLOB MYLLMODELLIBS ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/packages/${COMPONENT_NAME_MAIN}/data/lib/libllmodel.*) +execute_process(COMMAND ${MACDEPLOYQT} ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_IN_ONE/${COMPONENT_NAME_MAIN}/bin/gpt4all.app -qmldir=${CMAKE_CURRENT_SOURCE_DIR} -verbose=2 ${MAC_NOTARIZE}) +file(GLOB MYLLAMALIBS ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_IN_ONE/${COMPONENT_NAME_MAIN}/lib/libllama*) +file(GLOB MYLLMODELLIBS ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_IN_ONE/${COMPONENT_NAME_MAIN}/lib/libllmodel.*) file(COPY ${MYLLAMALIBS} - DESTINATION ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/packages/${COMPONENT_NAME_MAIN}/data/bin/gpt4all.app/Contents/Frameworks) + DESTINATION ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_IN_ONE/${COMPONENT_NAME_MAIN}/bin/gpt4all.app/Contents/Frameworks) file(COPY ${MYLLMODELLIBS} - DESTINATION ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/packages/${COMPONENT_NAME_MAIN}/data/bin/gpt4all.app/Contents/Frameworks) + DESTINATION ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_IN_ONE/${COMPONENT_NAME_MAIN}/bin/gpt4all.app/Contents/Frameworks) file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/icons/gpt4all-32.png" - DESTINATION ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/packages/${COMPONENT_NAME_MAIN}/data) + DESTINATION ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_IN_ONE/${COMPONENT_NAME_MAIN}) file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/icons/gpt4all-48.png" - DESTINATION ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/packages/${COMPONENT_NAME_MAIN}/data) + DESTINATION ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_IN_ONE/${COMPONENT_NAME_MAIN}) file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/resources/gpt4all.icns" - DESTINATION ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/packages/${COMPONENT_NAME_MAIN}/data) + DESTINATION ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_IN_ONE/${COMPONENT_NAME_MAIN}) diff --git a/gpt4all-chat/cmake/generate_gpt4all_alias.cmake b/gpt4all-chat/cmake/generate_gpt4all_alias.cmake new file mode 100644 index 00000000..cab06e4c --- /dev/null +++ b/gpt4all-chat/cmake/generate_gpt4all_alias.cmake @@ -0,0 +1,4 @@ +execute_process( + COMMAND ln -s bin/gpt4all.app gpt4all + WORKING_DIRECTORY ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_IN_ONE +) \ No newline at end of file