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 1: https://github.com/MariaDB/server/tree/10.8/cmake
|
||||||
# Example 2: https://gitlab.com/inkscape/inkscape/blob/master/CMakeScripts/ConfigCPack.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_DESCRIPTION_SUMMARY "LibreWeb Browser - Decentralized Web-Browser")
|
||||||
set(CPACK_PACKAGE_VENDOR "Melroy van den Berg")
|
set(CPACK_PACKAGE_VENDOR "Melroy van den Berg")
|
||||||
set(CPACK_PACKAGE_CONTACT "Melroy van den Berg <info@libreweb.org>")
|
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_DEBIAN_PACKAGE_SECTION "web")
|
||||||
set(CPACK_RPM_PACKAGE_GROUP "Applications/Internet")
|
set(CPACK_RPM_PACKAGE_GROUP "Applications/Internet")
|
||||||
set(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}-v${CPACK_PACKAGE_VERSION}") # Without '-Linux' or '-Win' suffix
|
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)
|
# Windows specific options - GUI Installer (NSIS generator)
|
||||||
set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/images/browser_logo_small.bmp")
|
set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/images/browser_logo_small.bmp")
|
||||||
set(CPACK_PACKAGE_INSTALL_DIRECTORY "LibreWeb")
|
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)
|
if (NOT ${DIFINE_LINUX_DISTRO_RESULT} EQUAL 0)
|
||||||
message (FATAL_ERROR "Linux distro identification error")
|
message (FATAL_ERROR "Linux distro identification error")
|
||||||
endif ()
|
endif()
|
||||||
endif ()
|
endif()
|
||||||
|
|
||||||
# RPM section
|
# RPM section
|
||||||
if(${LINUX_DISTRO} MATCHES "openSUSE")
|
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)
|
if(NOT UNITTEST)
|
||||||
# LibreWeb binary
|
# 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
|
## Definitions just in case
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
|
@ -134,17 +152,22 @@ if(NOT UNITTEST)
|
||||||
nlohmann_json::nlohmann_json
|
nlohmann_json::nlohmann_json
|
||||||
)
|
)
|
||||||
target_compile_options(${PROJECT_TARGET} PRIVATE ${GTKMM_CFLAGS_OTHER})
|
target_compile_options(${PROJECT_TARGET} PRIVATE ${GTKMM_CFLAGS_OTHER})
|
||||||
if (APPLE)
|
|
||||||
|
if(APPLE)
|
||||||
# Add GTK Mac Integration for macOS
|
# Add GTK Mac Integration for macOS
|
||||||
target_include_directories(${PROJECT_TARGET} PRIVATE ${MAC_INTEGRATION_INCLUDE_DIRS})
|
target_include_directories(${PROJECT_TARGET} PRIVATE ${MAC_INTEGRATION_INCLUDE_DIRS})
|
||||||
target_link_directories(${PROJECT_TARGET} PRIVATE ${MAC_INTEGRATION_LIBRARY_DIRS})
|
target_link_directories(${PROJECT_TARGET} PRIVATE ${MAC_INTEGRATION_LIBRARY_DIRS})
|
||||||
target_link_libraries(${PROJECT_TARGET} PRIVATE ${MAC_INTEGRATION_LIBRARIES})
|
target_link_libraries(${PROJECT_TARGET} PRIVATE ${MAC_INTEGRATION_LIBRARIES})
|
||||||
target_compile_options(${PROJECT_TARGET} PRIVATE ${MAC_INTEGRATION_CFLAGS_OTHER})
|
target_compile_options(${PROJECT_TARGET} PRIVATE ${MAC_INTEGRATION_CFLAGS_OTHER})
|
||||||
# Sign target for macOS
|
|
||||||
set_target_properties(${PROJECT_TARGET} PROPERTIES
|
set(LIB_DIRS "${MAC_INTEGRATION_LIBRARY_DIRS}")
|
||||||
XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY ${CODE_SIGN_IDENTITY}
|
set(APP "${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}.app")
|
||||||
XCODE_ATTRIBUTE_DEVELOPMENT_TEAM ${DEVELOPMENT_TEAM_ID}
|
# 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()
|
endif()
|
||||||
|
|
||||||
# Install browser binary
|
# Install browser binary
|
||||||
|
|
Loading…
Reference in New Issue