aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorJohn "Lameguy" Wilbert Villamor <lameguy64@gmail.com>2021-10-25 08:18:23 +0800
committerGitHub <noreply@github.com>2021-10-25 08:18:23 +0800
commit8d17a5abe3c600b603f1910239d5df0fff9f4eed (patch)
tree20d3110363ab468e99502337c0a46852662bb365 /doc
parent0a7f59de1eb079930e7c25ad35adc39c9946958c (diff)
parent4e0d5bceb24042a6d31c76958ce2c6157369ac68 (diff)
downloadpsn00bsdk-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.txt20
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