Enable the SDF feature by default in our compiler binaries
(Still disabled by default for other users because it takes up compile
time for something they probably don't need)
They're built inside an x86-64 docker container, but they're targeting
ARMv7/ARMv8. So stick to the CMake/CPack default (Linux-Arm, etc.) and
use Slint-cpp-$rust_target only for MCU (freestanding) builds that don't
target an OS (known to CMake).
We're compatible across minor versions, only the major version change
would mean incompatibility. This way for example find_package(Slint 1.6.0)
will work with newer versions and makes it a minimum version specifier.
Freestanding implies the lack of windowing system presence and therefore the choice of say Cupertino when building on macOS is not good.
Fluent isn't quite a great choice right now either, as it's not very touch friendly, but it's a compromise :)
This reverts commit 42571bbddb.
The line-by-line renderer doesn't compile with xcode 15.4,
and TestWindowAdapter doesn't compile with gcc 10 in the linux CI.
While we haven't settled on the debug info feature and are
merely controlling it via environment variable, setting that can be very hard - especially when using Yocto.
To make life easier, let's do in C++ what we can't easily do for Rust but would like to:
When enabling system testing, automatically emit the necessary debug info, by setting the environment variable when calling the compiler.
This is done by adding SLINT_ENABLED_FEATURES and SLINT_DISABLED_FEATURES properties
on the Slint::Slint target that - as lists - export the list of features and their status.
This way we can compile Slint in once place and safely in the CMake code running in application
scope check about the available features.
CPACK_SYSTEM_NAME is what we used before, and that has the win64 suffix
that the prepare_release job in nightly_snapshot.yaml expects. Also
fixed the docs to add the missing MSVC suffix that's new.
Cargo disallows dashes in library target names (lib.name in Cargo.toml), but when not set it uses
the package name. That meant that dashes snuck in and https://github.com/rust-lang/cargo/pull/12783 fixes that.
The targets Corrosion creates correspond to the library name, so after that change it's slint_cpp.
To make this work with stable cargo, explicitly switch lib.name to slint_cpp.
The version number is not set, so the package name would end up as
Slint-cpp---MSVC.exe. Instead, just append the MSVC suffix, as
suggested by Olivier.
Amends cacc13343f
Updated the version from 1.1 to 1.2
Renamed the header to "Slint Royalty-free Desktop, Mobile, and Web Applications License"
Added definition of "Mobile Application" and grant of right
Moved "Limitations" to 3rd section and "License Conditions - Attributions" to 2nd section
Added flexibility to choose between showing "MadeWithSlint" as a dialog/splash screen or on a public webpage
Moved the para on copyright notices to section under "Limitations"
A MSRV update is required to update the image crate to 0.25, otherwise
we get link error that are ficed in newer version.
Also other dependency update such as env_logger needs a newer MSRV.
Update to 1.73 because it has functions like `with_borrow` on thread
storage which we already actually use in some platform.
This is also the last release before the the drop of macOs < 10.12
in Rust 1.74
- Bump esp-backtrace for esp32-p4 support, which removes the uart feature and delegates to esp-println
- Added esp-println dependency
- Add mapping for ESP32P4 and other risc-v esp-idf targets to the corresponding rust target triplet.
Unfortunately there's no generic pattern like for xtensa, as can be seen on
https://github.com/esp-rs/esp-idf-sys?tab=readme-ov-file#examples