Commit Graph

86 Commits

Author SHA1 Message Date
3b7d69a644 let's try it again, but better this time 2023-12-28 13:28:23 +01:00
06a3ad868b let's try actually combining them 2023-12-28 13:16:03 +01:00
c19a9412a5 oops 2023-12-28 12:55:35 +01:00
b614030ca3 let's test if this works first 2023-12-28 12:53:25 +01:00
565228ddb7 Let's try arm64 2023-12-28 11:45:07 +01:00
c4eddc70f9 something something distutils deprecated use setuptools whatever ok we try that 2023-12-28 11:22:11 +01:00
be9846709f a 2023-12-28 11:19:29 +01:00
c8c9755075 OF COURSE it's python 2023-12-28 11:17:44 +01:00
a93622e763 this is so fucking stupid 2023-12-28 11:11:33 +01:00
0da278cc52 does it need meson 2023-12-28 11:05:02 +01:00
e48f3654b1 maybe it's libtool then 2023-12-28 10:20:51 +01:00
11154b9297 maybe?????? 2023-12-28 10:12:16 +01:00
f89858eae9 I think this is the extra shit glib needed? 2023-12-28 09:59:29 +01:00
0d51d35277 vcpkg commit 2023-12-28 09:47:50 +01:00
f9ddf6eac5 vcpkg commit 2023-12-28 09:46:05 +01:00
1c290e3c65 let's try this 2023-12-28 09:39:56 +01:00
4f33da153e Delete all the workflows so they don't complain at me while I'm doing this 2023-12-28 09:31:50 +01:00
75ae38ec7b codesign the final universal macOS app bundle
otherwise the code signature in it will be invalid, and macOS won't run
it witohout manually removing xattrs
2023-07-24 11:29:43 +02:00
24a4cacaae Add AppImage Builds (#1670)
* Create build-appimage.yml

* Update build-appimage.yml

This Adds the new Dependencies for MelonDS
2023-07-14 22:40:35 +02:00
38b0d21c22 Support loading Zstandard-compressed ROMs (#1667)
This is different from the archive support in that the compressed ROMs
are standalone files, rather than archives, making it possible to use
them exactly as if they were regular ROMs, while saving a bunch of space
on disk. This is supported both for DS and GBA ROMs, though given GBA
ROMs' generally small size it's mostly useful for the former.
2023-04-28 19:19:58 +02:00
b069a2acf1 Clean Windows build instructions
* CMake in MSYS2 now depends on Ninja and uses it by default, use it
  instead of Make as it has much easier to read output when doing
  parallel builds and doesn't need an extra program
* Ninja uses the maximum number of cores by default, so we don't have to
  run nproc --all
* We don't need mesa for its headers anymore
2022-11-09 19:54:35 +01:00
ac3118cbc5 No more context mess (#1531)
* WIP: use Duckstation's context code to directly render into QT Widget from separate thread without two OpenGL contexts

currently only works on Windows

* reenable gay OSD

* add back vsync

* make it atleast a little more thread safe

* linux support

* don't segfault on closing

* reorganise and cleanup build system
it's still not good, but better than before

* macos?

* try to get it working on Ubuntu CI
also update instructions

* let's try this

* ok how about this

* try creating an OGL 4.3 context first
(https://i.kym-cdn.com/photos/images/original/001/264/842/220.png)

* fix Ubuntu

* hm

* try again for Windows

* let's try this

* make the OpenGL renderer work again
that was stupid

* do OGL surface resizing from the mainthread

* Fix small mistake in GL context creation on macOS causing version 3.2 to
be considered invalid

* C stupidness

* cleanup

* don't let the emuthread deinit OGL if there's no OGL

* reset lastScreenWidth/Height when deiniting OpenGL

* disable stencil test while drawing framebuffers

* macOS: Link Cocoa framework explicitly when not building with Qt6

Seems to be needed for the classes used by DuckStation's GL context
code.

* Set ScreenPanelGL's minimum size immediately

Fixes GL context creation for OpenGL display on macOS using the wrong
size as the underlying window was not resized to the correct size by Qt
yet.

* don't emit window updates when OGL display is used

* stuff Arisotura said

Co-authored-by: Nadia Holmquist Pedersen <nadia@nhp.sh>
2022-10-17 22:55:11 +02:00
3f4573574a actual DSi camera support (#1520)
basically feeding something that isn't a fixed stripe pattern, and emulating enough of the camera hardware to make this work
2022-10-02 16:47:57 +02:00
c1c4cbc838 update Patreon URL 2022-09-30 15:53:38 +02:00
926f200329 Find correct pkg-config 2022-08-31 18:26:36 +01:00
08f5a2aa82 Fix CMake prefixes 2022-08-31 18:06:19 +01:00
76c9340920 Create parent directories as well 2022-08-31 17:57:31 +01:00
80f76ef34d Fix dependencies between jobs 2022-08-31 17:56:18 +01:00
cac1ec8fbd Fix macOS runner cleanup 2022-08-31 17:53:09 +01:00
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
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
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
08a19d930c CI: macOS 10.14 is no longer supported, use 10.15 2021-12-28 15:20:50 +01:00
35e93d5fec Use Homebrew LLVM for tha CI builds 2021-09-15 22:13:04 +02:00
ebe8d544e1 Move x86-64 macOS CI file
[skip ci]
2021-07-22 14:52:42 +01:00
3074ee06d7 Clean workspace before build 2021-07-22 14:32:06 +01:00
efd7d62cec Use mkdir -p here 2021-07-22 14:20:21 +01:00
3bada15e46 Use arch -arm64 on ARM64 macOS CI 2021-07-22 14:18:52 +01:00
a135557bcb Add ARM64 Mac CI file 2021-07-22 14:10:21 +01:00
1cd477db71 Change workflow upload name to platform on GitHub CI 2021-06-13 13:06:15 +01:00
3bb78e4f1d add paypal and shit 2021-04-26 15:53:02 +02:00
def272fac4 Use Azure Pipelines so we can target macOS 10.14 (#1042) 2021-04-24 13:27:11 +00:00
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
f7347b1f7a tell pkg-config the location of libarchive 2021-03-21 15:12:34 +00:00
ae7761c33e Remove temporary macOS CI workarounds 2021-03-08 12:50:09 +00:00
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
b5e601bb88 Try to fix Ubuntu AArch64 CI (#979)
Also remove previous fixes, they were fixed upstream
2021-02-02 13:29:51 +00:00
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
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
6b8738bb60 Update workflow files 2020-12-19 17:51:23 +00:00