Commit Graph

58 Commits

Author SHA1 Message Date
Rayyan Ansari cac1ec8fbd Fix macOS runner cleanup 2022-08-31 17:53:09 +01:00
Rayyan Ansari d1dbb1f51e Add self-hosted macOS ARM64 Universal Binary runner
Adds a workflow file for building a universal binary with a self hosted runner.
Also adds a Python script to assist with creating the universal binary
2022-08-31 17:50:03 +01:00
Nadia Holmquist Pedersen 94b33c924e
Modernize CMake build system (#1434)
These changes modernize the CMake build system to (hopefully) match newer best practices

* Library linking is simpler and more automatic because of using imported targets
* Multi-configuration builds should be supported (Ninja Multi-Config, Visual Studio, etc. generators)
* Clean up build options using cmake_dependent_option
* Let CMake do its job in more cases, like finding the math/dl libraries and detecting and enabling LTO support
* Remove platform-specific kludges like the Fedora/flatpak LTO workaround and a bunch of Windows stuff
* Simplify Windows static builds
* Consistent formatting
2022-05-21 19:54:55 +02:00
Nadia Holmquist Pedersen 3d24057155
CI: Fix Ubuntu aarch64 build again
* Use a clean Ubuntu Docker container to hopefully have a more stable environment
* Remove old workarounds
2021-12-28 18:26:52 +01:00
Nadia Holmquist Pedersen 08a19d930c CI: macOS 10.14 is no longer supported, use 10.15 2021-12-28 15:20:50 +01:00
Nadia Holmquist Pedersen 35e93d5fec Use Homebrew LLVM for tha CI builds 2021-09-15 22:13:04 +02:00
WaluigiWare64 ebe8d544e1 Move x86-64 macOS CI file
[skip ci]
2021-07-22 14:52:42 +01:00
WaluigiWare64 3074ee06d7 Clean workspace before build 2021-07-22 14:32:06 +01:00
WaluigiWare64 efd7d62cec Use mkdir -p here 2021-07-22 14:20:21 +01:00
WaluigiWare64 3bada15e46 Use arch -arm64 on ARM64 macOS CI 2021-07-22 14:18:52 +01:00
WaluigiWare64 a135557bcb Add ARM64 Mac CI file 2021-07-22 14:10:21 +01:00
WaluigiWare64 1cd477db71 Change workflow upload name to platform on GitHub CI 2021-06-13 13:06:15 +01:00
Arisotura 3bb78e4f1d add paypal and shit 2021-04-26 15:53:02 +02:00
WaluigiWare64 def272fac4
Use Azure Pipelines so we can target macOS 10.14 (#1042) 2021-04-24 13:27:11 +00:00
Nadia Holmquist Pedersen 796ef95862
Improve macOS bundling (#1067)
* Improve macOS bundling
* Bundle libs for macOS CI
* Add MACOS_BUILD_DMG CMake option and make the CI upload the DMG so we don't lose executable permissions.
* Manually copy plugins if macdeployqt doesn't
* Ad-hoc codesign the app
2021-04-21 23:50:32 +02:00
WaluigiWare64 f7347b1f7a
tell pkg-config the location of libarchive 2021-03-21 15:12:34 +00:00
WaluigiWare64 ae7761c33e
Remove temporary macOS CI workarounds 2021-03-08 12:50:09 +00:00
WaluigiWare64 0ea85fdd2b
Use setup-msys2 GitHub Action (#1029)
* Use setup-msys2 GitHub Action

This makes the Windows CI a few minutes faster
2021-03-06 19:37:51 +00:00
WaluigiWare64 b5e601bb88
Try to fix Ubuntu AArch64 CI (#979)
Also remove previous fixes, they were fixed upstream
2021-02-02 13:29:51 +00:00
WaluigiWare64 ab222ab135
Use libepoxy to load in OpenGL functions (#960)
* Use libepoxy to load in OpenGL functions

Prevents having to load them in manually

* Install libepoxy in the CI

* Do not link OpenGL libraries, libepoxy opens them itself

* Add libepoxy to build instructions
2021-01-26 13:19:32 +00:00
WaluigiWare64 8829b0511c
Change all mentions of qt5 to qt@5 on macOS (#937)
* Change all mentions of qt5 to qt@5 on macOS

* Use temporary workaround to get macOS brew updating

https://github.com/actions/virtual-environments/issues/2322#issuecomment-749211076

* Don't install CMake, it is already installed in the macOS runner
2021-01-13 14:56:06 +01:00
WaluigiWare64 6b8738bb60 Update workflow files 2020-12-19 17:51:23 +00:00
WaluigiWare64 df190b0400
Merge branch 'master' into feature/zip-support 2020-12-19 17:43:53 +00:00
Nadia Holmquist Pedersen af62c99124
Ubuntu CI cleanups (#842) 2020-12-09 23:08:48 +01:00
WaluigiWare64 7da4550eea
Add support for macOS (#771)
* use shm_open() instead of memfd_create() on macOS

malloc.h isn't a header on macOS

* Change OpenGL headers + create ifdef for DO_PROCLIST

macOS seems to already have the OpenGL functions defined, without the ifdef, it gives "ambiguous references" errors.

* macOS doesn't have ->gregs in uc_mcontext

and it doesn't have REG_RIP either
https://github.com/gperftools/gperftools/blob/master/m4/pc_from_ucontext.m4

* use getpid() to make memory file name unique

* #ifndef __APPLE__ for AF_PACKET and linux/if_packet.h

* Add include and link directories for macOS and link the OpenGL framework

* Add macOS CI

* Use newly added libslirp package from Homebrew

https://github.com/Homebrew/homebrew-core/pull/63412

* Use Apple's Clang instead of GNU GCC on macOS

* Add macOS build instructions to README

* Try to fix macOS undefined symbol

* snprintf doesn't take null terminator into account

* Map new memory on macOS for JIT

* Only use gcc-ar if using GNU Compiler

* re-add fastmem code - whoops!

* Fix style issue - use camelCase not snake_case

* Set Minimum macOS version

* Switch Minimum OS X version to 10.9

* Add macOS libpcap library name

* fix memory leak

* Fix binding keys in macOS

* Allow getting MAC address on macOS

melonDS on Linux uses AF_PACKET, which doesn't exist on macOS. Instead, this commit uses AF_LINK on macOS to get the MAC address.

* Remove unneeded macOS CI dependencies

* Build melonDS app bundle on macOS

Now it is no longer required to install the libraries on macOS, they come with the app bundle.

* fix macOS CI not being able to find macdeployqt

* copy melonDS.app with recursive because it's a folder

* Disable fastmem checkbox on macOS

* Disable fastmem by default in config

* forgot a semicolon

* Don't bundle libraries, causes issues on macOS <10.15

* Update README + allow finding version in Finder on macOS

* Make sure fastmem checkbox stays uncheckable
2020-11-29 17:11:33 +01:00
WaluigiWare64 fbc7648d1a
Fix Ubuntu AArch64 CI - round 3 (#811) 2020-11-11 18:29:25 +01:00
WaluigiWare64 8d70d0926c
Merge branch 'master' into feature/zip-support 2020-10-23 00:39:29 +01:00
WaluigiWare64 4b705556bc
Fix Ubuntu AArch64 CI - again (#767)
* Fix Ubuntu AArch64 CI - again

* Update build-ubuntu-aarch64.yml

* Update build-ubuntu-aarch64.yml

* Update build-ubuntu-aarch64.yml

* Update build-ubuntu-aarch64.yml

* Update build-ubuntu-aarch64.yml
2020-09-24 19:17:39 +02:00
WaluigiWare64 2850dfed15
Fix Ubuntu AArch64 CI (#764) 2020-09-19 18:10:03 +02:00
WaluigiWare64 ba0cbc53ca
Update build-ubuntu.yml 2020-08-26 14:21:34 +01:00
WaluigiWare64 6d71f9c832
Merge branch 'master' into feature/zip-support 2020-08-05 15:06:15 +01:00
Raphaël Zumer 68e310e4ef Deploy Qt libraries with dynamic Windows builds
Also stop using msys-dist.sh with the static CI build.
2020-07-31 16:50:19 -04:00
Nadia Holmquist Pedersen 40a9f41be8
Merge branch 'master' into fix/aarch64-ci 2020-07-27 16:06:53 +02:00
Nadia Holmquist Pedersen 5c08207f35 Do full upgrade to avoid issues when installing ARM dependencies 2020-07-27 15:56:43 +02:00
Nadia Holmquist Pedersen c547db21e9 Don't download CMake, the package is new enough 2020-07-26 21:52:35 +02:00
Nadia Holmquist Pedersen c9b9f43fbf Remove unneeded gtk3 package from the Ubuntu build 2020-07-26 21:48:01 +02:00
Nadia Holmquist Pedersen 8a1964a75c Add libslirp to workflows 2020-07-26 21:43:01 +02:00
Nadia Holmquist Pedersen acb1eec35d
Windows CI: Install MSYS2 with chocolatey 2020-07-25 20:26:36 +02:00
WaluigiWare64 fd4775c3ca
Fix Ubuntu ARM64 libzip dependency 2020-07-22 15:37:30 +01:00
U-RAYYAN-PC\Rayyan 523ff9ff1c Add libzip dependency in the workflow files and to CMakeLists.txt 2020-07-22 14:22:23 +01:00
Nadia Holmquist Pedersen d69c5df32e Use GCC 10 2020-06-12 03:21:57 +02:00
Nadia Holmquist Pedersen 612d3030f2 Use qtbase5-dev so we pull in less stuff 2020-06-12 03:06:11 +02:00
Nadia Holmquist Pedersen b05958a4c1 Correct name and fix syntax error 2020-06-12 03:00:53 +02:00
Nadia Holmquist Pedersen 4ceb1a2f52 Add aarch64 CI 2020-06-12 02:57:20 +02:00
Raphaël Zumer 2fab090344
Update Ubuntu version used for CI
Ubuntu 20.04 is supported "as a preview"
and may have to be replaced in the future,
but 18.04's Qt package is too old to build.
2020-06-08 18:20:56 +00:00
Arisotura 993048dd24 ASGHAFGSHASHJKQHD 2020-05-30 00:55:34 +02:00
Arisotura b3fad6f819 asaddazs
sneaky bastard
2020-05-30 00:51:50 +02:00
Arisotura 054b94b2b7 fix the Github Actions shit, hopefully 2020-05-29 22:00:31 +02:00
Raphaël Zumer fa1558319b Disable CI on non-master branches 2020-03-21 18:40:44 -04:00
Raphaël Zumer 67903b7974 Include romlist.bin with Linux CI artifacts 2019-12-13 13:01:06 -05:00