Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
6d5add5
initial switch to zenoh-ffi / prebindgen
milyin Jul 31, 2025
4bc4c29
include added
milyin Jul 31, 2025
24fc624
excluded move operations
milyin Jul 31, 2025
e62d128
compilation fix
milyin Jul 31, 2025
f97aca8
unused file removed
milyin Jul 31, 2025
69cfd08
clippy fixes
milyin Jul 31, 2025
509a0b8
build fix
milyin Aug 2, 2025
112146d
prebindgen bumped
milyin Aug 3, 2025
fdae6a2
prebindgen api fix
milyin Aug 6, 2025
a5ed34c
link to zenoh-pinned-deps
milyin Aug 7, 2025
d1ecd40
Cargo.lock from latest zenoh-c
milyin Aug 7, 2025
2476a5d
added pinned deps to zenoh-c
milyin Aug 8, 2025
d57f981
zenoh-ffi-workspace added
milyin Aug 13, 2025
0d4bb3b
Merge branch 'main' into zenoh-ffi
milyin Aug 18, 2025
4f2e16c
use ffi opaque types sources in build.rs
milyin Aug 20, 2025
d664413
process arch variable
milyin Aug 20, 2025
c25a7b7
better header generation logs
milyin Aug 20, 2025
536fe09
konst added co template cargo.toml
milyin Aug 20, 2025
ff19957
warnign fix
milyin Aug 21, 2025
d1b8466
error diagnostic improved
milyin Aug 21, 2025
1f092bb
dependencires corrected
milyin Aug 21, 2025
d2d1a18
OPAQUE_TYPES_BUILD_DIR commented
milyin Aug 21, 2025
deedcd5
cmake corrected
milyin Aug 21, 2025
41d8499
CROSS_TARGET in Cmakelists
milyin Aug 24, 2025
8661552
cargo lock updated
milyin Aug 24, 2025
069522c
parse target triple in CMakeLists
milyin Aug 24, 2025
5ccb704
useless parsing removed, cmake diagnosic improved
milyin Aug 24, 2025
9e91e55
Merge branch 'main' into zenoh-ffi
milyin Aug 25, 2025
c30f093
cargo.lock updated
milyin Aug 25, 2025
419310e
zenoh-gen removed
milyin Aug 25, 2025
8666f3f
clippy fix
milyin Aug 25, 2025
a4bcb6e
removed feature processing on C header level - features are removed b…
milyin Aug 25, 2025
438e1c5
dependencies cleaned
milyin Aug 25, 2025
8def70a
cargo fmt
milyin Aug 25, 2025
a70279b
zenoh-ffi-workspace removed
milyin Aug 25, 2025
ffc4f0c
version locks added
milyin Aug 27, 2025
28dfa14
lock file updated
milyin Aug 28, 2025
f42b6ec
ring version locked
milyin Aug 28, 2025
fc14bd6
windows build fix
milyin Aug 28, 2025
3982513
extrace cross linker
milyin Aug 28, 2025
4672e94
cargo lock update
milyin Aug 29, 2025
db6b75d
locks updated
milyin Aug 29, 2025
39654a1
cargo-lock update
milyin Aug 29, 2025
fd14aea
Merge branch 'main' into zenoh-ffi
milyin Aug 29, 2025
e5aef0d
cargo.lock update
milyin Aug 29, 2025
a9a7b4e
cargo.lock update
milyin Aug 29, 2025
c1b592b
removed 1.75 deps
milyin Aug 30, 2025
c9f5db6
cargo lock update
milyin Sep 1, 2025
2e2ffed
rust 1.75 update
milyin Sep 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 22 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,10 @@ if(ZENOHC_BUILD_IN_SOURCE_TREE AND(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_
set(cargo_toml_dir_release ${CMAKE_CURRENT_BINARY_DIR}/release)
file(MAKE_DIRECTORY ${cargo_toml_dir_debug}/include)
file(MAKE_DIRECTORY ${cargo_toml_dir_release}/include)
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/prebindgen-project-root
DESTINATION ${cargo_toml_dir_debug})
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/prebindgen-project-root
DESTINATION ${cargo_toml_dir_release})
else()
message(STATUS "Mode: IDE, Single-Config generator (${CMAKE_GENERATOR})")
set(cargo_toml_dir_debug ${cargo_toml_dir_ide})
Expand All @@ -96,6 +100,10 @@ else()
set(cargo_toml_dir_release ${CMAKE_CURRENT_BINARY_DIR}/release)
file(MAKE_DIRECTORY ${cargo_toml_dir_debug}/include)
file(MAKE_DIRECTORY ${cargo_toml_dir_release}/include)
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/prebindgen-project-root
DESTINATION ${cargo_toml_dir_debug})
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/prebindgen-project-root
DESTINATION ${cargo_toml_dir_release})
endif()

# note: case-insensitive build configuration check
Expand Down Expand Up @@ -252,14 +260,26 @@ if(NOT(ZENOHC_CUSTOM_TARGET STREQUAL ""))
set(cargo_flags ${cargo_flags} --target=${ZENOHC_CUSTOM_TARGET})
endif()

# If ZENOHC_CUSTOM_TARGET is set and ZENOHC_CARGO_FLAGS contains target linker setting
# for this target, e.g.
# "--config=target.armv7-unknown-linux-gnueabihf.linker=\"armv7-linux-gnueabihf-gcc\""
# then extract the linker name and assign it to variable CROSS_RUSTC_LINKER
if("${cargo_flags}" MATCHES "--config=target.${ZENOHC_CUSTOM_TARGET}.linker=\"([^\"]+)\"")
set(cross_rustc_linker "${CMAKE_MATCH_1}")
endif()

status_print(cargo_flags)
status_print(libs)
file(GLOB_RECURSE rust_sources "Cargo.toml.in" "src/*.rs" "build.rs" "splitguide.yaml")
# The zenoh-ffi needs for correct cross-target build not only "--target" parameter for
# cargo, but also variable CROSS_TARGET set to the same value.
# This is necessary because the build.rs of zenoh-ffi-opaque-types should know
# the target to correctly calculate structure sizes
add_custom_command(
OUTPUT ${libs}
COMMAND ${CMAKE_COMMAND} -E echo \"RUSTFLAGS = $$RUSTFLAGS\"
COMMAND ${CMAKE_COMMAND} -E echo \"cargo ${ZENOHC_CARGO_CHANNEL} build ${cargo_flags}\"
COMMAND ${CMAKE_COMMAND} -E env OPAQUE_TYPES_BUILD_DIR=${CMAKE_BINARY_DIR}/opaque-types cargo ${ZENOHC_CARGO_CHANNEL} build ${cargo_flags}
COMMAND ${CMAKE_COMMAND} -E echo \"CROSS_TARGET=${ZENOHC_CUSTOM_TARGET} CROSS_RUSTC_LINKER=${cross_rustc_linker} cargo ${ZENOHC_CARGO_CHANNEL} build ${cargo_flags}\"
COMMAND ${CMAKE_COMMAND} -E env CROSS_TARGET=${ZENOHC_CUSTOM_TARGET} CROSS_RUSTC_LINKER=${cross_rustc_linker} cargo ${ZENOHC_CARGO_CHANNEL} build ${cargo_flags}
VERBATIM
COMMAND_EXPAND_LISTS
DEPENDS "${rust_sources}"
Expand Down
Loading
Loading