Controller and TV oriented UI library for PC and Nintendo Switch (libnx).
⚠️ Warning: the project is a WIP - See the Projects tab to follow the journey towards a stable version!
The code for the old version is available in the legacy
branch.
⚠️ The wiki only contains the documentation for the old version of the library, it has yet to be updated!
To build for Switch, a standard development environment must first be set up. In order to do so, refer to the Getting Started guide.
(sudo) (dkp-)pacman -S switch-glfw switch-mesa switch-glm
make -j
nxlink -s borealis_demo.nro
To build for PC, the following components are required:
Please refer to the usual sources of information for your particular operating system. Usually the commands needed to build this project will look like this:
meson build
ninja -C build
./build/borealis_demo
Also, please note that the resources
folder must be available in the working directory, otherwise the program will fail to find the shaders.
msys2 provides all packages needed to build this project:
pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-meson mingw-w64-x86_64-ninja mingw-w64-x86_64-pkg-config mingw-w64-x86_64-glfw mingw-w64-x86_64-glm
meson build
ninja -C build
./build/borealis_demo
-std=c++1z
). You also need to remove -fno-rtti
and -fno-exceptions
if you have themresources
folder to the root of your projectsubdir
to import the library folderborealis_files
, borealis_dependencies
, borealis_include
and borealis_cpp_args
variables for respectively objects to build, dependencies (glfw...), includes directory and cpp argsBRLS_RESOURCES
define pointing to the resources folder at runtime (so resources
)BOREALIS_PATH
variable containing the subfolder you put the library inROMFS
to the resources folder - borealis resources path is set to romfs:/
in borealis.mkinclude
to load borealis.mk
(after LIBDIRS
and BOREALIS_PATH
)OUT_SHADERS
to be set to shaders
since nanovg will look for the shaders thereBRLS_RESOURCES
define (missing quote terminator), change the @$(MAKE)
line to @MSYS2_ARG_CONV_EXCL="-D;$(MSYS2_ARG_CONV_EXCL)" $(MAKE)
in the Makefile (as in the demo Makefile)