Commit Graph

33 Commits

Author SHA1 Message Date
Fabrice de Gans 4f1a5dd726 [Test] Add tests for widgets code
This creates a vbam-wx-widgets target for the custom widgets code and
adds tests for them.
2024-05-29 19:30:35 -07:00
Fabrice de Gans 09433875bc [CI] Remove workaround for MSVC CI
Upstream GitHub actions now uses a single toolchain version.
Fixes #1297
2024-05-19 16:14:22 -07:00
Fabrice de Gans 05c09ff506 [Build] Add devkitpro-based libretro targets to CI 2024-05-10 13:36:05 -07:00
Fabrice de Gans 8809ce26b3 [Test] Add tests for the Bindings class
In addition to fixing a couple of minor bugs, this also creates some
utility functions to access the cmdtab data.

Finally, this disables tests on MSYS2 as they can be flaky.
2024-05-09 13:15:16 -07:00
Fabrice de Gans 13756bcbf9 [Test] Replace doctest with googletest
* Convert the only existing test (strutils) to googletest.
* Create a test target for vbam-wx-config.
* Add necessary fakes for the test binary.
* Add tests to CI.
2024-05-08 13:00:56 -07:00
Fabrice de Gans d377f7abff [CI] Install only one MSVC toolchain
A change in GitHub Actions broke our MSVC build flow due to different
toolchains being used at different steps of the build process. While the
upstream issue will eventually be fixed, we need to explicitly specify
the toolchain version for now.

Bug: #1297
2024-05-05 14:54:58 -07:00
Rafael Kitover af6028a9dd
build: fix build for nix on macOS
Add the NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM env var to the macOS CI as
faudio has not been marked compatible with macOS yet.

Remove FindGettext.cmake as it is a core cmake module that is available
in the versions of cmake we support now.

Add support for nix to MacPackageManagers.cmake and add brew gettext to
CMAKE_IGNORE_PATH when not using brew. Also update the cmake style.

Add faudio, libintl and the System framework to buildInputs in
default.nix.

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2024-04-16 15:30:30 +00:00
Fabrice de Gans 4ace296b3a [Build] Improve the TRANSLATIONS_ONLY build speed
* Move CMake dependencies checkout to `cmake/Dependencies.cmake`.
* Disable most dependencies checkout from the `TRANSLATIONS_ONLY` build.
* Remove the debug/translations_only GitHub Action.
2024-04-02 11:56:19 -07:00
Fabrice de Gans db08ca93af [Build] Improve CI build coverage
This reworks the CI coverage to add `TRANSLATIONS_ONLY=ON` and libretro
builds to GitHub Actions.
2024-04-01 23:28:20 -07:00
Rafael Kitover b45a4066b1
ci: add clang+bintools for macOS, disable LTO
Add llvmPackages_latest.clang and bintools to the macOS part of
default.nix for nix, because for some reason the `ar` utility is not
found in GitHub actions right now.

Disable LTO for the macOS action for now, this is a consequence of
recent cmake refactoring and needs to be fixed.

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2024-03-11 08:53:47 +00:00
Rafael Kitover 99923dd126
ci: add Visual Studio workflow
Add a Visual Studio build workflow to the CI, test building using ninja
(msbuild support needs to be fixed) for both 64 and 32 bit.

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2023-10-28 14:44:02 +00:00
Rafael Kitover 67af67278e
ci: use nix instead of brew for macOS workflow
Since brew has been failing frequently lately, use the nix action
instead.

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2023-10-04 20:26:15 +00:00
Rafael Kitover f6e3daf9d8
ci: use matrix, disable macos for now
Change CI actions to a matrix with cmake options, for both release and
debug builds, with ENABLE_LINK=OFF and ENABLE_SDL=ON configurations, for
all 3 runners.

Also add both g++ and clang++ to the matrix for the Ubuntu runner to
test on clang.

Disable the macOS workflow for now because brew is failing to install
dependencies.

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2023-09-04 22:55:51 +00:00
Rafael Kitover d23b374fbf
ci: add basic macos-latest runner
Add basic macos-latest build to have one macOS runner.

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2022-10-16 18:22:37 +00:00
Rafael Kitover 2985b46926
ci: add ubuntu-latest workflow
Add basic build on ubuntu-latest to have at least one ci build on Linux.

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2022-10-16 14:18:13 +00:00
Fabrice de Gans 297d7c06c4 [hidpi] Use wxWidgets 3.2 on Windows
* Remove the custom handling for pre-3.1.4 builds on Windows since
  both the mingw and msvc builds now use 3.2.
* Remove wxDPIChangedEvent handling, since this triggers a resize,
  which has the same effect.
* Implement main/WinMain ourselves, rather than relying on wxWidgets
  macros. This allows us to initialize the console earlier in the
  process.
* Add an explicit dependency on the manifest file to trigger a link
  when it is modified.
2022-10-15 22:25:54 +00:00
Zach Bacon a413eb048c
switch from wxmsw3.1 to wxWidgets 3.0 and pkg-config to pkgconf
Signed-off-by: Zach Bacon <zachbacon@vba-m.com>
2022-06-05 01:22:24 -04:00
Zach Bacon fed8c3697e
Yeah... one last tweak to get submodules pulled
Signed-off-by: Zach Bacon <zachbacon@vba-m.com>
2022-06-05 01:08:34 -04:00
Zach Bacon 3abf084f2f
last tweak to the CI build system
at least till clang is fixed for windows targets

Signed-off-by: Zach Bacon <zachbacon@vba-m.com>
2022-06-05 00:57:20 -04:00
Zach Bacon 05e58ba0a7 update the workflow script 2022-06-05 00:49:02 -04:00
Zach Bacon 5ed544aad3 [Workflow] Ensure checkout is autocrlf for github actions 2022-02-02 09:43:52 -05:00
Zach Bacon 4223c39c4c
disable online updates for github workflow 2021-10-03 16:38:43 -04:00
Zach Bacon 459de4ba78
aaaand I forgot to append the -D to enable the sdl static stuff 2021-10-03 16:24:54 -04:00
Zach Bacon 9a5406f824
enable several configuration options, the static I'm sure won't work though 2021-10-03 16:18:46 -04:00
Zach Bacon 859359e5ef
Add ffmpeg to the build 2021-10-03 16:05:26 -04:00
Zach Bacon ab1ff4191d
add zip to the build process 2021-10-03 16:02:59 -04:00
Zach Bacon e8383447a8
This should fix the basic build, I'll add proper configure options later 2021-10-03 15:56:31 -04:00
Zach Bacon bdc79bbe20
I'm still learning github actions it seems 2021-10-03 17:08:07 -04:00
Zach Bacon 227c1d69b3
add git 2021-10-03 17:01:51 -04:00
Zach Bacon 2011a5cc9c
Let's run the git submodule command 2021-10-03 16:57:32 -04:00
Zach Bacon 24ecb82fb1
let's try this bit for the workflow 2021-10-03 16:52:35 -04:00
Zach Bacon dd2e837310
let's set the build environment for github actions 2021-10-03 16:45:22 -04:00
Zach Bacon 0db7eab66c
add github actions workflow 2021-10-03 16:37:11 -04:00