diff options
| author | spicyjpeg <88942473+spicyjpeg@users.noreply.github.com> | 2022-02-07 01:06:33 +0100 |
|---|---|---|
| committer | spicyjpeg <88942473+spicyjpeg@users.noreply.github.com> | 2022-02-07 02:35:02 +0100 |
| commit | 40b7d95e9b16252d1aebb0706f3bba885f6e67cf (patch) | |
| tree | ec7604008134f312c403f895661c4c4d6caa96b6 /doc | |
| parent | 57cda18641d16ba4e4fec52b5514e48db8ee4593 (diff) | |
| download | psn00bsdk-40b7d95e9b16252d1aebb0706f3bba885f6e67cf.tar.gz | |
Add LIBPSN00B_GENERATOR option, fix .incbin alignment
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/dev_notes.md | 21 | ||||
| -rw-r--r-- | doc/installation.md | 14 |
2 files changed, 30 insertions, 5 deletions
diff --git a/doc/dev_notes.md b/doc/dev_notes.md index 4873a59..a96d6ef 100644 --- a/doc/dev_notes.md +++ b/doc/dev_notes.md @@ -164,7 +164,24 @@ _- spicyjpeg_ toolchain script has options that can be set via custom variables (like `PSN00BSDK_TC` and `PSN00BSDK_TARGET` in PSn00bSDK), you'll have to set `CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` to a list of variable names to be - exported to generated dummy projects. + exported to generated dummy projects. Additionally you may need to set + `CMAKE_TRY_COMPILE_TARGET_TYPE` to `STATIC_LIBRARY` to prevent CMake from + invoking the linker. + +- When `project()` is called, CMake uses the value of `CMAKE_SYSTEM_NAME` to + determine default values for several variables and properties. Most of these + defaults are undocumented: e.g. setting the system name to `Generic` (as + suggested by the docs for bare metal targets) will result in CMake assuming + that the target platform does not support dynamic linking, so you'll have to + turn it back on by setting the `TARGET_SUPPORTS_SHARED_LIBS` global property + *after* invoking `project()`. + +- It is not possible to use custom toolchains (through toolchain files or by + setting `CMAKE_*_COMPILER` manually) with any of the Xcode or VS generators, + as their respective build systems handle compiler selection internally rather + than relying on variables passed by CMake. Ninja or `make` is thus always + required to build PSn00bSDK and any projects made with it, even if the + host-side tools are built using Xcode or MSVC. - There is no way to use multiple toolchains (PS1 + host) in a single project, even if you use `add_subdirectory()` to execute multiple project files @@ -263,4 +280,4 @@ _- spicyjpeg_ space. ----------------------------------------- -_Last updated on 2022-01-30 by spicyjpeg_ +_Last updated on 2022-02-06 by spicyjpeg_ diff --git a/doc/installation.md b/doc/installation.md index 1646653..c766fd9 100644 --- a/doc/installation.md +++ b/doc/installation.md @@ -1,6 +1,14 @@ # Getting started with PSn00bSDK +**IMPORTANT**: due to a bug in `libflac` (used by `mkpsxiso`), building using +MinGW on Windows is currently broken. You'll have to install Visual Studio and +pass `-G "Visual Studio <version>"` to CMake when configuring PSn00bSDK to use +MSVC instead. Due to MSBuild limitations *you'll still need to install Ninja* +in order to build the SDK, as MSBuild is not compatible with custom toolchains. +This guide will be updated with detailed MSVC build instructions in the near +future. + ## Building and installing The instructions below are for Windows and Linux. Building on macOS hasn't been @@ -79,8 +87,8 @@ and installed properly. **NOTE**: Ninja is used by default to build the SDK. If you can't get it to work or don't have it installed, pass `-G "Unix Makefiles"` (or - `-G "MSYS Makefiles"` on Windows) to the first command to build using `make` - instead. + `-G "MinGW Makefiles"` on Windows) to the first command to build using + `make` instead. 6. Install the SDK to the path you chose (add `sudo` or run it from a command prompt with admin privileges if necessary): @@ -150,4 +158,4 @@ The toolchain script defines a few CMake macros to create PS1 executables, DLLs and CD images. See the [reference](cmake_reference.md) for details. ----------------------------------------- -_Last updated on 2021-12-29 by spicyjpeg_ +_Last updated on 2022-02-06 by spicyjpeg_ |
