After commit 3e5aa212d5 the Slint DLLs
aren't placed in the `bin/` directory by default anymore. Since the
tutorial builds Slint as an external sub-project, it is entirely
isolated and the CMAKE_*_OUTPUT_DIRECTORY variables do not propagate. On
macOS and Linux, the program still runs due to rpath. On Windows, the
instructions said to put `bin` into `%PATH%`, but that doesn't work
anymore, the dll is now in `_deps/slint-build`.
Instead of adjusting `%PATH%`, this change adjusts the documentation to
recommend the use of a custom command on Windows using
$<TARGET_RUNTIME_DLLS:tgt> to copy the DLL across. This is guarded with
WIN32 due to https://gitlab.kitware.com/cmake/cmake/-/issues/23543 ,
where the proposed solution requires CMake 3.26 (not released yet).
- Use Node.js as the name, as that's also what's on the website
- Link to the websites of the dependencies
- Move the Node.js API prerequisites below the C++ section, in order of priority
- Create a Node.js Tests section, similar to C++, just for running the tests
- Change the remaining Node.js API build section, similar to C++, to
explain what's needed to build it from git and how to use it.
- In order to -> To
- Use title case for section titles
- Elaborate in the indvidual sentences about testing and building what the
prerequisites are, what the provided command lines accomplish and where
the output can be found.
Having to make sure the right version of npm is installed is a hassle
for people that just want to try out slint for the first time. The
proposed way to disable node support enables basically everything else,
which opens another can of worms when Windows tries to build MCU
support.
So do not build Node.JS as part of the default build anymore, but
document how to build it.
The CI should build with `--workspace` already, so there should be no
need to change the CI build.
This is only required for dependencies of slint-build and xtask.
So this is not enforced yet and will still work with 1.56 with
for C++ or when not using slint-build.
The upcoming re-organization of the C++ header generation requires the
use of the CORROSION_ENVIRONMENT_VARIABLES target property, which in
turn requires CMake >= 3.19.
Using Olivier's idea to check the meta tag, we can distinguish rustdoc
from "the rest". The html is included in mdbook by directly by
symlinking head.hbs.
The preview is now in sixtyfps-docs-preview.html and the highlighting in
sixtyfps-docs-highlight.html. This faciliates reusing the preview from
C++ while using a different HTML file later for syntax highlighting.
Relates to #282
Needed for #281
Unfortunately we require cmake right now, due to fontkit wanting to compile
in a copy of freetype. That could be fixed though by making it use
ttf_parser perhaps.
This allows to paralelize better.
And also to remove the cpp from the default workspace so it is
not build by default and the ffi feature will not be build by default