Commit Graph

24 Commits

Author SHA1 Message Date
PatTheMav
3e7fbf69a7 cmake: Update buildspec system to use preset file
Updates code for dependency management to use "vendor" information from
the CMake preset file.
2026-01-12 11:18:05 -05:00
PatTheMav
4625dda66d cmake: Apply gersemi 0.25 formatting 2026-01-09 15:47:12 -05:00
PatTheMav
2413ad16d2 cmake: Add detection of cross compiled Qt dependencies for Windows 2025-08-28 15:38:55 -04:00
PatTheMav
07176822ad cmake: Enable interprocedural optimization for Release configuration
The built-in CMake variable will set the appropriate compiler flags
for supported compilers and compiler versions.
2025-08-22 15:12:55 -04:00
Ryan Foster
f590a35bf7 cmake: Fix some Qt DLLs not being copied due to filename patterns
Qt has some Release DLLs that end with the letter d:
* qdirect2d.dll
* qcertonlybackend.dll
* qopensslbackend.dll
* qschannelbackend.dll

As a result, they get caught by our simple check for if a DLL is a Debug
DLL which just checks if the DLL ends with the letter d.

Extend that check to exclude these specific DLLs from being marked as
Debug DLLs.
2025-03-14 11:47:54 -04:00
PatTheMav
df97bddd87 cmake: Update cross-platform build project management for Windows
Enables creation of x64 and x86 child projects when building on ARM64
and decouples functionality from legacy_check function
2025-03-12 16:33:00 -04:00
Matt Gajownik
0bcf881ae9 cmake: Don't copy legacy, unused Chromium file
While CEF continues to ship & read this up to and including in CEF 6834,
it hasn't actually been used since Chromium 66, so we can safely remove
it without causing regressions in 5060 or 6533.

719f423e70
2025-02-28 18:38:31 -05:00
Ryan Foster
e471d3109b cmake: Specify NOMINMAX all the time on Windows
This prevents the Windows headers from defining min/max macros.

Use std::min and std::max.

Modifies deps, frontend, libobs-d3d11, libobs-winrt, decklink, obs-vst,
and win-dshow.
2025-02-07 14:52:24 -05:00
PatTheMav
7db4a75913 cmake: Update main CMakeLists file to use refactored frontend 2025-01-08 17:33:13 +01:00
PatTheMav
6c590805e8 cmake: Update supported CMake version range to 3.28 and 3.30 2024-09-13 14:42:32 -04:00
tytan652
31385006d5 Remove legacy_check CMake macro
The macro was not removed in 72428ccd97
waiting for submodules to be be updated to a commit where their legacy
code path is removed.
2024-09-11 13:24:39 -04:00
PatTheMav
d81fcd70e0 cmake: Update cross-platform build project management for Windows
Enables creation of x64 and x86 child projects when building on ARM64
and decouples functionality from legacy_check function
2024-08-20 16:00:21 -04:00
PatTheMav
b8cfacaec3 Update formatting of CMake files 2024-08-14 12:07:47 -04:00
Ryan Foster
649c62cfac cmake: Remove more Qt 5 code
Qt Gui virtualkeyboard plugin was removed in Qt 6.x.
Qt Network Bearer Management was removed in Qt 6.0.
Qt Multimedia mediaservice and audio plugins were removed in Qt 6.x.
2024-04-30 12:02:26 -04:00
tytan652
7c2b39436b cmake: Skip PDB install for interface target 2024-01-28 11:00:01 +11:00
PatTheMav
eae4673071 cmake: Update CMake formatting with manual format choices 2023-12-19 17:59:44 -05:00
derrod
40e4f789c8 cmake: Enable /GL and /LTCG for non-Debug configurations 2023-11-17 11:04:33 -05:00
PatTheMav
e075e7057c cmake: Force PDB generation on Windows for MSVC builds in all configs
CMake 3.25 changed the way PDB generation is handled by only enabling
it for Debug and RelWithDebInfo builds, which prohibits generation of
fully optimized builds with associated symbols (which is MSVC's
default).

If configuring with CMake 3.25 or above, enable this globally for builds
using MSVC and fall back to embedded debug information for anything else
(which would probably be clang-cl).
2023-11-11 17:17:20 -06:00
derrod
edf2c8210c cmake,plugins,build-aux: Remove enc-amf 2023-07-22 18:06:26 -07:00
PatTheMav
c23bd7e05e cmake: Fix missing libobs subdirectories in MSVC code navigator 2023-07-17 10:36:50 -04:00
derrod
8d33da1fab cmake: Disable char8_t when using C++20 2023-07-05 09:39:41 -07:00
PatTheMav
61bed7a828 cmake: Fix copy to rundir in Release and MinSizeRel configurations
Generated post build action batch scripts retained an empty token to
the copy command with the used generator expression (as PDBs are only
generated for Debug and RelWithDebInfo configurations).

Moving their copy step into its own command (and using the `true`
CMake command, which is a no-op) ensures that builds in Release and
MinSizeRel correctly finish this step.
2023-07-02 14:48:25 +02:00
PatTheMav
1660e2536f cmake: Add flags for reproducible builds on Windows
Compiler and linker flags for reproducible builds on Windows were
omitted from the recent CMake rework in error. This commit adds those
flags back.
2023-06-30 16:16:17 -04:00
PatTheMav
850976eba9 cmake: Add Windows component to CMake build framework 3.0 2023-06-29 10:11:32 -04:00