diff --git a/UI/cmake/feature-sparkle.cmake b/UI/cmake/feature-sparkle.cmake index a89f829f9..eb9fe7d92 100644 --- a/UI/cmake/feature-sparkle.cmake +++ b/UI/cmake/feature-sparkle.cmake @@ -1,10 +1,10 @@ if(SPARKLE_APPCAST_URL AND SPARKLE_PUBLIC_KEY) find_library(SPARKLE Sparkle) mark_as_advanced(SPARKLE) - target_sources(obs-studio PRIVATE update/mac-update.cpp update/mac-update.hpp update/sparkle-updater.mm) set_source_files_properties(update/sparkle-updater.mm PROPERTIES COMPILE_FLAGS -fobjc-arc) - target_link_libraries(obs-studio PRIVATE ${SPARKLE}) + + target_link_libraries(obs-studio PRIVATE "$") if(OBS_BETA GREATER 0 OR OBS_RELEASE_CANDIDATE GREATER 0) set(SPARKLE_UPDATE_INTERVAL 3600) # 1 hour diff --git a/UI/cmake/os-macos.cmake b/UI/cmake/os-macos.cmake index 3da709e3f..9a6cc3ef7 100644 --- a/UI/cmake/os-macos.cmake +++ b/UI/cmake/os-macos.cmake @@ -2,21 +2,21 @@ if(NOT XCODE) target_add_resource(obs-studio "${CMAKE_CURRENT_SOURCE_DIR}/cmake/macos/Assets.xcassets") endif() -find_library(APPKIT Appkit) -find_library(AVFOUNDATION AVFoundation) -find_library(APPLICATIONSERVICES ApplicationServices) -mark_as_advanced(APPKIT AVFOUNDATION APPLICATIONSERVICES) - target_sources(obs-studio PRIVATE platform-osx.mm forms/OBSPermissions.ui window-permissions.cpp window-permissions.hpp) - -set_source_files_properties(platform-osx.mm PROPERTIES COMPILE_FLAGS -fobjc-arc) - -target_link_libraries(obs-studio PRIVATE ${APPKIT} ${AVFOUNDATION} ${APPLICATIONSERVICES}) - target_compile_options( obs-studio PRIVATE -Wno-error=float-conversion -Wno-error=implicit-int-conversion -Wno-error=shorten-64-to-32 -Wno-quoted-include-in-framework-header -Wno-comma) +set_source_files_properties(platform-osx.mm PROPERTIES COMPILE_FLAGS -fobjc-arc) + if(CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 14.0.3) target_compile_options(obs-studio PRIVATE -Wno-error=unqualified-std-cast-call) endif() + +# cmake-format: off +target_link_libraries( + obs-studio + PRIVATE "$" + "$" + "$") +# cmake-format: on diff --git a/UI/frontend-plugins/aja-output-ui/CMakeLists.txt b/UI/frontend-plugins/aja-output-ui/CMakeLists.txt index 1ee9e7083..c488596c4 100644 --- a/UI/frontend-plugins/aja-output-ui/CMakeLists.txt +++ b/UI/frontend-plugins/aja-output-ui/CMakeLists.txt @@ -68,11 +68,13 @@ if(OS_WINDOWS) APPEND PROPERTY AUTORCC_OPTIONS --format-version 1) elseif(OS_MACOS) - find_library(IOKIT_FRAMEWORK Iokit) - find_library(COREFOUNDATION_LIBRARY CoreFoundation) - find_library(APPKIT_FRAMEWORK AppKit) - - target_link_libraries(aja-output-ui PRIVATE ${IOKIT} ${COREFOUNDATION} ${APPKIT}) + # cmake-format: off + target_link_libraries( + aja-output-ui + PRIVATE "$" + "$" + "$") + # cmake-format: on target_compile_options(aja-output-ui PRIVATE -Wno-error=deprecated-declarations -Wno-quoted-include-in-framework-header) elseif(OS_LINUX OR OS_FREEBSD) diff --git a/UI/frontend-plugins/decklink-captions/CMakeLists.txt b/UI/frontend-plugins/decklink-captions/CMakeLists.txt index 77d3be0f2..208db236f 100644 --- a/UI/frontend-plugins/decklink-captions/CMakeLists.txt +++ b/UI/frontend-plugins/decklink-captions/CMakeLists.txt @@ -24,10 +24,8 @@ if(OS_WINDOWS) APPEND PROPERTY AUTORCC_OPTIONS --format-version 1) elseif(OS_MACOS) - find_library(COCOA Cocoa) - mark_as_advanced(COCOA) - target_link_libraries(decklink-captions PRIVATE ${COCOA}) target_compile_options(decklink-captions PRIVATE -Wno-quoted-include-in-framework-header -Wno-comma) + target_link_libraries(decklink-captions PRIVATE "$") elseif(OS_LINUX OR OS_FREEBSD) find_package(X11 REQUIRED) mark_as_advanced(X11) diff --git a/libobs/cmake/os-macos.cmake b/libobs/cmake/os-macos.cmake index b1d3b28a5..e3da29797 100644 --- a/libobs/cmake/os-macos.cmake +++ b/libobs/cmake/os-macos.cmake @@ -1,29 +1,12 @@ -find_library(COCOA Cocoa) -find_library(COREAUDIO CoreAudio) -find_library(AUDIOTOOLBOX AudioToolbox) -find_library(AUDIOUNIT AudioUnit) -find_library(APPKIT AppKit) -find_library(IOKIT IOKit) -find_library(CARBON Carbon) - -mark_as_advanced( - COCOA - COREAUDIO - AUDIOTOOLBOX - AUDIOUNIT - APPKIT - IOKIT - CARBON) - target_link_libraries( libobs - PRIVATE ${COCOA} - ${COREAUDIO} - ${AUDIOTOOLBOX} - ${AUDIOUNIT} - ${APPKIT} - ${IOKIT} - ${CARBON}) + PRIVATE "$" + "$" + "$" + "$" + "$" + "$" + "$") target_sources( libobs diff --git a/plugins/coreaudio-encoder/CMakeLists.txt b/plugins/coreaudio-encoder/CMakeLists.txt index ad0a76682..6f744a4ea 100644 --- a/plugins/coreaudio-encoder/CMakeLists.txt +++ b/plugins/coreaudio-encoder/CMakeLists.txt @@ -23,13 +23,13 @@ if(OS_WINDOWS) target_sources(coreaudio-encoder PRIVATE coreaudio-encoder.rc windows-imports.h) elseif(OS_MACOS) - find_library(COREFOUNDATION CoreFoundation) - find_library(COREAUDIO CoreAudio) - find_library(AUDIOTOOLBOX AudioToolbox) - mark_as_advanced(AUDIOTOOLBOX COREAUDIO COREFOUNDATION) - - target_link_libraries(coreaudio-encoder PRIVATE ${COREFOUNDATION} ${COREAUDIO} ${AUDIOTOOLBOX}) - + # cmake-format: off + target_link_libraries( + coreaudio-encoder + PRIVATE "$" + "$" + "$") + # cmake-format: on endif() set_target_properties_obs(coreaudio-encoder PROPERTIES FOLDER plugins PREFIX "") diff --git a/plugins/mac-avcapture/CMakeLists.txt b/plugins/mac-avcapture/CMakeLists.txt index 35d8737a4..edea3dc5f 100644 --- a/plugins/mac-avcapture/CMakeLists.txt +++ b/plugins/mac-avcapture/CMakeLists.txt @@ -1,12 +1,4 @@ -cmake_minimum_required(VERSION 3.22...3.25) - -find_library(AVFOUNDATION AVFoundation) -find_library(COCOA Cocoa) -find_library(COREFOUNDATION CoreFoundation) -find_library(COREMEDIA CoreMedia) -find_library(COREVIDEO CoreVideo) -find_library(COREMEDIAIO CoreMediaIO) -mark_as_advanced(AVFOUNDATION COCOA COREFOUNDATION COREMEDIA COREMEDIAIO COREVIDEO) +cmake_minimum_required(VERSION 3.24...3.25) add_library(mac-avcapture MODULE) add_library(OBS::avcapture ALIAS mac-avcapture) @@ -20,12 +12,12 @@ endif() target_link_libraries( mac-avcapture PRIVATE OBS::libobs - ${AVFOUNDATION} - ${COCOA} - ${COREFOUNDATION} - ${COREMEDIA} - ${COREVIDEO} - ${COREMEDIAIO}) + "$" + "$" + "$" + "$" + "$" + "$") set_target_properties_obs( mac-avcapture diff --git a/plugins/mac-capture/CMakeLists.txt b/plugins/mac-capture/CMakeLists.txt index 98005232c..5d2903a3b 100644 --- a/plugins/mac-capture/CMakeLists.txt +++ b/plugins/mac-capture/CMakeLists.txt @@ -1,13 +1,4 @@ -cmake_minimum_required(VERSION 3.22...3.25) - -find_library(COREAUDIO CoreAudio) -find_library(AUDIOUNIT AudioUnit) -find_library(COREFOUNDATION CoreFoundation) -find_library(IOSURF IOSurface) -find_library(COCOA Cocoa) -find_library(COREVIDEO CoreVideo) -find_library(COREMEDIA CoreMedia) -find_library(SCREENCAPTUREKIT ScreenCaptureKit) +cmake_minimum_required(VERSION 3.24...3.25) add_library(mac-capture MODULE) add_library(OBS::capture ALIAS mac-capture) @@ -26,12 +17,18 @@ target_sources( window-utils.h window-utils.m) -target_link_libraries(mac-capture PRIVATE OBS::libobs ${COREAUDIO} ${AUDIOUNIT} ${COREFOUNDATION} ${IOSURF} ${COCOA}) - -if(SCREENCAPTUREKIT) - target_link_libraries(mac-capture PRIVATE OBS::libobs ${COREVIDEO} ${COREMEDIA} - "$") -endif() +# cmake-format: off +target_link_libraries( + mac-capture + PRIVATE OBS::libobs + "$" + "$" + "$" + "$" + "$" + "$" + "$" + "$") set_target_properties_obs( mac-capture @@ -39,6 +36,7 @@ set_target_properties_obs( PREFIX "" XCODE_ATTRIBUTE_CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION YES XCODE_ATTRIBUTE_GCC_WARN_SHADOW YES) +# cmake-format: on if(CMAKE_VERSION VERSION_LESS_EQUAL 3.25.0) set_property(TARGET mac-capture PROPERTY XCODE_LINK_BUILD_PHASE_MODE BUILT_ONLY) diff --git a/plugins/mac-syphon/CMakeLists.txt b/plugins/mac-syphon/CMakeLists.txt index 88ddc5ff5..9957153ba 100644 --- a/plugins/mac-syphon/CMakeLists.txt +++ b/plugins/mac-syphon/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.22...3.25) +cmake_minimum_required(VERSION 3.24...3.25) option(ENABLE_SYPHON "Enable Syphon sharing support" ON) if(NOT ENABLE_SYPHON) @@ -18,10 +18,15 @@ add_library(OBS::syphon ALIAS mac-syphon) target_sources(mac-syphon PRIVATE syphon.m plugin-main.c SyphonOBSClient.h SyphonOBSClient.m) target_compile_options(mac-syphon PRIVATE -fobjc-arc) + +# cmake-format: off target_link_libraries( mac-syphon - PRIVATE OBS::libobs "$" "$" - "$" "$") + PRIVATE OBS::libobs + "$" + "$" + "$" + "$") set_target_properties_obs( mac-syphon @@ -29,3 +34,4 @@ set_target_properties_obs( PREFIX "" XCODE_ATTRIBUTE_CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION YES XCODE_ATTRIBUTE_GCC_WARN_SHADOW YES) +# cmake-format: on diff --git a/plugins/mac-videotoolbox/CMakeLists.txt b/plugins/mac-videotoolbox/CMakeLists.txt index b48a30aec..e43490419 100644 --- a/plugins/mac-videotoolbox/CMakeLists.txt +++ b/plugins/mac-videotoolbox/CMakeLists.txt @@ -1,28 +1,20 @@ -cmake_minimum_required(VERSION 3.22...3.25) - -find_library(AVFOUNDATION AVFoundation) -find_library(COCOA Cocoa) -find_library(COREFOUNDATION CoreFoundation) -find_library(COREVIDEO CoreVideo) -find_library(VIDEOTOOLBOX VideoToolbox) -find_library(COREMEDIA CoreMedia) - -mark_as_advanced(AVFOUNDATION COCOA COREFOUNDATION COREVIDEO VIDEOTOOLBOX COREMEDIA) +cmake_minimum_required(VERSION 3.24...3.25) add_library(mac-videotoolbox MODULE) add_library(OBS::mac-videotoolbox ALIAS mac-videotoolbox) target_sources(mac-videotoolbox PRIVATE encoder.c) +# cmake-format: off target_link_libraries( mac-videotoolbox PRIVATE OBS::libobs - ${AVFOUNDATION} - ${COCOA} - ${COREFOUNDATION} - ${COREVIDEO} - ${VIDEOTOOLBOX} - ${COREMEDIA}) + "$" + "$" + "$" + "$" + "$" + "$") set_target_properties_obs( mac-videotoolbox @@ -30,3 +22,4 @@ set_target_properties_obs( PREFIX "" XCODE_ATTRIBUTE_CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION YES XCODE_ATTRIBUTE_GCC_WARN_SHADOW YES) +# cmake-format: on diff --git a/plugins/mac-virtualcam/CMakeLists.txt b/plugins/mac-virtualcam/CMakeLists.txt index 1de786d19..d4f9bc008 100644 --- a/plugins/mac-virtualcam/CMakeLists.txt +++ b/plugins/mac-virtualcam/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.22...3.25) +cmake_minimum_required(VERSION 3.24...3.25) option(ENABLE_VIRTUALCAM "Build OBS Virtualcam" ON) diff --git a/plugins/mac-virtualcam/src/dal-plugin/CMakeLists.txt b/plugins/mac-virtualcam/src/dal-plugin/CMakeLists.txt index 3c94dd157..76c72fef6 100644 --- a/plugins/mac-virtualcam/src/dal-plugin/CMakeLists.txt +++ b/plugins/mac-virtualcam/src/dal-plugin/CMakeLists.txt @@ -1,11 +1,4 @@ -cmake_minimum_required(VERSION 3.22...3.25) - -find_library(COCOA Cocoa) -find_library(COREMEDIA CoreMedia) -find_library(COREMEDIAIO CoreMediaIO) -find_library(COREVIDEO CoreVideo) -find_library(IOSURFACE IOSurface) -mark_as_advanced(COCOA COREMEDIA COREMEDIAIO COREVIDEO IOSURFACE) +cmake_minimum_required(VERSION 3.24...3.25) add_library(obs-dal-plugin MODULE) add_library(OBS::dal-plugin ALIAS obs-dal-plugin) @@ -39,8 +32,16 @@ set(_placeholder_location "${CMAKE_CURRENT_SOURCE_DIR}/../common/data/placeholde set_property(SOURCE "${_placeholder_location}" PROPERTY MACOSX_PACKAGE_LOCATION "Resources") source_group("Resources" FILES "${_placeholder_location}") -target_link_libraries(obs-dal-plugin PRIVATE OBS::mach-protocol ${COCOA} ${COREMEDIA} ${COREMEDIAIO} ${COREVIDEO} - ${IOSURFACE}) +# cmake-format: off +target_link_libraries( + obs-dal-plugin + PRIVATE OBS::mach-protocol + "$" + "$" + "$" + "$" + "$") +# cmake-format: on set_target_properties_obs( obs-dal-plugin diff --git a/plugins/mac-virtualcam/src/obs-plugin/CMakeLists.txt b/plugins/mac-virtualcam/src/obs-plugin/CMakeLists.txt index 95de04371..a17df8dc2 100644 --- a/plugins/mac-virtualcam/src/obs-plugin/CMakeLists.txt +++ b/plugins/mac-virtualcam/src/obs-plugin/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.22...3.25) +cmake_minimum_required(VERSION 3.24...3.25) add_library(mac-virtualcam MODULE) add_library(OBS::virtualcam ALIAS mac-virtualcam) diff --git a/plugins/obs-outputs/CMakeLists.txt b/plugins/obs-outputs/CMakeLists.txt index 527690e29..73ca6336f 100644 --- a/plugins/obs-outputs/CMakeLists.txt +++ b/plugins/obs-outputs/CMakeLists.txt @@ -56,12 +56,13 @@ if(OS_WINDOWS) target_sources(obs-outputs PRIVATE obs-outputs.rc) elseif(OS_MACOS) - find_library(FOUNDATION_FRAMEWORK Foundation) - find_library(SECURITY_FRAMEWORK Security) - mark_as_advanced(FOUNDATION_FRAMEWORK SECURITY_FRAMEWORK) - target_compile_options(obs-outputs PRIVATE -Wno-comma) - target_link_libraries(obs-outputs PRIVATE ${FOUNDATION_FRAMEWORK} ${SECURITY_FRAMEWORK}) + # cmake-format: off + target_link_libraries( + obs-outputs + PRIVATE "$" + "$") + # cmake-format: on endif() include(cmake/ftl.cmake) diff --git a/plugins/obs-vst/CMakeLists.txt b/plugins/obs-vst/CMakeLists.txt index fdb969116..51bfe995e 100644 --- a/plugins/obs-vst/CMakeLists.txt +++ b/plugins/obs-vst/CMakeLists.txt @@ -28,13 +28,14 @@ target_include_directories(obs-vst PRIVATE vst_header) target_link_libraries(obs-vst PRIVATE OBS::libobs Qt::Widgets) if(OS_MACOS) - find_library(FOUNDATION Foundation) - find_library(COCOA Cocoa) - mark_as_advanced(COCOA FOUNDATION) - - target_sources(obs-vst PRIVATE mac/VSTPlugin-osx.mm mac/EditorWidget-osx.mm) - target_link_libraries(obs-vst PRIVATE ${COCOA} ${FOUNDATION}) + target_sources(obs-vst PRIVATE mac/EditorWidget-osx.mm mac/VSTPlugin-osx.mm) + # cmake-format: off + target_link_libraries( + obs-vst + PRIVATE "$" + "$") + # cmake-format: on elseif(OS_WINDOWS) target_sources(obs-vst PRIVATE win/VSTPlugin-win.cpp win/EditorWidget-win.cpp) diff --git a/plugins/text-freetype2/CMakeLists.txt b/plugins/text-freetype2/CMakeLists.txt index 65ca8fd20..bad71b033 100644 --- a/plugins/text-freetype2/CMakeLists.txt +++ b/plugins/text-freetype2/CMakeLists.txt @@ -24,11 +24,9 @@ if(OS_WINDOWS) target_link_options(text-freetype2 PRIVATE /IGNORE:4098 /IGNORE:4099) elseif(OS_MACOS) find_package(Iconv REQUIRED) - find_library(COCOA Cocoa) - mark_as_advanced(COCOA) target_sources(text-freetype2 PRIVATE find-font.c find-font-cocoa.m find-font-iconv.c) - target_link_libraries(text-freetype2 PRIVATE Iconv::Iconv ${COCOA}) + target_link_libraries(text-freetype2 PRIVATE Iconv::Iconv "$") elseif(OS_LINUX OR OS_FREEBSD) find_package(Fontconfig REQUIRED)