Skip to content

Commit

Permalink
Add SLINT_TARGET_CARGO_FLAGS cmake variable
Browse files Browse the repository at this point in the history
* Add SLINT_TARGET_CARGO_FLAGS cmake variable
  • Loading branch information
ogoffart committed Jul 17, 2023
1 parent a576b78 commit e7c306c
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 0 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Expand Up @@ -3,6 +3,10 @@ All notable changes to this project are documented in this file.

## Unreleased

### C++

- Added `SLINT_TARGET_CARGO_FLAGS` cmake variable

## [1.1.1] - 2023-07-10

### General
Expand Down
7 changes: 7 additions & 0 deletions api/cpp/CMakeLists.txt
Expand Up @@ -27,6 +27,13 @@ endif()
corrosion_import_crate(MANIFEST_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../Cargo.toml"
CRATES slint-cpp ${slint_compiler_crate})

set(SLINT_TARGET_CARGO_FLAGS "" CACHE STRING
"Flags to pass to cargo when building the Slint runtime library")
if(SLINT_TARGET_CARGO_FLAGS)
corrosion_set_cargo_flags(slint-cpp ${SLINT_TARGET_CARGO_FLAGS})
endif()


# When doing "make install" package builds, set install_name to rpath, so that the installed
# binaries don't have a load-command pointing back to their build directory.
# Don't do this when Slint is used via FetchContent. While we could set CMAKE_BUILD_RPATH to
Expand Down
6 changes: 6 additions & 0 deletions api/cpp/docs/cmake.md
Expand Up @@ -100,6 +100,12 @@ to discover and toggle features.
This works when compiling Slint as a package, using `cmake --build` and
`cmake --install`, or when including Slint using `FetchContent`.

### Rust Flags

Slint uses [Corrosion](https://github.com/corrosion-rs/corrosion) to build Slint, which is developed in Rust. You can utilize [Corrosion's global CMake variables](https://corrosion-rs.github.io/corrosion/usage.html#global-corrosion-options) to control certain aspects of the Rust build process.

Furthermore, you can set the `SLINT_TARGET_CARGO_FLAGS` cache variable to specify additional flags for the Slint runtime during the build.

### Back-Ends

Slint needs a back-end that acts as liaison between Slint and the OS. Several
Expand Down

0 comments on commit e7c306c

Please sign in to comment.