diff options
| author | John "Lameguy" Wilbert Villamor <lameguy64@gmail.com> | 2021-10-25 08:18:23 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-10-25 08:18:23 +0800 |
| commit | 8d17a5abe3c600b603f1910239d5df0fff9f4eed (patch) | |
| tree | 20d3110363ab468e99502337c0a46852662bb365 /doc | |
| parent | 0a7f59de1eb079930e7c25ad35adc39c9946958c (diff) | |
| parent | 4e0d5bceb24042a6d31c76958ce2c6157369ac68 (diff) | |
| download | psn00bsdk-8d17a5abe3c600b603f1910239d5df0fff9f4eed.tar.gz | |
Merge pull request #41 from spicyjpeg/cmake
CMake fixes, Windows build instructions
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/dev notes.txt | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/doc/dev notes.txt b/doc/dev notes.txt index 8fd8d7f..1bc9ccd 100644 --- a/doc/dev notes.txt +++ b/doc/dev notes.txt @@ -153,6 +153,26 @@ ignore -isystem completely). I eventually gave up and just set the include directories manually for each target, and for some reason CMake actually started passing -I instead of -isystem to GCC. +* When using CPack with NSIS, all CPACK_NSIS_* variables are passed to NSIS +verbatim, i.e. without the usual slash-to-backslash path conversion that CMake +does on Windows. Most Windows programs accept paths with slashes without issue, +unfortunately the NSIS builder is not one of those. To add insult to injury, +CMake doesn't even escape backslashes by default when quoting strings in the +generated CPack config file! So you have to convert the paths manually *and* +tell CMake to enable escaping by setting CPACK_VERBATIM_VARIABLES, like this: + + set(CPACK_VERBATIM_VARIABLES ON) + foreach( + _var IN ITEMS + CPACK_NSIS_MUI_ICON + CPACK_NSIS_MUI_UNIICON + CPACK_NSIS_MUI_HEADERIMAGE + CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP + CPACK_NSIS_MUI_UNWELCOMEFINISHPAGE_BITMAP + ) + cmake_path(NATIVE_PATH ${_var} ${_var}) + endforeach() + * Not a CMake/CPack bug per se, but NSIS is picky about the banner and header images shown in generated installers. They must be Windows BMP version 3 files with no alpha channel, no compression and no metadata. They can either be |
