obsproject / obs-plugintemplate

GNU General Public License v2.0
285 stars 133 forks source link

Wrong CMake minimum required version. #123

Open ipatix opened 4 months ago

ipatix commented 4 months ago

Operating System Info

Windows 10

Other OS

No response

OBS Studio Version

30.1.2

OBS Studio Version (Other)

No response

OBS Studio Log URL

example.org

OBS Studio Crash Log URL

No response

Expected Behavior

Build-Windows.ps1 runs successfully when installed CMake version is older than 3.24.

Current Behavior

Build-Windows.ps1 raises an error when installed CMake version is older than 3.24.

Steps to Reproduce

  1. Install CMake 3.23
  2. Run .github/scripts/Build-Windows-ps1 -Configuration Release -Target x64

Anything else we should know?

The error is caused because CMake versions older than 3.24, which do not support --fresh. It is raised here:

https://github.com/obsproject/obs-plugintemplate/blob/a1289fdef404b08a7acbbf0d6d0f93da4c9fc087/cmake/common/buildspec_common.cmake#L78

It would be less confusing if the minimum required version is raised to 3.24 here:

https://github.com/obsproject/obs-plugintemplate/blob/a1289fdef404b08a7acbbf0d6d0f93da4c9fc087/CMakeLists.txt#L1

An alternative is obviously to remove the usage of --fresh.

PatTheMav commented 3 weeks ago

We cannot increase the minimum required version to anything above 3.22 because at the low end we still support Ubuntu 22.04 which can only provide CMake 3.22.

But we can add a version guard before adding the --fresh argument to the OBS sub-project build.