Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tallbl0nde/aether
An experimental and work-in-progress SDL2 UI library for Nintendo Switch homebrew written in C++
https://github.com/tallbl0nde/aether
ui-library
Last synced: 2 months ago
JSON representation
An experimental and work-in-progress SDL2 UI library for Nintendo Switch homebrew written in C++
- Host: GitHub
- URL: https://github.com/tallbl0nde/aether
- Owner: tallbl0nde
- License: mit
- Created: 2020-01-01T06:53:13.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2022-10-31T09:06:56.000Z (about 2 years ago)
- Last Synced: 2024-11-02T13:51:50.061Z (2 months ago)
- Topics: ui-library
- Language: C++
- Homepage: http://tallbl0nde.github.io/Aether
- Size: 2.43 MB
- Stars: 13
- Watchers: 3
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Aether ![Build Status](https://github.com/tallbl0nde/Aether/workflows/Build/badge.svg)
My attempt at creating a Horizon-esque UI library for homebrew. While there's no examples just yet, I recommend looking at [NX-Activity-Log](https://github.com/tallbl0nde/NX-Activity-Log) for an example of implementation as it relies on this library for it's UI.
Documentation can be found [here](https://tallbl0nde.github.io/Aether/)!
## Building
You'll need the following packages installed through (dkp-)pacman in order for Aether to compile:
```
devkit-env
devkitA64
libnx
switch-freetype
switch-sdl2
switch-sdl2_gfx
switch-sdl2_image
switch-sdl2_ttf
```After installing the packages, run the following command.
#### For Arch Linux based distro / Windows users
```
source ${DEVKITPRO}/switchvars.sh
```#### For all others UNIX based distro users
```
PATH=${DEVKITPRO}/portlibs/switch/bin/:${PATH}
```**NOTE**: If you just installed `devkit-env`, run the following command first!
```
source /etc/profile.d/devkit-env.sh
```Once these are installed, simply run `make` or `make library` in the same directory as this README to build the library.
## Incorporating into your Project
### 1. Add as a submodule
I recommend adding Aether as a Git Submodule by running the following commands (note your project must have a git repository initialized):
```
git submodule add https://github.com/tallbl0nde/Aether.git
git submodule update --init
git commit -m "Add Aether library"
```
### 2. Edit Makefile
Add the following lines in **your** Makefile after `LIBS` & `LIBDIRS` respectively.```
LIBS += -lAether -lnx `sdl2-config --libs` -lSDL2_ttf `freetype-config --libs`\
-lSDL2_gfx -lSDL2_image -lpng -ljpeg -lwebp
```
```
LIBDIRS += Aether
```
### 3. Done!
**NOTE:** This will setup Aether to clone and compile in the root (top) directory in your project's repository.To move the submodule to a different directory (for example, we will move Aether to `libs` in the root of project's directory), run the following command:
```
git mv Aether/ libs/
```Then, change the `LIBDIRS` line you added in step 2 to the following:
```
LIBDIRS += libs/Aether
```
## Credits
[eXhumer](https://www.github.com/eXhumer/) - Initial documentation & automatic build testing along with documentation generation (with GitHub Actions)[rtrussell](https://www.github.com/rtrussell) - SDL2_gfx extensions