Add additional packaging options for macOs. Add icon & Info.plist plus more
parent
bdd303acf9
commit
bfb30a94b6
|
@ -1,6 +1,6 @@
|
|||
# Example 1: https://github.com/MariaDB/server/tree/10.8/cmake
|
||||
# Example 2: https://gitlab.com/inkscape/inkscape/blob/master/CMakeScripts/ConfigCPack.cmake
|
||||
#set(CPACK_PACKAGE_NAME "LibreWeb Browser")
|
||||
# Example 3: https://github.com/rcaelers/workrave/blob/main/ui/app/toolkits/gtkmm/dist/macos/CMakeLists.txt
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "LibreWeb Browser - Decentralized Web-Browser")
|
||||
set(CPACK_PACKAGE_VENDOR "Melroy van den Berg")
|
||||
set(CPACK_PACKAGE_CONTACT "Melroy van den Berg <info@libreweb.org>")
|
||||
|
@ -12,6 +12,10 @@ set(CPACK_SOURCE_PACKAGE_FILE_NAME "${PROJECT_TARGET}-${CPACK_PACKAGE_VERSION}")
|
|||
set(CPACK_DEBIAN_PACKAGE_SECTION "web")
|
||||
set(CPACK_RPM_PACKAGE_GROUP "Applications/Internet")
|
||||
set(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}-v${CPACK_PACKAGE_VERSION}") # Without '-Linux' or '-Win' suffix
|
||||
# macOS specific options - Used for DragNDrop bundle generator
|
||||
set(CPACK_BUNDLE_NAME "${PROJECT_NAME}-v${CPACK_PACKAGE_VERSION}")
|
||||
set(CPACK_BUNDLE_PLIST "${CMAKE_SOURCE_DIR}/misc/Info.plist")
|
||||
set(CPACK_BUNDLE_ICON "${CMAKE_SOURCE_DIR}/images/icons/libreweb-browser.icns")
|
||||
# Windows specific options - GUI Installer (NSIS generator)
|
||||
set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/images/browser_logo_small.bmp")
|
||||
set(CPACK_PACKAGE_INSTALL_DIRECTORY "LibreWeb")
|
||||
|
@ -41,8 +45,8 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux" AND EXISTS "/etc/os-release")
|
|||
)
|
||||
if (NOT ${DIFINE_LINUX_DISTRO_RESULT} EQUAL 0)
|
||||
message (FATAL_ERROR "Linux distro identification error")
|
||||
endif ()
|
||||
endif ()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# RPM section
|
||||
if(${LINUX_DISTRO} MATCHES "openSUSE")
|
||||
|
|
Binary file not shown.
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>libreweb-browser</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>libreweb-browser.icns</string>
|
||||
</dict>
|
||||
</plist>
|
|
@ -91,7 +91,25 @@ get_property(CMARK_EXTENSIONS_BINARY_DIR GLOBAL PROPERTY COMMONMARKER_EXTENSIONS
|
|||
|
||||
if(NOT UNITTEST)
|
||||
# LibreWeb binary
|
||||
add_executable(${PROJECT_TARGET} ${GSCHEMA_RING} ${WINDOWS_RES} ${SOURCES})
|
||||
if(APPLE)
|
||||
# Set MacOSX bundle & XCode props
|
||||
set_target_properties(${PROJECT_TARGET}
|
||||
PROPERTIES
|
||||
MACOSX_BUNDLE_BUNDLE_NAME "${PROJECT_NAME}-v${PROJECT_VERSION}"
|
||||
MACOSX_BUNDLE_INFO_PLIST "${CMAKE_SOURCE_DIR}/misc/Info.plist"
|
||||
MACOSX_BUNDLE_INFO_STRING "${PROJECT_NAME}"
|
||||
MACOSX_BUNDLE_ICON_FILE libreweb-browser.icns
|
||||
MACOSX_BUNDLE_GUI_IDENTIFIER "${PROJECT_NAME}"
|
||||
MACOSX_BUNDLE_LONG_VERSION_STRING "${PROJECT_VERSION}"
|
||||
MACOSX_BUNDLE_SHORT_VERSION_STRING "${PROJECT_VERSION}}"
|
||||
MACOSX_BUNDLE_BUNDLE_VERSION "${PROJECT_VERSION}"
|
||||
XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "${CODE_SIGN_IDENTITY}"
|
||||
XCODE_ATTRIBUTE_DEVELOPMENT_TEAM "${DEVELOPMENT_TEAM_ID}"
|
||||
)
|
||||
add_executable(${PROJECT_TARGET} MACOSX_BUNDLE ${GSCHEMA_RING} ${SOURCES})
|
||||
else()
|
||||
add_executable(${PROJECT_TARGET} ${GSCHEMA_RING} ${WINDOWS_RES} ${SOURCES})
|
||||
endif()
|
||||
|
||||
## Definitions just in case
|
||||
if(WIN32)
|
||||
|
@ -134,17 +152,22 @@ if(NOT UNITTEST)
|
|||
nlohmann_json::nlohmann_json
|
||||
)
|
||||
target_compile_options(${PROJECT_TARGET} PRIVATE ${GTKMM_CFLAGS_OTHER})
|
||||
if (APPLE)
|
||||
|
||||
if(APPLE)
|
||||
# Add GTK Mac Integration for macOS
|
||||
target_include_directories(${PROJECT_TARGET} PRIVATE ${MAC_INTEGRATION_INCLUDE_DIRS})
|
||||
target_link_directories(${PROJECT_TARGET} PRIVATE ${MAC_INTEGRATION_LIBRARY_DIRS})
|
||||
target_link_libraries(${PROJECT_TARGET} PRIVATE ${MAC_INTEGRATION_LIBRARIES})
|
||||
target_compile_options(${PROJECT_TARGET} PRIVATE ${MAC_INTEGRATION_CFLAGS_OTHER})
|
||||
# Sign target for macOS
|
||||
set_target_properties(${PROJECT_TARGET} PROPERTIES
|
||||
XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY ${CODE_SIGN_IDENTITY}
|
||||
XCODE_ATTRIBUTE_DEVELOPMENT_TEAM ${DEVELOPMENT_TEAM_ID}
|
||||
)
|
||||
|
||||
set(LIB_DIRS "${MAC_INTEGRATION_LIBRARY_DIRS}")
|
||||
set(APP "${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}.app")
|
||||
# Fix-up bundle & verify if app is standalone
|
||||
# https://cmake.org/cmake/help/latest/module/BundleUtilities.html
|
||||
install(CODE "
|
||||
include(BundleUtilities)
|
||||
fixup_bundle(\"${APP}\" \"\" \"${LIB_DIRS}\")
|
||||
verify_app(${APP})")
|
||||
endif()
|
||||
|
||||
# Install browser binary
|
||||
|
|
Loading…
Reference in New Issue