[![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) ```