From 4b6d0059c559592c44b74e4a64cd28621d3519af Mon Sep 17 00:00:00 2001 From: sithlord48 Date: Wed, 8 Jan 2025 15:49:04 -0500 Subject: [PATCH] build: Use custom plist template Customize the cmake used template so we can generate the plist using configure file this will allow us to add several additional keys we would not be able to otherwise add to our plist file " --- src/apps/deskflow-gui/CMakeLists.txt | 26 +++++++++++++-------- src/apps/res/deskflow.plist.in | 34 ++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 9 deletions(-) create mode 100644 src/apps/res/deskflow.plist.in diff --git a/src/apps/deskflow-gui/CMakeLists.txt b/src/apps/deskflow-gui/CMakeLists.txt index d0eec5526..b3d13919d 100644 --- a/src/apps/deskflow-gui/CMakeLists.txt +++ b/src/apps/deskflow-gui/CMakeLists.txt @@ -1,4 +1,5 @@ # Deskflow -- mouse and keyboard sharing utility +# Copyright (C) 2024 - 2025 Chris Rizzitello # Copyright (C) 2024 Symless Ltd. # # This package is free software; you can redistribute it and/or @@ -19,6 +20,21 @@ else() set(target deskflow) endif() +#setup our bundle plist file +set(BUNDLE_EXECUTABLE_NAME "${target}") +set(BUNDLE_BUNDLE_NAME "${target}") +set(BUNDLE_DISPLAY_NAME "${target}") +set(BUNDLE_GUI_IDENTIFIER "org.deskflow.deskflow") +set(BUNDLE_ICON_FILE ${target}.icns) +set(BUNDLE_INFO_STRING "${CMAKE_PROJECT_DESCRIPTION}") +set(BUNDLE_COPYRIGHT "© 2024 Deskflow Developers") + +configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/../res/deskflow.plist.in + ${CMAKE_CURRENT_BINARY_DIR}/deskflow.plist + @ONLY +) + set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_AUTOUIC ON) @@ -83,15 +99,7 @@ if(WIN32) elseif(APPLE) set_target_properties(${target} PROPERTIES INSTALL_RPATH "@loader_path/../Libraries;@loader_path/../Frameworks" - MACOSX_BUNDLE_BUNDLE_NAME "Deskflow" - MACOSX_BUNDLE_DISPLAY_NAME "Deskflow" - MACOSX_BUNDLE_GUI_IDENTIFIER "org.deskflow.deskflow" - MACOSX_BUNDLE_ICON_FILE Deskflow.icns - MACOSX_BUNDLE_INFO_STRING "${CMAKE_PROJECT_DESCRIPTION}" - MACOSX_BUNDLE_COPYRIGHT "© 2024 Deskflow Developers" - MACOSX_BUNDLE_BUNDLE_VERSION ${CMAKE_PROJECT_VERSION} - MACOSX_BUNDLE_LONG_VERSION_STRING ${CMAKE_PROJECT_VERSION} - MACOSX_BUNDLE_SHORT_VERSION_STRING ${CMAKE_PROJECT_VERSION} + MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_BINARY_DIR}/deskflow.plist" ) install(TARGETS ${target} BUNDLE DESTINATION .) else() diff --git a/src/apps/res/deskflow.plist.in b/src/apps/res/deskflow.plist.in new file mode 100644 index 000000000..c81e9212f --- /dev/null +++ b/src/apps/res/deskflow.plist.in @@ -0,0 +1,34 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + @BUNDLE_EXECUTABLE_NAME@ + CFBundleGetInfoString + @BUNDLE_INFO_STRING@ + CFBundleIconFile + @BUNDLE_ICON_FILE@ + CFBundleIdentifier + @BUNDLE_GUI_IDENTIFIER@ + CFBundleInfoDictionaryVersion + 6.0 + CFBundleLongVersionString + @CMAKE_PROJECT_VERSION@ + CFBundleName + @BUNDLE_BUNDLE_NAME@ + CFBundlePackageType + APPL + CFBundleShortVersionString + @CMAKE_PROJECT_VERSION@ + CFBundleSignature + ???? + CFBundleVersion + @CMAKE_PROJECT_VERSION@ + CSResourcesFileMapped + + NSHumanReadableCopyright + @BUNDLE_COPYRIGHT@ + +