界面与品牌 - 默认 UI 语言固定为英文,不再跟随系统区域设置自动切换(frontend/OBSApp.cpp),用户仍可在设置中手动切换 - 程序图标更换为 CAIIC logo:exe 图标 obs-studio.ico 及界面/托盘/About 图标 obs.png - About 窗口精简为 logo + 名称 + 版本号,移除项目介绍、赞助名单、Authors/License 标签页 - 版本号定为 1.0.0(构建参数 OBS_VERSION_OVERRIDE=1.0.0) 分辨率支持 - 移除首次启动将画布强制限制为 1920x1080 的逻辑,默认使用显示器原生分辨率 - 设置-视频 与自动配置向导新增 3840x2160 / 2560x1440 预设 - 自动配置向导性能测试上限放宽至 4K60(软硬件编码数据率上限及起始分辨率钳制) 插件 - 集成 obs-shaderfilter 2.6.0(绿幕抠图/自定义着色器滤镜),并适配新版 libobs 的 gs_image_file_ex API - 补齐缺失的源码:obs-browser、obs-websocket、libdshowcapture(含 external/capture-device-support) 工程 - 新增 .gitignore,排除 deploy/ 发布目录与构建日志
72 lines
3.0 KiB
CMake
72 lines
3.0 KiB
CMake
find_package(Qt6 REQUIRED Widgets)
|
|
|
|
target_compile_definitions(obs-browser PRIVATE ENABLE_BROWSER_SHARED_TEXTURE ENABLE_BROWSER_QT_LOOP)
|
|
|
|
if(CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 14.0.3)
|
|
target_compile_options(obs-browser PRIVATE -Wno-error=unqualified-std-cast-call)
|
|
endif()
|
|
|
|
target_link_libraries(obs-browser PRIVATE Qt::Widgets CEF::Wrapper "$<LINK_LIBRARY:FRAMEWORK,CoreFoundation.framework>"
|
|
"$<LINK_LIBRARY:FRAMEWORK,AppKit.framework>")
|
|
|
|
set(helper_basename browser-helper)
|
|
set(helper_output_name "OBS Helper")
|
|
set(helper_suffixes "::" " (GPU):_gpu:.gpu" " (Plugin):_plugin:.plugin" " (Renderer):_renderer:.renderer")
|
|
|
|
foreach(helper IN LISTS helper_suffixes)
|
|
string(REPLACE ":" ";" helper ${helper})
|
|
list(GET helper 0 helper_name)
|
|
list(GET helper 1 helper_target)
|
|
list(GET helper 2 helper_plist)
|
|
|
|
set(target_name ${helper_basename}${helper_target})
|
|
set(target_output_name "${helper_output_name}${helper_name}")
|
|
set(EXECUTABLE_NAME "${target_output_name}")
|
|
set(BUNDLE_ID_SUFFIX ${helper_plist})
|
|
|
|
add_executable(${target_name} MACOSX_BUNDLE EXCLUDE_FROM_ALL)
|
|
add_executable(OBS::${target_name} ALIAS ${target_name})
|
|
|
|
target_sources(
|
|
${target_name} PRIVATE # cmake-format: sortable
|
|
browser-app.cpp browser-app.hpp browser-dummy-client.cpp browser-dummy-client.hpp
|
|
cef-headers.hpp obs-browser-page/obs-browser-page-main.cpp)
|
|
|
|
target_compile_definitions(${target_name} PRIVATE ENABLE_BROWSER_SHARED_TEXTURE)
|
|
|
|
target_compile_features(${target_name} PRIVATE cxx_std_20)
|
|
|
|
if(CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 14.0.3)
|
|
target_compile_options(${target_name} PRIVATE -Wno-error=unqualified-std-cast-call)
|
|
endif()
|
|
|
|
target_include_directories(${target_name} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/deps"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/obs-browser-page")
|
|
|
|
target_link_libraries(${target_name} PRIVATE CEF::Wrapper nlohmann_json::nlohmann_json)
|
|
|
|
string(TIMESTAMP CURRENT_YEAR "%Y")
|
|
set_target_properties(
|
|
${target_name}
|
|
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)
|
|
|
|
set_target_properties(
|
|
obs-browser
|
|
PROPERTIES AUTOMOC ON
|
|
AUTOUIC ON
|
|
AUTORCC ON)
|