Skip to content

Commit e8eb29c

Browse files
committed
Enhance c_hash_sig integration by adding support for kagome-crates features in CMake configuration
1 parent f41a07e commit e8eb29c

File tree

3 files changed

+15
-4
lines changed

3 files changed

+15
-4
lines changed

CMakeLists.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,12 @@ if (SELECTED_CRATE_NUM EQUAL 0)
2727
endif()
2828

2929
foreach (CRATE ${SELECTED_CRATES})
30-
add_rust_library(${CRATE} HEADER_FILE ${PROJECT_SOURCE_DIR}/generated/include/${CRATE}/${CRATE}.h LIB_NAME ${CRATE}_crust)
30+
# Add kagome-crates feature for c_hash_sig to enable build-helper
31+
if (CRATE STREQUAL "c_hash_sig")
32+
add_rust_library(${CRATE} HEADER_FILE ${PROJECT_SOURCE_DIR}/generated/include/${CRATE}/${CRATE}.h LIB_NAME ${CRATE}_crust FEATURES "kagome-crates")
33+
else()
34+
add_rust_library(${CRATE} HEADER_FILE ${PROJECT_SOURCE_DIR}/generated/include/${CRATE}/${CRATE}.h LIB_NAME ${CRATE}_crust)
35+
endif()
3136
endforeach()
3237

3338
install(

cmake/add_rust_library.cmake

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,21 @@ endif ()
1616
set(CRATES_DIR "${PROJECT_SOURCE_DIR}/crates")
1717

1818
function (add_rust_library CRATE_NAME)
19-
cmake_parse_arguments(x "" "HEADER_FILE;LIB_NAME" "" ${ARGV})
19+
cmake_parse_arguments(x "" "HEADER_FILE;LIB_NAME;FEATURES" "" ${ARGV})
2020
message(STATUS HEADER_FILE: ${x_HEADER_FILE})
2121
message(STATUS LIB_NAME: ${x_LIB_NAME})
2222

23+
# Add features if specified
24+
if (x_FEATURES)
25+
set(CARGO_FEATURES "--features" "${x_FEATURES}")
26+
endif()
27+
2328
set(CARGO_COMMAND "${CMAKE_COMMAND}" -E env
2429
HEADER_FILE="${x_HEADER_FILE}" CBINDGEN_CONFIG="${PROJECT_SOURCE_DIR}/cbindgen.toml"
2530
cargo build
2631
--target-dir "${CMAKE_BINARY_DIR}/${CRATE_NAME}"
27-
${CARGO_BUILD_OPTION})
32+
${CARGO_BUILD_OPTION}
33+
${CARGO_FEATURES})
2834
message(STATUS ${CARGO_COMMAND})
2935
add_custom_target(
3036
"cargo_build_${CRATE_NAME}"

crates/c_hash_sig

0 commit comments

Comments
 (0)