Kaynağa Gözat

cmake: Update supported CMake version range to 3.28 and 3.30

PatTheMav 2 yıl önce
ebeveyn
işleme
6c590805e8
98 değiştirilmiş dosya ile 129 ekleme ve 144 silme
  1. 2 2
      CMakeLists.txt
  2. 3 3
      CMakePresets.json
  3. 1 1
      UI/CMakeLists.txt
  4. 1 1
      UI/frontend-plugins/aja-output-ui/CMakeLists.txt
  5. 1 1
      UI/frontend-plugins/decklink-captions/CMakeLists.txt
  6. 1 1
      UI/frontend-plugins/decklink-output-ui/CMakeLists.txt
  7. 1 1
      UI/frontend-plugins/frontend-tools/CMakeLists.txt
  8. 1 1
      UI/obs-frontend-api/CMakeLists.txt
  9. 1 1
      UI/win-update/updater/CMakeLists.txt
  10. 0 3
      cmake/common/bootstrap.cmake
  11. 3 1
      cmake/common/buildspec_common.cmake
  12. 1 5
      cmake/common/compiler_common.cmake
  13. 9 6
      cmake/common/helpers_common.cmake
  14. 7 6
      cmake/windows/architecture.cmake
  15. 2 2
      cmake/windows/buildspec.cmake
  16. 1 1
      cmake/windows/cpackconfig.cmake
  17. 0 12
      cmake/windows/defaults.cmake
  18. 1 1
      deps/blake2/CMakeLists.txt
  19. 1 1
      deps/glad/CMakeLists.txt
  20. 1 1
      deps/json11/CMakeLists.txt
  21. 1 1
      deps/libcaption/CMakeLists.txt
  22. 1 1
      deps/w32-pthreads/CMakeLists.txt
  23. 1 1
      libobs-d3d11/CMakeLists.txt
  24. 1 1
      libobs-opengl/CMakeLists.txt
  25. 1 1
      libobs-winrt/CMakeLists.txt
  26. 2 2
      libobs/CMakeLists.txt
  27. 1 1
      libobs/cmake/os-windows.cmake
  28. 2 2
      plugins/CMakeLists.txt
  29. 1 1
      plugins/aja/CMakeLists.txt
  30. 1 1
      plugins/coreaudio-encoder/CMakeLists.txt
  31. 1 1
      plugins/decklink/CMakeLists.txt
  32. 1 1
      plugins/image-source/CMakeLists.txt
  33. 1 1
      plugins/linux-alsa/CMakeLists.txt
  34. 1 1
      plugins/linux-capture/CMakeLists.txt
  35. 1 1
      plugins/linux-jack/CMakeLists.txt
  36. 1 1
      plugins/linux-pipewire/CMakeLists.txt
  37. 1 1
      plugins/linux-pulseaudio/CMakeLists.txt
  38. 1 1
      plugins/linux-v4l2/CMakeLists.txt
  39. 1 1
      plugins/mac-avcapture/CMakeLists.txt
  40. 1 1
      plugins/mac-avcapture/legacy/CMakeLists.txt
  41. 1 1
      plugins/mac-capture/CMakeLists.txt
  42. 1 1
      plugins/mac-syphon/CMakeLists.txt
  43. 1 1
      plugins/mac-videotoolbox/CMakeLists.txt
  44. 1 1
      plugins/mac-virtualcam/CMakeLists.txt
  45. 2 0
      plugins/mac-virtualcam/src/camera-extension/CMakeLists.txt
  46. 1 1
      plugins/mac-virtualcam/src/dal-plugin/CMakeLists.txt
  47. 1 1
      plugins/mac-virtualcam/src/obs-plugin/CMakeLists.txt
  48. 1 1
      plugins/nv-filters/CMakeLists.txt
  49. 1 1
      plugins/obs-ffmpeg/CMakeLists.txt
  50. 1 1
      plugins/obs-ffmpeg/ffmpeg-mux/CMakeLists.txt
  51. 1 1
      plugins/obs-ffmpeg/obs-amf-test/CMakeLists.txt
  52. 1 1
      plugins/obs-filters/CMakeLists.txt
  53. 1 1
      plugins/obs-libfdk/CMakeLists.txt
  54. 1 1
      plugins/obs-nvenc/CMakeLists.txt
  55. 1 1
      plugins/obs-nvenc/obs-nvenc-test/CMakeLists.txt
  56. 1 1
      plugins/obs-outputs/CMakeLists.txt
  57. 1 1
      plugins/obs-qsv11/CMakeLists.txt
  58. 1 1
      plugins/obs-qsv11/obs-qsv-test/CMakeLists.txt
  59. 1 1
      plugins/obs-text/CMakeLists.txt
  60. 1 1
      plugins/obs-transitions/CMakeLists.txt
  61. 1 1
      plugins/obs-vst/CMakeLists.txt
  62. 1 1
      plugins/obs-webrtc/CMakeLists.txt
  63. 1 1
      plugins/obs-x264/CMakeLists.txt
  64. 1 1
      plugins/oss-audio/CMakeLists.txt
  65. 1 1
      plugins/rtmp-services/CMakeLists.txt
  66. 1 1
      plugins/sndio/CMakeLists.txt
  67. 1 1
      plugins/text-freetype2/CMakeLists.txt
  68. 1 1
      plugins/vlc-video/CMakeLists.txt
  69. 1 1
      plugins/win-capture/CMakeLists.txt
  70. 4 4
      plugins/win-capture/get-graphics-offsets/CMakeLists.txt
  71. 4 4
      plugins/win-capture/graphics-hook/CMakeLists.txt
  72. 4 4
      plugins/win-capture/inject-helper/CMakeLists.txt
  73. 1 1
      plugins/win-dshow/CMakeLists.txt
  74. 4 4
      plugins/win-dshow/virtualcam-module/CMakeLists.txt
  75. 1 1
      plugins/win-wasapi/CMakeLists.txt
  76. 1 1
      shared/bpm/CMakeLists.txt
  77. 1 1
      shared/file-updater/CMakeLists.txt
  78. 1 1
      shared/happy-eyeballs/CMakeLists.txt
  79. 1 1
      shared/ipc-util/CMakeLists.txt
  80. 1 1
      shared/media-playback/CMakeLists.txt
  81. 1 1
      shared/obs-d3d8-api/CMakeLists.txt
  82. 1 1
      shared/obs-hook-config/CMakeLists.txt
  83. 1 1
      shared/obs-inject-library/CMakeLists.txt
  84. 1 1
      shared/obs-scripting/CMakeLists.txt
  85. 0 2
      shared/obs-scripting/cmake/lua.cmake
  86. 0 2
      shared/obs-scripting/cmake/python.cmake
  87. 1 1
      shared/obs-scripting/obslua/CMakeLists.txt
  88. 1 1
      shared/obs-scripting/obspython/CMakeLists.txt
  89. 1 1
      shared/obs-shared-memory-queue/CMakeLists.txt
  90. 1 1
      shared/obs-tiny-nv12-scale/CMakeLists.txt
  91. 1 1
      shared/opts-parser/CMakeLists.txt
  92. 1 1
      shared/properties-view/CMakeLists.txt
  93. 1 1
      shared/qt/icon-label/CMakeLists.txt
  94. 1 1
      shared/qt/plain-text-edit/CMakeLists.txt
  95. 1 1
      shared/qt/slider-ignorewheel/CMakeLists.txt
  96. 1 1
      shared/qt/vertical-scroll-area/CMakeLists.txt
  97. 1 1
      shared/qt/wrappers/CMakeLists.txt
  98. 1 1
      test/test-input/CMakeLists.txt

+ 2 - 2
CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/common/bootstrap.cmake" NO_POLICY_SCOPE)
 
@@ -6,7 +6,7 @@ project(obs-studio VERSION ${OBS_VERSION_CANONICAL})
 
 if(CMAKE_HOST_SYSTEM_NAME MATCHES "Windows")
   include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/windows/architecture.cmake")
-  if(NOT OBS_PARENT_ARCHITECTURE STREQUAL CMAKE_GENERATOR_PLATFORM)
+  if(NOT OBS_PARENT_ARCHITECTURE STREQUAL CMAKE_VS_PLATFORM_NAME)
     return()
   endif()
 endif()

+ 3 - 3
CMakePresets.json

@@ -1,8 +1,8 @@
 {
-  "version": 3,
+  "version": 8,
   "cmakeMinimumRequired": {
     "major": 3,
-    "minor": 22,
+    "minor": 28,
     "patch": 0
   },
   "configurePresets": [
@@ -98,7 +98,7 @@
         "lhs": "${hostSystemName}",
         "rhs": "Windows"
       },
-      "architecture": "x64",
+      "architecture": "x64,version=10.0.20348",
       "binaryDir": "${sourceDir}/build_x64",
       "generator": "Visual Studio 17 2022",
       "cacheVariables": {

+ 1 - 1
UI/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 add_subdirectory(obs-frontend-api)
 

+ 1 - 1
UI/frontend-plugins/aja-output-ui/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 if(NOT ENABLE_AJA)
   target_disable(aja-output-ui)

+ 1 - 1
UI/frontend-plugins/decklink-captions/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 if(NOT ENABLE_DECKLINK)
   target_disable(decklink-captions)

+ 1 - 1
UI/frontend-plugins/decklink-output-ui/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 if(NOT ENABLE_DECKLINK)
   target_disable(decklink-output-ui)

+ 1 - 1
UI/frontend-plugins/frontend-tools/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 find_package(Qt6 REQUIRED Widgets)
 

+ 1 - 1
UI/obs-frontend-api/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 add_library(obs-frontend-api SHARED)
 add_library(OBS::frontend-api ALIAS obs-frontend-api)

+ 1 - 1
UI/win-update/updater/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.24...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 find_package(zstd)
 find_package(nlohmann_json 3 REQUIRED)

+ 0 - 3
cmake/common/bootstrap.cmake

@@ -40,9 +40,6 @@ if("${CMAKE_CURRENT_BINARY_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}")
   file(REMOVE_RECURSE "${CMAKE_CURRENT_SOURCE_DIR}/CMakeCache.txt" "${CMAKE_CURRENT_SOURCE_DIR}/CMakeFiles")
 endif()
 
-# Use folders for source file organization with IDE generators (Visual Studio/Xcode)
-set_property(GLOBAL PROPERTY USE_FOLDERS TRUE)
-
 # Set default global project variables
 set(OBS_COMPANY_NAME "OBS Project")
 set(OBS_PRODUCT_NAME "OBS Studio")

+ 3 - 1
cmake/common/buildspec_common.cmake

@@ -29,7 +29,7 @@ function(_check_deps_version version)
         )
         list(REMOVE_ITEM CMAKE_PREFIX_PATH "${path}")
         list(APPEND CMAKE_PREFIX_PATH "${path}")
-        set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} PARENT_SCOPE)
+
         continue()
       else()
         message(
@@ -42,6 +42,8 @@ function(_check_deps_version version)
       endif()
     endif()
   endforeach()
+
+  return(PROPAGATE found CMAKE_PREFIX_PATH)
 endfunction()
 
 # _check_dependencies: Fetch and extract pre-built OBS build dependencies

+ 1 - 5
cmake/common/compiler_common.cmake

@@ -6,11 +6,7 @@ option(OBS_COMPILE_DEPRECATION_AS_WARNING "Downgrade deprecation warnings to act
 mark_as_advanced(OBS_COMPILE_DEPRECATION_AS_WARNING)
 
 # Set C and C++ language standards to C17 and C++17
-if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.21)
-  set(CMAKE_C_STANDARD 17)
-else()
-  set(CMAKE_C_STANDARD 11)
-endif()
+set(CMAKE_C_STANDARD 17)
 set(CMAKE_C_STANDARD_REQUIRED TRUE)
 set(CMAKE_CXX_STANDARD 17)
 set(CMAKE_CXX_STANDARD_REQUIRED TRUE)

+ 9 - 6
cmake/common/helpers_common.cmake

@@ -203,14 +203,14 @@ function(find_dependencies)
   endforeach()
 
   if(NOT is_root)
-    set(found_libraries ${found_libraries} PARENT_SCOPE)
     # Exit recursive branch
-    return()
+    return(PROPAGATE found_libraries)
   endif()
 
   list(REMOVE_DUPLICATES found_libraries)
   list(APPEND ${var_FOUND_VAR} ${found_libraries})
-  set(${var_FOUND_VAR} ${${var_FOUND_VAR}} PARENT_SCOPE)
+
+  return(PROPAGATE ${var_FOUND_VAR})
 endfunction()
 
 # find_qt_plugins: Find and add Qt plugin libraries associated with Qt component to target
@@ -278,7 +278,8 @@ function(find_qt_plugins)
     endforeach()
   endif()
 
-  set(${var_FOUND_VAR} ${plugins_list} PARENT_SCOPE)
+  set(${var_FOUND_VAR} ${plugins_list})
+  return(PROPAGATE ${var_FOUND_VAR})
 endfunction()
 
 # target_export: Helper function to export target as CMake package
@@ -432,7 +433,9 @@ function(check_uuid uuid_string return_value)
     set(valid_uuid FALSE)
   endif()
   message(DEBUG "UUID ${uuid_string} valid: ${valid_uuid}")
-  set(${return_value} ${valid_uuid} PARENT_SCOPE)
+
+  set(${return_value} ${valid_uuid})
+  return(PROPAGATE ${return_value})
 endfunction()
 
 # add_obs_plugin: Add plugin subdirectory if host platform is in specified list of supported platforms and architectures
@@ -465,7 +468,7 @@ function(add_obs_plugin target)
   else()
     foreach(architecture IN LISTS _AOP_ARCHITECTURES)
       if(OS_WINDOWS)
-        if("${architecture}" STREQUAL CMAKE_GENERATOR_PLATFORM)
+        if("${architecture}" STREQUAL CMAKE_VS_PLATFORM_NAME)
           set(found_architecture TRUE)
         endif()
       elseif(OS_MACOS)

+ 7 - 6
cmake/windows/architecture.cmake

@@ -5,19 +5,20 @@ include_guard(GLOBAL)
 include(compilerconfig)
 
 if(NOT DEFINED OBS_PARENT_ARCHITECTURE)
-  if(CMAKE_GENERATOR_PLATFORM MATCHES "(Win32|x64)")
-    set(OBS_PARENT_ARCHITECTURE ${CMAKE_GENERATOR_PLATFORM})
+  if(CMAKE_VS_PLATFORM_NAME MATCHES "(Win32|x64)")
+    set(OBS_PARENT_ARCHITECTURE ${CMAKE_VS_PLATFORM_NAME})
   else()
-    message(FATAL_ERROR "Unsupported generator platform for Windows builds: ${CMAKE_GENERATOR_PLATFORM}!")
+    message(FATAL_ERROR "Unsupported generator platform for Windows builds: ${CMAKE_VS_PLATFORM_NAME}!")
   endif()
 endif()
 
-if(OBS_PARENT_ARCHITECTURE STREQUAL CMAKE_GENERATOR_PLATFORM)
+if(OBS_PARENT_ARCHITECTURE STREQUAL CMAKE_VS_PLATFORM_NAME)
   if(OBS_PARENT_ARCHITECTURE STREQUAL x64)
     execute_process(
       COMMAND
-        "${CMAKE_COMMAND}" -S ${CMAKE_CURRENT_SOURCE_DIR} -B ${CMAKE_SOURCE_DIR}/build_x86 -A Win32 -G
-        "${CMAKE_GENERATOR}" -DCMAKE_SYSTEM_VERSION:STRING='${CMAKE_SYSTEM_VERSION}' -DOBS_CMAKE_VERSION:STRING=3.0.0
+        "${CMAKE_COMMAND}" -S ${CMAKE_CURRENT_SOURCE_DIR} -B ${CMAKE_SOURCE_DIR}/build_x86 -A
+        "Win32,version=${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION}" -G "${CMAKE_GENERATOR}"
+        -DCMAKE_SYSTEM_VERSION:STRING='${CMAKE_SYSTEM_VERSION}' -DOBS_CMAKE_VERSION:STRING=3.0.0
         -DVIRTUALCAM_GUID:STRING=${VIRTUALCAM_GUID} -DCMAKE_MESSAGE_LOG_LEVEL:STRING=${CMAKE_MESSAGE_LOG_LEVEL}
         -DENABLE_CCACHE:BOOL=${ENABLE_CCACHE} -DOBS_PARENT_ARCHITECTURE:STRING=x64
       RESULT_VARIABLE _process_result

+ 2 - 2
cmake/windows/buildspec.cmake

@@ -14,11 +14,11 @@ function(_check_dependencies_windows)
   set(cef_filename "cef_binary_VERSION_windows_ARCH_REVISION.zip")
   set(cef_destination "cef_binary_VERSION_windows_ARCH")
 
-  if(CMAKE_GENERATOR_PLATFORM STREQUAL Win32)
+  if(CMAKE_VS_PLATFORM_NAME STREQUAL Win32)
     set(arch x86)
     set(dependencies_list prebuilt)
   else()
-    string(TOLOWER "${CMAKE_GENERATOR_PLATFORM}" arch)
+    string(TOLOWER "${CMAKE_VS_PLATFORM_NAME}" arch)
     set(dependencies_list prebuilt qt6 cef)
   endif()
   set(platform windows-${arch})

+ 1 - 1
cmake/windows/cpackconfig.cmake

@@ -7,7 +7,7 @@ include(cpackconfig_common)
 # Add GPLv2 license file to CPack
 set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/UI/data/license/gplv2.txt")
 set(CPACK_PACKAGE_VERSION "${OBS_VERSION_CANONICAL}")
-set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-windows-${CMAKE_GENERATOR_PLATFORM}")
+set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-windows-${CMAKE_VS_PLATFORM_NAME}")
 set(CPACK_INCLUDE_TOPLEVEL_DIRECTORY FALSE)
 set(CPACK_GENERATOR ZIP)
 set(CPACK_THREADS 0)

+ 0 - 12
cmake/windows/defaults.cmake

@@ -23,15 +23,3 @@ set(CMAKE_FIND_PACKAGE_TARGETS_GLOBAL TRUE)
 
 include(buildspec)
 include(cpackconfig)
-
-if(CMAKE_GENERATOR_PLATFORM STREQUAL x64)
-  execute_process(
-    COMMAND
-      "${CMAKE_COMMAND}" -S ${CMAKE_CURRENT_SOURCE_DIR} -B ${CMAKE_SOURCE_DIR}/build_x86 -A Win32 -G
-      "${CMAKE_GENERATOR}" -DCMAKE_SYSTEM_VERSION:STRING='${CMAKE_SYSTEM_VERSION}' -DOBS_CMAKE_VERSION:STRING=3.0.0
-      -DVIRTUALCAM_GUID:STRING=${VIRTUALCAM_GUID} -DCMAKE_MESSAGE_LOG_LEVEL=${CMAKE_MESSAGE_LOG_LEVEL}
-      -DENABLE_CCACHE=${ENABLE_CCACHE}
-    RESULT_VARIABLE _process_result
-    COMMAND_ERROR_IS_FATAL ANY
-  )
-endif()

+ 1 - 1
deps/blake2/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 add_library(blake2 OBJECT)
 add_library(OBS::blake2 ALIAS blake2)

+ 1 - 1
deps/glad/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 find_package(OpenGL REQUIRED)
 

+ 1 - 1
deps/json11/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 add_library(json11 OBJECT)
 add_library(OBS::json11 ALIAS json11)

+ 1 - 1
deps/libcaption/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 add_library(caption STATIC EXCLUDE_FROM_ALL)
 add_library(OBS::caption ALIAS caption)

+ 1 - 1
deps/w32-pthreads/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.24...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 add_library(w32-pthreads SHARED EXCLUDE_FROM_ALL)
 add_library(OBS::w32-pthreads ALIAS w32-pthreads)

+ 1 - 1
libobs-d3d11/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.24...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 add_library(libobs-d3d11 MODULE)
 add_library(OBS::libobs-d3d11 ALIAS libobs-d3d11)

+ 1 - 1
libobs-opengl/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 add_library(libobs-opengl SHARED)
 add_library(OBS::libobs-opengl ALIAS libobs-opengl)

+ 1 - 1
libobs-winrt/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.24...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 add_library(libobs-winrt-headers INTERFACE)
 add_library(OBS::winrt-headers ALIAS libobs-winrt-headers)

+ 2 - 2
libobs/CMakeLists.txt

@@ -1,8 +1,8 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 include(cmake/obs-version.cmake)
 
-if(OS_WINDOWS AND NOT OBS_PARENT_ARCHITECTURE STREQUAL CMAKE_GENERATOR_PLATFORM)
+if(OS_WINDOWS AND NOT OBS_PARENT_ARCHITECTURE STREQUAL CMAKE_VS_PLATFORM_NAME)
   include(cmake/os-windows.cmake)
   return()
 endif()

+ 1 - 1
libobs/cmake/os-windows.cmake

@@ -30,7 +30,7 @@ if(NOT TARGET OBS::w32-pthreads)
   add_subdirectory("${CMAKE_SOURCE_DIR}/deps/w32-pthreads" "${CMAKE_BINARY_DIR}/deps/w32-pthreads")
 endif()
 
-if(NOT OBS_PARENT_ARCHITECTURE STREQUAL CMAKE_GENERATOR_PLATFORM)
+if(NOT OBS_PARENT_ARCHITECTURE STREQUAL CMAKE_VS_PLATFORM_NAME)
   return()
 endif()
 

+ 2 - 2
plugins/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 option(ENABLE_PLUGINS "Enable building OBS plugins" ON)
 
@@ -10,7 +10,7 @@ endif()
 set_property(GLOBAL APPEND PROPERTY OBS_FEATURES_ENABLED "Plugin Support")
 
 macro(check_obs_browser)
-  if((OS_WINDOWS AND CMAKE_GENERATOR_PLATFORM MATCHES "(Win32|x64)") OR OS_MACOS OR OS_LINUX)
+  if((OS_WINDOWS AND CMAKE_VS_PLATFORM_NAME MATCHES "(Win32|x64)") OR OS_MACOS OR OS_LINUX)
     if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/obs-browser/CMakeLists.txt")
       message(FATAL_ERROR "Required submodule 'obs-browser' not available.")
     else()

+ 1 - 1
plugins/aja/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 option(ENABLE_AJA "Build OBS with aja support" ON)
 

+ 1 - 1
plugins/coreaudio-encoder/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.24...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 if(OS_WINDOWS)
   option(ENABLE_COREAUDIO_ENCODER "Enable building with CoreAudio encoder (Windows)" ON)

+ 1 - 1
plugins/decklink/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 option(ENABLE_DECKLINK "Build OBS with Decklink support" ON)
 if(NOT ENABLE_DECKLINK)

+ 1 - 1
plugins/image-source/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 add_library(image-source MODULE)
 add_library(OBS::image-source ALIAS image-source)

+ 1 - 1
plugins/linux-alsa/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 option(ENABLE_ALSA "Build OBS with ALSA support" ON)
 

+ 1 - 1
plugins/linux-capture/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 find_package(X11 REQUIRED)
 

+ 1 - 1
plugins/linux-jack/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 option(ENABLE_JACK "Build OBS with JACK support" OFF)
 if(NOT ENABLE_JACK)

+ 1 - 1
plugins/linux-pipewire/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 option(ENABLE_PIPEWIRE "Enable PipeWire support" ON)
 if(NOT ENABLE_PIPEWIRE)

+ 1 - 1
plugins/linux-pulseaudio/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 if(NOT ENABLE_PULSEAUDIO)
   target_disable(linux-pulseaudio)

+ 1 - 1
plugins/linux-v4l2/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 option(ENABLE_V4L2 "Build OBS with v4l2 support" ON)
 option(ENABLE_UDEV "Build linux-v4l2 with UDEV support" ON)

+ 1 - 1
plugins/mac-avcapture/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.24...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 add_library(mac-avcapture-legacy MODULE)
 add_library(OBS::avcapture-legacy ALIAS mac-avcapture-legacy)

+ 1 - 1
plugins/mac-avcapture/legacy/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.24...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 add_library(mac-avcapture MODULE)
 add_library(OBS::avcapture ALIAS mac-avcapture)

+ 1 - 1
plugins/mac-capture/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.24...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 add_library(mac-capture MODULE)
 add_library(OBS::capture ALIAS mac-capture)

+ 1 - 1
plugins/mac-syphon/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.24...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 option(ENABLE_SYPHON "Enable Syphon sharing support" ON)
 if(NOT ENABLE_SYPHON)

+ 1 - 1
plugins/mac-videotoolbox/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.24...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 add_library(mac-videotoolbox MODULE)
 add_library(OBS::mac-videotoolbox ALIAS mac-videotoolbox)

+ 1 - 1
plugins/mac-virtualcam/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.24...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 option(ENABLE_VIRTUALCAM "Build OBS Virtualcam" ON)
 

+ 2 - 0
plugins/mac-virtualcam/src/camera-extension/CMakeLists.txt

@@ -1,3 +1,5 @@
+cmake_minimum_required(VERSION 3.28...3.30)
+
 foreach(_uuid IN ITEMS VIRTUALCAM_DEVICE_UUID VIRTUALCAM_SOURCE_UUID VIRTUALCAM_SINK_UUID)
   set(VALID_UUID FALSE)
   if(NOT ${_uuid})

+ 1 - 1
plugins/mac-virtualcam/src/dal-plugin/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.24...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 add_library(obs-dal-plugin MODULE)
 add_library(OBS::dal-plugin ALIAS obs-dal-plugin)

+ 1 - 1
plugins/mac-virtualcam/src/obs-plugin/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.24...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 add_library(mac-virtualcam MODULE)
 add_library(OBS::virtualcam ALIAS mac-virtualcam)

+ 1 - 1
plugins/nv-filters/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 if(OS_WINDOWS)
   add_library(nv-filters MODULE)
   add_library(OBS::nv-filters ALIAS nv-filters)

+ 1 - 1
plugins/obs-ffmpeg/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 option(ENABLE_FFMPEG_LOGGING "Enables obs-ffmpeg logging" OFF)
 option(ENABLE_NEW_MPEGTS_OUTPUT "Use native SRT/RIST mpegts output" ON)

+ 1 - 1
plugins/obs-ffmpeg/ffmpeg-mux/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 option(ENABLE_FFMPEG_MUX_DEBUG "Enable FFmpeg-mux debugging" OFF)
 

+ 1 - 1
plugins/obs-ffmpeg/obs-amf-test/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.24...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 find_package(AMF 1.4.29 REQUIRED)
 

+ 1 - 1
plugins/obs-filters/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 add_library(obs-filters MODULE)
 add_library(OBS::filters ALIAS obs-filters)

+ 1 - 1
plugins/obs-libfdk/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 option(ENABLE_LIBFDK "Enable FDK AAC support" OFF)
 if(NOT ENABLE_LIBFDK)

+ 1 - 1
plugins/obs-nvenc/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 option(ENABLE_NVENC "Build NVIDIA Hardware Encoder Plugin" ON)
 option(ENABLE_NVENC_FFMPEG_IDS "Register FFmpeg encoder IDs" ON)

+ 1 - 1
plugins/obs-nvenc/obs-nvenc-test/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.24...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 find_package(FFnvcodec 12 REQUIRED)
 

+ 1 - 1
plugins/obs-outputs/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 find_package(MbedTLS REQUIRED)
 find_package(ZLIB REQUIRED)

+ 1 - 1
plugins/obs-qsv11/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 option(ENABLE_QSV11 "Build Intel QSV11 Hardware Encoder." TRUE)
 if(NOT ENABLE_QSV11)

+ 1 - 1
plugins/obs-qsv11/obs-qsv-test/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.24...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 add_executable(obs-qsv-test)
 

+ 1 - 1
plugins/obs-text/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.24...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 add_library(obs-text MODULE)
 add_library(OBS::text ALIAS obs-text)

+ 1 - 1
plugins/obs-transitions/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 add_library(obs-transitions MODULE)
 add_library(OBS::transition ALIAS obs-transitions)

+ 1 - 1
plugins/obs-vst/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 option(ENABLE_VST "Enable building OBS with VST plugin" ON)
 

+ 1 - 1
plugins/obs-webrtc/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 option(ENABLE_WEBRTC "Enable WebRTC Output support" ON)
 if(NOT ENABLE_WEBRTC)

+ 1 - 1
plugins/obs-x264/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 find_package(Libx264 REQUIRED)
 

+ 1 - 1
plugins/oss-audio/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 option(ENABLE_OSS "Enable building with OSS audio support" ON)
 

+ 1 - 1
plugins/rtmp-services/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 option(ENABLE_SERVICE_UPDATES "Checks for service updates" ON)
 

+ 1 - 1
plugins/sndio/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 option(ENABLE_SNDIO "Build OBS with sndio support" OFF)
 if(NOT ENABLE_SNDIO)

+ 1 - 1
plugins/text-freetype2/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 option(ENABLE_FREETYPE "Enable FreeType text plugin" ON)
 

+ 1 - 1
plugins/vlc-video/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 macro(check_vlc_path)
   find_package(PkgConfig QUIET)

+ 1 - 1
plugins/win-capture/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.24...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 if(NOT TARGET OBS::obfuscate)
   add_subdirectory("${CMAKE_SOURCE_DIR}/libobs" "${CMAKE_BINARY_DIR}/libobs")

+ 4 - 4
plugins/win-capture/get-graphics-offsets/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.24...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 if(NOT TARGET OBS::d3d8-api)
   add_subdirectory("${CMAKE_SOURCE_DIR}/shared/obs-d3d8-api" obs-d3d8-api)
@@ -19,8 +19,8 @@ target_link_libraries(
   PRIVATE OBS::hook-config OBS::d3d8-api d3d9.lib dxgi.lib d3d11.lib
 )
 
-if(OBS_PARENT_ARCHITECTURE STREQUAL CMAKE_GENERATOR_PLATFORM)
-  if(CMAKE_GENERATOR_PLATFORM STREQUAL x64)
+if(OBS_PARENT_ARCHITECTURE STREQUAL CMAKE_VS_PLATFORM_NAME)
+  if(CMAKE_VS_PLATFORM_NAME STREQUAL x64)
     add_custom_command(
       TARGET get-graphics-offsets
       POST_BUILD
@@ -32,7 +32,7 @@ if(OBS_PARENT_ARCHITECTURE STREQUAL CMAKE_GENERATOR_PLATFORM)
   add_dependencies(win-capture get-graphics-offsets)
 endif()
 
-if(CMAKE_GENERATOR_PLATFORM STREQUAL x64)
+if(CMAKE_VS_PLATFORM_NAME STREQUAL x64)
   set(_OUTPUT_NAME get-graphics-offsets64)
 else()
   set(_OUTPUT_NAME get-graphics-offsets32)

+ 4 - 4
plugins/win-capture/graphics-hook/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.24...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 find_package(Detours REQUIRED)
 find_package(Vulkan REQUIRED)
@@ -54,8 +54,8 @@ if(TARGET Vulkan::Vulkan)
   target_compile_definitions(graphics-hook PRIVATE COMPILE_VULKAN_HOOK)
 endif()
 
-if(OBS_PARENT_ARCHITECTURE STREQUAL CMAKE_GENERATOR_PLATFORM)
-  if(CMAKE_GENERATOR_PLATFORM STREQUAL x64)
+if(OBS_PARENT_ARCHITECTURE STREQUAL CMAKE_VS_PLATFORM_NAME)
+  if(CMAKE_VS_PLATFORM_NAME STREQUAL x64)
     add_custom_command(
       TARGET graphics-hook
       POST_BUILD
@@ -67,7 +67,7 @@ if(OBS_PARENT_ARCHITECTURE STREQUAL CMAKE_GENERATOR_PLATFORM)
   add_dependencies(win-capture graphics-hook)
 endif()
 
-if(CMAKE_GENERATOR_PLATFORM STREQUAL x64)
+if(CMAKE_VS_PLATFORM_NAME STREQUAL x64)
   set(_OUTPUT_NAME graphics-hook64)
 else()
   set(_OUTPUT_NAME graphics-hook32)

+ 4 - 4
plugins/win-capture/inject-helper/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.24...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 if(NOT TARGET OBS::obfuscate)
   add_subdirectory("${CMAKE_SOURCE_DIR}/libobs" "${CMAKE_BINARY_DIR}/libobs")
@@ -14,8 +14,8 @@ target_sources(inject-helper PRIVATE inject-helper.c)
 
 target_link_libraries(inject-helper PRIVATE OBS::inject-library OBS::obfuscate)
 
-if(OBS_PARENT_ARCHITECTURE STREQUAL CMAKE_GENERATOR_PLATFORM)
-  if(CMAKE_GENERATOR_PLATFORM STREQUAL x64)
+if(OBS_PARENT_ARCHITECTURE STREQUAL CMAKE_VS_PLATFORM_NAME)
+  if(CMAKE_VS_PLATFORM_NAME STREQUAL x64)
     add_custom_command(
       TARGET inject-helper
       POST_BUILD
@@ -27,7 +27,7 @@ if(OBS_PARENT_ARCHITECTURE STREQUAL CMAKE_GENERATOR_PLATFORM)
   add_dependencies(win-capture inject-helper)
 endif()
 
-if(CMAKE_GENERATOR_PLATFORM STREQUAL x64)
+if(CMAKE_VS_PLATFORM_NAME STREQUAL x64)
   set(_OUTPUT_NAME inject-helper64)
 else()
   set(_OUTPUT_NAME inject-helper32)

+ 1 - 1
plugins/win-dshow/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.24...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 find_package(FFmpeg REQUIRED avcodec avutil)
 

+ 4 - 4
plugins/win-dshow/virtualcam-module/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.24...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 option(ENABLE_VIRTUALCAM "Enable Windows Virtual Camera" ON)
 if(NOT ENABLE_VIRTUALCAM)
@@ -104,8 +104,8 @@ target_link_libraries(
     winmm
 )
 
-if(OBS_PARENT_ARCHITECTURE STREQUAL CMAKE_GENERATOR_PLATFORM)
-  if(CMAKE_GENERATOR_PLATFORM STREQUAL x64)
+if(OBS_PARENT_ARCHITECTURE STREQUAL CMAKE_VS_PLATFORM_NAME)
+  if(CMAKE_VS_PLATFORM_NAME STREQUAL x64)
     add_custom_command(
       TARGET obs-virtualcam-module
       POST_BUILD
@@ -117,7 +117,7 @@ if(OBS_PARENT_ARCHITECTURE STREQUAL CMAKE_GENERATOR_PLATFORM)
   add_dependencies(win-dshow obs-virtualcam-module)
 endif()
 
-if(CMAKE_GENERATOR_PLATFORM STREQUAL x64)
+if(CMAKE_VS_PLATFORM_NAME STREQUAL x64)
   set(_OUTPUT_NAME virtualcam-module64)
 else()
   set(_OUTPUT_NAME virtualcam-module32)

+ 1 - 1
plugins/win-wasapi/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.24...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 add_library(win-wasapi MODULE)
 add_library(OBS::wasapi ALIAS win-wasapi)

+ 1 - 1
shared/bpm/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 add_library(bpm OBJECT)
 add_library(OBS::bpm ALIAS bpm)

+ 1 - 1
shared/file-updater/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 find_package(CURL REQUIRED)
 

+ 1 - 1
shared/happy-eyeballs/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 add_library(happy-eyeballs OBJECT)
 add_library(OBS::happy-eyeballs ALIAS happy-eyeballs)

+ 1 - 1
shared/ipc-util/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.24...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 add_library(ipc-util INTERFACE)
 add_library(OBS::ipc-util ALIAS ipc-util)

+ 1 - 1
shared/media-playback/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 find_package(FFmpeg REQUIRED avcodec avdevice avutil avformat)
 

+ 1 - 1
shared/obs-d3d8-api/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 add_library(d3d8-api INTERFACE)
 add_library(OBS::d3d8-api ALIAS d3d8-api)

+ 1 - 1
shared/obs-hook-config/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 add_library(hook-config INTERFACE)
 add_library(OBS::hook-config ALIAS hook-config)

+ 1 - 1
shared/obs-inject-library/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 if(NOT TARGET OBS::obfuscate)
   add_subdirectory("${CMAKE_SOURCE_DIR}/libobs" "${CMAKE_BINARY_DIR}/libobs")

+ 1 - 1
shared/obs-scripting/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 if(NOT ENABLE_SCRIPTING)
   target_disable_feature(obs-scripting "Scripting support")

+ 0 - 2
shared/obs-scripting/cmake/lua.cmake

@@ -1,5 +1,3 @@
-cmake_minimum_required(VERSION 3.22...3.25)
-
 option(ENABLE_SCRIPTING_LUA "Enable Lua scripting support" ON)
 
 if(ENABLE_SCRIPTING_LUA)

+ 0 - 2
shared/obs-scripting/cmake/python.cmake

@@ -1,5 +1,3 @@
-cmake_minimum_required(VERSION 3.22...3.25)
-
 option(ENABLE_SCRIPTING_PYTHON "Enable Python scripting support" ON)
 
 if(ENABLE_SCRIPTING_PYTHON)

+ 1 - 1
shared/obs-scripting/obslua/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 if(POLICY CMP0078)
   cmake_policy(SET CMP0078 NEW)

+ 1 - 1
shared/obs-scripting/obspython/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 if(POLICY CMP0078)
   cmake_policy(SET CMP0078 NEW)

+ 1 - 1
shared/obs-shared-memory-queue/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 if(NOT TARGET OBS::tiny-nv12-scale)
   add_subdirectory("${CMAKE_SOURCE_DIR}/shared/obs-tiny-nv12-scale" obs-tiny-nv12-scale)

+ 1 - 1
shared/obs-tiny-nv12-scale/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 add_library(obs-tiny-nv12-scale INTERFACE)
 add_library(OBS::tiny-nv12-scale ALIAS obs-tiny-nv12-scale)

+ 1 - 1
shared/opts-parser/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 add_library(opts-parser OBJECT)
 add_library(OBS::opts-parser ALIAS opts-parser)

+ 1 - 1
shared/properties-view/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 find_package(Qt6 REQUIRED Core Widgets)
 

+ 1 - 1
shared/qt/icon-label/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 find_package(Qt6 REQUIRED Core Widgets)
 

+ 1 - 1
shared/qt/plain-text-edit/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 find_package(Qt6 REQUIRED Core Widgets)
 

+ 1 - 1
shared/qt/slider-ignorewheel/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 find_package(Qt6 REQUIRED Core Widgets)
 

+ 1 - 1
shared/qt/vertical-scroll-area/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 find_package(Qt6 REQUIRED Core Widgets)
 

+ 1 - 1
shared/qt/wrappers/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 find_package(Qt6 REQUIRED Core Widgets)
 

+ 1 - 1
test/test-input/CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.28...3.30)
 
 option(ENABLE_TEST_INPUT "Build test sources" OFF)