wut/README.md

80 lines
2.5 KiB
Markdown

[![Build status](https://github.com/devkitPro/wut/workflows/C%2FC%2B%2B%20CI/badge.svg)](https://github.com/devkitPro/wut/actions?workflow=C%2FC%2B%2B+CI)
# wut
Let's try make a Wii U Toolchain / SDK for creating rpx/rpl.
Licensed under the terms of the GNU General Public License, version 2 or later (GPLv2+).
## Install
It is recommended to install wut by using the [devkitPro package manager](https://devkitpro.org/wiki/devkitPro_pacman)
For example you might do:
```
sudo dkp-pacman -Syu devkitPPC wut-tools wut
```
## Usage
See [samples](samples) for examples of how to use wut.
The [share/wut.cmake](share/wut.cmake) file provides some helpers for your build:
- `wut_create_rpx(target)` - Will create an .rpx file from your CMake target generated by `add_executable`
- `wut_create_rpl(target)` - Will create an .rpl file from your CMake target generated by `add_executable`
- `wut_add_exports(target exports.def)` - Will add exports specified in exports.def for the given target
## Building from source
Requires:
- [devkitPPC](https://devkitpro.org/wiki/Getting_Started)
- [wut-tools](https://github.com/devkitPro/wut-tools)
### Building with devkitPPC
Ensure you have the devkitPPC and wut-tools packages provided by [devkitPro](https://devkitpro.org/wiki/Getting_Started):
```
sudo dkp-pacman -Syu devkitPPC wut-tools
export DEVKITPRO=/opt/devkitpro
export DEVKITPPC=/opt/devkitpro/devkitPPC
```
Then it's as simple as running make or make install:
```
make
make install
```
### Building with a locally built wut-tools
If you have locally built wut-tools then just add the directory containing the built binaries to PATH and they should be used instead:
```
export PATH=/path/to/wut-tools/bin:$PATH
make
```
## Building wut projects
### Building wut projects with make
Simply export the required variables and call make.
```
export DEVKITPRO=/opt/devkitpro
export DEVKITPPC=/opt/devkitpro/devkitPPC
make
```
### Building wut projects with CMake
For any wut project you want to build with CMake you must use the wut.toolchain.cmake toolchain file:
```
export DEVKITPRO=/opt/devkitpro
cd samples/cmake/helloworld
mkdir build && cd build
cmake -DCMAKE_TOOLCHAIN_FILE=$DEVKITPRO/wut/share/wut.toolchain.cmake ../
make
```
A minimal CMakeLists.txt file for a C++ project might look like:
```
cmake_minimum_required(VERSION 3.2)
project(helloworld_cpp CXX)
include("${DEVKITPRO}/wut/share/wut.cmake" REQUIRED)
add_executable(helloworld_cpp main.cpp)
wut_create_rpx(helloworld_cpp.rpx helloworld_cpp)
```