ci: build the Switch core here, with CMake - #2465
Merged
Merged
Conversation
The libretro Switch core on the buildbot still comes from the old libretro/flycast tree, because the job here was written against the Makefile-based libnx-static template and this tree has no Makefile. There is a CMake version of that template, and the CMakeLists already knows how to build for Switch (NINTENDO_SWITCH + LIBRETRO produces flycast_libretro_libnx), so point the job at that instead.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The libretro Switch core on the buildbot still comes from the old
libretro/flycasttree — that project'slibretro-build-libnx-aarch64job is green, and it is what publishesflycast_libretro_libnx.nrotoday. Here the job has been commented out since the CI file was written, because it extends.libretro-libnx-static-retroarch-master, which runsmake -f Makefile platform=libnx, and this tree has no Makefile.There is a CMake version of that template (
libnx-static-cmake.yml), and the CMakeLists here already knows how to build for Switch:NINTENDO_SWITCHplusLIBRETROgives a static library namedflycast_libretro_libnx, withshell/switchon the include path andHAVE_LIBNX. The devkitProSwitch.cmaketoolchain the template passes is what setsNINTENDO_SWITCH, so the two line up as they are.So this just points the job at the CMake template and adds a
.core-defs-libnxwith-DLIBRETRO=ON -DUSE_OPENMP=OFF— no libcdio, and no OpenMP, matching what the Android defs do.Preflight: built in the
devkitpro/devkita64container with exactly the cmake invocation the template uses (run) — 160 MBbuild/libnx/flycast_libretro_libnx.a, which is the file the template hands to the RetroArch static link. That last link step only exists on the buildbot, so it is the one part not covered here.