Commit Graph

17 Commits

Author SHA1 Message Date
PatTheMav
cc387d7b66 cmake: Use dependency hashes to track revisions
Store and read dependency hashes to determine if a dependency needs to
have its extracted copy replaced (e.g., a dependency that had its
revision changed but not its version changed).
2023-10-09 16:49:29 -04:00
derrod
e11ffeccb0 cmake/libobs: Only set beta/rc increment 2023-10-06 17:21:51 -06:00
PatTheMav
b3949e6aef cmake: Update qrcodegen finder to match target names of CMake package
qrcodegen is built on obs-deps for macOS and Windows, with the
generated CMake package calling the dependency qrcodegen (not
libqrcoden) and associated target qrcodegen::qrcodegen.

This change updates the finder (required for Linux) to create the same
targets so consumers do not need to differentiate between different
variations of the same dependency on Linux.

Also updates obs-websocket to 5.3.1 to bring in associated CMake
changes.
2023-09-27 18:05:02 -04:00
PatTheMav
00d6f0b26e cmake: Fix regular expression for beta and RC version detection 2023-09-10 10:12:13 +10:00
derrod
4c51c99d28 cmake: Parse beta/rc version from override/git describe 2023-08-19 17:12:50 +02:00
gxalpha
9d611a064f cmake: Remove Qt version selection and Qt 5 support 2023-07-19 11:56:54 -04:00
derrod
8d33da1fab cmake: Disable char8_t when using C++20 2023-07-05 09:39:41 -07:00
PatTheMav
850976eba9 cmake: Add Windows component to CMake build framework 3.0 2023-06-29 10:11:32 -04:00
PatTheMav
eb3d9963a0 cmake: Update macOS compiler configuration
Compiler extensions are disabled before the first `project` call to
force CMake into considering compilers to not support GNU extensions
(even though clang and gcc do).

Also sets common clang compiler options so they can be used across all
supported platforms.

`openmp-simd` support is enabled by default as there is no performance
penalty on x86_64 systems and intrinsics are enabled on arm64.

Also implements CMake's `CMAKE_COMPILE_WARNING_AS_ERROR` flag to
enable the desired behavior and configuration time.
2023-06-17 12:23:33 -04:00
PatTheMav
e2e3c9e102 cmake: Fix CMake policy scopes and add include guards
Include guards ensure that bootstrap includes happen only once for the
entire project. Moving all policy changes into an included file without
its own policy scope ensures that the policy is applied to the project.
2023-06-17 12:23:33 -04:00
PatTheMav
887b537d56 cmake: Update buildspec and presets for macOS 2023-06-17 12:23:33 -04:00
Lain
106c7aa61f Update copyrights/names 2023-05-20 01:31:18 -07:00
PatTheMav
df4c8d21ad cmake: Remove generated libobs export header from install interface 2023-04-12 17:17:00 +00:00
PatTheMav
3bfaf6661b cmake: Fix parsing of OBS_VERSION_OVERRIDE cache variable 2023-04-07 21:11:37 +02:00
derrod
8a2305fd9a cmake: Fix parsing BETA version cache variable 2023-04-07 20:59:30 +02:00
gxalpha
712a6c3b33 cmake: Ignore all Qt darwin permission plugins 2023-03-27 16:08:22 -04:00
PatTheMav
ae6e9c875b cmake: Add OBS CMake build framework 3.0
OBS CMake build framework 3.0 is a minor overhaul of version 2.0. Due
to close proximity of the 2.0 rework, the amount of actual changes to
project files are minimal and mostly concern application generation.

This commit contains the bootstrap elements only and requires
OS-specific implementations to be functional.
2023-03-26 18:20:38 -04:00