Commit graph

19 commits

Author SHA1 Message Date
OatmealDome d340cad6bb BuildMacOSUniversalBinary: Add support for setting the distributor 2023-03-14 15:10:39 -04:00
Shawn Hoffman c74f65426a update min macos version to 10.15 2022-12-22 11:15:12 -08:00
OatmealDome 42ea36643a BuildMacOSUniversalBinary: Add flag to disable the auto updater 2022-09-22 22:27:25 -04:00
OatmealDome 09f326dc7d BuildMacOSUniversalBinary: Add flag to create a Steam build 2022-09-14 01:48:46 -04:00
OatmealDome db8bd8a726 BuildMacOSUniversalBinary: Bump minimum macOS to 10.14 2022-06-01 22:46:12 -04:00
OatmealDome 8b1be98a96 BuildMacOSUniversalBinary: Place the Qt path on CMAKE_PREFIX_PATH 2022-05-12 23:04:33 -04:00
spycrab 004e8a80b2 Add support for building against Qt 6 2022-05-02 22:39:33 -07:00
Pokechu22 9994363aa8 Apple M1: Fix "Building and running unit tests" message
For {arch} to be converted, the string needs to be an f-string.
2022-04-14 15:34:52 -07:00
OatmealDome e5a80995dc Bump minimum macOS to 10.13 High Sierra 2021-08-17 16:27:22 -04:00
Skyler Saleh 1203c23781 Apple M1: Support for unit testing universal builds 2021-06-19 11:00:24 -07:00
Skyler Saleh 210f6e7f0d Apple M1: Update AutoUpdate PlatformID
Adds a new PlatformID for universal builds. This will allow single architecture
builds to be updated through the single architecture path, and universal builds
to be updated with universal builds.
2021-05-23 21:45:27 -07:00
Skyler Saleh abea411bdc Apple M1: Detect incompatible universal merges
Adds a step to detect when the Intel and arm64 build trees cannot be merged
safely. This can occur when each side has files/folders that are named the same
but are of different types or symlinks that are the same name but need to point
to different locations for each architecture.

Before this change, this would just fail silently.
2021-05-22 15:37:47 -07:00
Skyler Saleh 76130d8b3b Apple M1: Fix code signing regression
This commit fixes a regression in 2ba88d5c131636158fe0216b0b1f9787dcc90bdf that
would cause an app bundle to not be resigned after merging the two single
architecture builds.

Also, applies formatting suggestions from Leo Lam
2021-05-22 15:25:18 -07:00
Skyler Saleh 1015cdc265 Apple M1: Improved handling of paths
Incorporated changes suggested by Kode54 to use the CMake prefix path, instead
of relying on pkg-config directory paths.

Added the prefix paths from the other architectures build to the CMake ignore
path so that CMake doesn't pick up libraries from the wrong architecture if
they are in the user's search path.
2021-05-22 15:25:18 -07:00
Skyler Saleh b72c47f442 Apple M1: Enable CMake cross compilation
Modify the build script to use CMake's cross compilation infrastructure instead
of running CMake natively in x86_64 and arm64 mode to configure the two project
files. This should fix the builds with CMake executables installed through
homebrew and should pave the way for building universal binaries on x86_64
systems.
2021-05-22 15:25:18 -07:00
Skyler Saleh 9163312779 Apple M1: Support non-Xcode based universal builds
This change adds the -G and --build_type arguments to the
BuildMacOSUniversalBinaray.py build script to allow the CMake generator and
build type to be specified for universal binary builds.

The defaults are:
-G "Unix Makefiles"
--build_type "Release"
2021-05-22 15:25:18 -07:00
Skyler Saleh 0851693cbe Apple M1: More robust build for universal binaries
- Fixed a typo in the Readme.md
- Made the recursiveMergeBinaries function handle divergent binary file trees
  better.
2021-05-22 15:25:18 -07:00
Skyler Saleh 8cb86e7ae0 Apple M1: Enable hardened runtime
- Fixed error that was causing the hardened runtime from being enabled
- Refactored BuildMacOSUniversalBinary.py based on code style recommendations
2021-05-22 15:25:18 -07:00
Skyler Saleh 948764d37b Apple M1: Build, Analytics, and Memory Management
Analytics:
- Incorporated fix to allow the full set of analytics that was recommended by
  spotlightishere

BuildMacOSUniversalBinary:
- The x86_64 slice for a universal binary is now built for 10.12
- The universal binary build script now can be configured though command line
  options instead of modifying the script itself.
- os.system calls were replaced with equivalent subprocess calls
- Formatting was reworked to be more PEP 8 compliant
- The script was refactored to make it more modular
- The com.apple.security.cs.disable-library-validation entitlement was removed

Memory Management:
- Changed the JITPageWrite*Execute*() functions to incorporate support for
  nesting

Other:
- Fixed several small lint errors
- Fixed doc and formatting mistakes
- Several small refactors to make things clearer
2021-05-22 15:25:17 -07:00