Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add First-Class Windows ARM64 support to OBS-Studio Build System #11846

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

PatTheMav
Copy link
Member

Description

This PR adds first-class support for Windows ARM64 builds to the OBS-Studio build system:

ARM64 becomes a valid and supported build configuration as long as the corresponding Visual Studio 17 toolchain is installed in the system.

Important

This PR mainly adds the necessary changes to enable a native ARM64 build system to be created by CMake and successfully compiling it. No functional changes are provided, even though they will be necessary as the code base currently does not differentiate between Intel-based and ARM-based CPUs but only between "64-bit" and "32-bit".

With this change it should be easier and more convenient to add the necessary changes for ARM64-based systems as Visual Studio allows compiling for ARM64 even on x64-based machines.

Motivation and Context

Windows-oriented devices built upon ARM64 become more mainstream, and as such OBS Studio should be available as a native application for users of these devices (just like a native version is provided for Apple Silicon-base Macs).

How Has This Been Tested?

Project configured and successfully compiled on Windows ARM64 virtual machines running on Apple Silicon-based machines.

Types of changes

  • New feature (non-breaking change which adds functionality)

Checklist:

  • My code has been run through clang-format.
  • I have read the contributing document.
  • My code is not on the master branch.
  • The code has been tested.
  • All commit messages are properly formatted and commits squashed where appropriate.
  • I have included updates to all appropriate documentation.

@PatTheMav PatTheMav added Seeking Testers Build artifacts on CI Windows Affects Windows labels Feb 8, 2025
@PatTheMav PatTheMav force-pushed the windows-arm64 branch 3 times, most recently from 4956ec7 to a9b111f Compare February 8, 2025 18:48
@RytoEX RytoEX self-assigned this Feb 10, 2025
Enables creation of x64 and x86 child projects when building on ARM64
and decouples functionality from legacy_check function
On non-x86 platforms the sse-intrin header will set this define, thus
leading to redefinition errors on those platforms.
@PatTheMav
Copy link
Member Author

Added automatic discovery of x64 Qt6 dependencies as "host tools" for ARM64 Qt6. The path can still be set manually via cmake command invocation, but otherwise it will be generated with the version set in the build spec file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Seeking Testers Build artifacts on CI Windows Affects Windows
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants