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

deps.windows: Update dependencies for CMake 3.0 upgrade #174

Merged
merged 5 commits into from
Jun 21, 2023

Conversation

PatTheMav
Copy link
Member

Description

  • Disables x86 builds for all dependencies not required by x86-only modules.
  • Moves luajit and Swig files into their canonical locations expected by default CMake find rules.
  • Uses VSSetup PowerShell module to find Visual Studio installations in a more portable manner (also supports ARM64 Windows hosts)
  • Creates obs-deps VERSION file in Windows packages

Motivation and Context

  • Enables compatibility with CMake 3.0 upgrade for Windows
  • Removes complexity for CMake finders in said upgrade (canonical paths are used)
  • Enables use of a single x64 project for Windows

How Has This Been Tested?

Tested builds on Windows 11

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • Code cleanup (non-breaking change which makes code smaller or more readable)

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 force-pushed the windows-3.0-update branch from 59711c7 to 696c18d Compare April 1, 2023 14:27
@PatTheMav PatTheMav force-pushed the windows-3.0-update branch 2 times, most recently from 08b828d to 968b397 Compare April 13, 2023 17:58
@tytan652 tytan652 mentioned this pull request Apr 21, 2023
6 tasks
@RytoEX RytoEX self-assigned this May 14, 2023
utils.pwsh/Setup-Target.ps1 Outdated Show resolved Hide resolved
utils.pwsh/Setup-Target.ps1 Outdated Show resolved Hide resolved
utils.pwsh/Setup-Target.ps1 Outdated Show resolved Hide resolved
@PatTheMav PatTheMav force-pushed the windows-3.0-update branch 2 times, most recently from c998382 to a8ee9b5 Compare May 25, 2023 00:40
deps.windows/50-swig.ps1 Outdated Show resolved Hide resolved
Copy link
Member

@RytoEX RytoEX left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems generally okay to me at a glance. Will test locally once my dev environment is working again. May merge a couple of other PRs first, but will try to keep it minimal.

utils.pwsh/Setup-Target.ps1 Outdated Show resolved Hide resolved
@PatTheMav
Copy link
Member Author

Updated this and the other PRs to follow a single dependency trail:

  1. deps.qt: Remove Qt5 and update Qt6 build scripts #188
  2. deps.windows: Update dependencies for CMake 3.0 upgrade #174
  3. Add creation of macOS dSYM debug symbols to symbolicate release builds #183
  4. deps.ffmpeg: Switch Windows builds to native build toolchain #186

Following this order will update each part of obs-deps one by one, such as that almost all parts of it are updated in some way at the end of the process.

@PatTheMav PatTheMav force-pushed the windows-3.0-update branch from d12521e to 147b68b Compare June 10, 2023 08:43
@PatTheMav PatTheMav force-pushed the windows-3.0-update branch from 147b68b to c012416 Compare June 14, 2023 13:27
@PatTheMav PatTheMav force-pushed the windows-3.0-update branch 8 times, most recently from 3074ba4 to 33f7dac Compare June 17, 2023 13:11
Copy link
Member

@RytoEX RytoEX left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A quick visual look over the files before I dig back into testing.

deps.windows/60-python.ps1 Show resolved Hide resolved
utils.pwsh/Setup-Target.ps1 Show resolved Hide resolved
utils.pwsh/Setup-Target.ps1 Outdated Show resolved Hide resolved
deps.windows/60-python.ps1 Show resolved Hide resolved
Build-Dependencies.ps1 Show resolved Hide resolved
.github/workflows/main.yaml Show resolved Hide resolved
* Adds typing to CMake variables
* Fixes LuaJIT placing import library in wrong directory
* Fixes Swig placing its binary and support files in wrong directory
* Switches PowerShell variable scopes to lowercase
This confuses CMake's ZLIB finder, making it prefer the mingw variants
of ZLIB over the generated windows variant.
* Fixes erroneous `continue` call to skip anonymous script blocks
* Add version file to generated obs-deps output package
@PatTheMav PatTheMav force-pushed the windows-3.0-update branch from 33f7dac to d92393d Compare June 21, 2023 18:57
Copy link
Member

@RytoEX RytoEX left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested against obs-studio git and the OBS Studio Windows CMake 3 PR. Successfully built and ran OBS in both cases with my test scene collection, so this should be good to go.

@RytoEX RytoEX merged commit 3e4f885 into obsproject:master Jun 21, 2023
@PatTheMav PatTheMav deleted the windows-3.0-update branch June 21, 2023 22:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants