Adam's CMake Package for devkitPro tools and libraries.
-
Better Documentation
Unlike the CMake files packaged with devkitPro, this package config has its features and side effects well documented. All files have comments indicating what they are doing, and every function generating a target logs important properties. -
Fully Featured Modern CMake
By using modern "Target Based" CMake, there's less you have to worry about to include the stuff you need. Less dependencies so your build system is less error prone! -
Examples!
Template projects are provided for each toolchain, and everything provided by this project has example usage, so you can make your homebrew ideas come to life. See Templates and Examples below
devkitPro's root directory is expected to be installed at /opt/devkitpro, but DEVKITPRO may be defined as a CMake variable or environment variable to supply a custom install location. For installing devkitPro, see their Getting Started Wiki page.
If the package fails to find anything required, it will fail with a FATAL_ERROR message.
Optional toolchain files for devkitPro platforms are included under the toolchains directory.
These are simpler than the ones packaged with devkitPro since they leave tools and libraries to the package config.
For a list of differences, see the toolchains directory readme.
These are not required to use the package config, the toolchain files included with devkitPro work as well.
Toolchain files should be passed to cmake with the -DCMAKE_TOOLCHAIN_FILE option, as in -DCMAKE_TOOLCHAIN_FILE=path/to/toolchains/gamecube.toolchain.cmake.
When locating each executable provided by devkitPro, the package will first check for a CMake variable or environment
variable of the form DKP_X, where X is replaced by the upper case name of the executable, ie. DKP_BIN2S.
The relevant functions will use the provided path to the executable instead of the default path.
DEVKITPRO: devkitPro root directory
DKP_X: path to executable (where X is replaced by the upper case name of the executable ie. DKP_BIN2S)
dkp_add_bin2s(target binary_files)
dkp_add_elf2dol(target dol_file_name source_file default_build_target)
dkp_add_gxtexconv(target scf_files scf_files_dir out_dir) + Target Property: DKP_GXTEXCONV_TPL_FILES
dkp_target_generate_symbol_table(target) - Generates .map and .lst files for debugging
Target generating functions log VERBOSE messages for relevant properties. Set your CMake log level to VERBOSE to greater
to see them: set(CMAKE_MESSAGE_LOG_LEVEL VERBOSE).
Found in gamecube-opengx package. Install with command:
dkp-pacman -S gamecube-opengxFound in wii-opengx package. Install with command:
dkp-pacman -S wii-opengxProvides OpenGLConfig.cmake under portlibs. Use as follows:
find_package(OpenGL)See OpenGLConfig.cmake for additional reference.