From 481fb57cf84dbbcdd396769c63905a97094e35a7 Mon Sep 17 00:00:00 2001 From: PatTheMav Date: Thu, 6 Aug 2026 16:43:01 +0200 Subject: [PATCH] cmake: Update Info.plist generation for macOS Uses Xcode's own Info.plist generation code and also adds the app category key to address warnings emitted by Xcode during packaging. --- cmake/macos/Info-helper.plist.in | 37 -------------------------------- cmake/macos/Info.plist.in | 28 ------------------------ cmake/os-macos.cmake | 21 +++++++++++------- helper-info.plist | 33 ---------------------------- 4 files changed, 13 insertions(+), 106 deletions(-) delete mode 100644 cmake/macos/Info-helper.plist.in delete mode 100644 cmake/macos/Info.plist.in delete mode 100644 helper-info.plist diff --git a/cmake/macos/Info-helper.plist.in b/cmake/macos/Info-helper.plist.in deleted file mode 100644 index 915e9aa6d..000000000 --- a/cmake/macos/Info-helper.plist.in +++ /dev/null @@ -1,37 +0,0 @@ - - - - - CFBundleDisplayName - ${EXECUTABLE_NAME} - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - com.obsproject.obs-studio.helper${BUNDLE_ID_SUFFIX} - CFBundleVersion - ${MACOSX_BUNDLE_BUNDLE_VERSION} - CFBundleShortVersionString - ${MACOSX_BUNDLE_SHORT_VERSION_STRING} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - APPL - LSEnvironment - - MallocNanoZone - 0 - - LSFileQuarantineEnabled - - LSMinimumSystemVersion - ${CMAKE_OSX_DEPLOYMENT_TARGET} - LSUIElement - 1 - NSSupportsAutomaticGraphicsSwitching - - NSHumanReadableCopyright - (c) 2012-${CURRENT_YEAR} Lain Bailey - - diff --git a/cmake/macos/Info.plist.in b/cmake/macos/Info.plist.in deleted file mode 100644 index 96e20bf20..000000000 --- a/cmake/macos/Info.plist.in +++ /dev/null @@ -1,28 +0,0 @@ - - - - - CFBundleName - obs-browser - CFBundleIdentifier - com.obsproject.obs-browser - CFBundleVersion - ${MACOSX_BUNDLE_BUNDLE_VERSION} - CFBundleShortVersionString - ${MACOSX_BUNDLE_SHORT_VERSION_STRING} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleExecutable - obs-browser - CFBundlePackageType - BNDL - CFBundleSupportedPlatforms - - MacOSX - - LSMinimumSystemVersion - ${CMAKE_OSX_DEPLOYMENT_TARGET} - NSHumanReadableCopyright - (c) 2012-${CURRENT_YEAR} Lain Bailey - - diff --git a/cmake/os-macos.cmake b/cmake/os-macos.cmake index 6d6dc51c8..e5696b483 100644 --- a/cmake/os-macos.cmake +++ b/cmake/os-macos.cmake @@ -24,8 +24,6 @@ foreach(helper IN LISTS helper_suffixes) set(EXECUTABLE_NAME "${target_output_name}") set(BUNDLE_ID_SUFFIX ${helper_plist}) - configure_file(cmake/macos/Info-helper.plist.in Info-Helper${helper_plist}.plist) - add_executable(${target_name} MACOSX_BUNDLE EXCLUDE_FROM_ALL) add_executable(OBS::${target_name} ALIAS ${target_name}) @@ -44,14 +42,21 @@ foreach(helper IN LISTS helper_suffixes) target_link_libraries(${target_name} PRIVATE CEF::Wrapper nlohmann_json::nlohmann_json) + string(TIMESTAMP CURRENT_YEAR "%Y") set_target_properties( ${target_name} - PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_BINARY_DIR}/Info-Helper${helper_plist}.plist" - OUTPUT_NAME "${target_output_name}" - FOLDER plugins/obs-browser/Helpers - XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER com.obsproject.obs-studio.helper${helper_plist} - XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS - "${CMAKE_CURRENT_SOURCE_DIR}/cmake/macos/entitlements-helper${helper_plist}.plist") + PROPERTIES + OUTPUT_NAME "${target_output_name}" + FOLDER plugins/obs-browser/Helpers + XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER com.obsproject.obs-studio.helper${helper_plist} + XCODE_ATTRIBUTE_CURRENT_PROJECT_VERSION ${OBS_BUILD_NUMBER} + XCODE_ATTRIBUTE_MARKETING_VERSION ${OBS_VERSION_CANONICAL} + XCODE_ATTRIBUTE_GENERATE_INFOPLIST_FILE YES + XCODE_ATTRIBUTE_INFOPLIST_KEY_CFBundleDisplayName "${target_output_name}" + XCODE_ATTRIBUTE_INFOPLIST_KEY_LSApplicationCategoryType "public.app-category.video" + XCODE_ATTRIBUTE_INFOPLIST_KEY_NSHumanReadableCopyright "(c) 2012-${CURRENT_YEAR} Lain Bailey" + XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS "${CMAKE_CURRENT_SOURCE_DIR}/cmake/macos/entitlements-helper${helper_plist}.plist" + ) endforeach() target_sources(obs-browser PRIVATE deps/ip-string-posix.cpp) diff --git a/helper-info.plist b/helper-info.plist deleted file mode 100644 index d7e0c67fe..000000000 --- a/helper-info.plist +++ /dev/null @@ -1,33 +0,0 @@ - - - - - CFBundleDisplayName - ${EXECUTABLE_NAME} - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - com.obsproject.obs-studio.helper${BUNDLE_ID_SUFFIX} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - APPL - LSEnvironment - - MallocNanoZone - 0 - - LSFileQuarantineEnabled - - LSMinimumSystemVersion - ${MINIMUM_VERSION} - LSUIElement - 1 - NSSupportsAutomaticGraphicsSwitching - - NSHumanReadableCopyright - (c) 2012-${CURRENT_YEAR} Lain Bailey - -