Add cmake modules for finding cargo and rust
parent
8ac0d8147a
commit
41b78c4257
|
@ -17,7 +17,8 @@ endif()
|
|||
|
||||
include(FeatureSummary)
|
||||
|
||||
find_program(CARGO cargo)
|
||||
find_package(Cargo)
|
||||
find_package(Rust)
|
||||
|
||||
# Find Qt modules
|
||||
find_package(Qt5 ${QT_MIN_VERSION} CONFIG
|
||||
|
@ -57,9 +58,13 @@ endif()
|
|||
add_subdirectory(src)
|
||||
|
||||
enable_testing()
|
||||
add_subdirectory(tests)
|
||||
|
||||
if(Qt5Widgets_FOUND AND Qt5Svg_FOUND)
|
||||
if(Cargo_FOUND AND Rust_FOUND)
|
||||
add_subdirectory(tests)
|
||||
endif()
|
||||
|
||||
|
||||
if(Qt5Widgets_FOUND AND Qt5Svg_FOUND AND Cargo_FOUND AND Rust_FOUND)
|
||||
add_subdirectory(demo)
|
||||
endif()
|
||||
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
include(FindPackageHandleStandardArgs)
|
||||
find_program(Cargo_EXECUTABLE cargo)
|
||||
execute_process(COMMAND "${Cargo_EXECUTABLE}" --version
|
||||
OUTPUT_VARIABLE Cargo_VERSION_OUTPUT)
|
||||
STRING(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+"
|
||||
Cargo_VERSION "${Cargo_VERSION_OUTPUT}")
|
||||
find_package_handle_standard_args(Cargo
|
||||
REQUIRED_VARS Cargo_EXECUTABLE
|
||||
VERSION_VAR Cargo_VERSION)
|
||||
mark_as_advanced(Cargo_EXECUTABLE)
|
|
@ -0,0 +1,10 @@
|
|||
include(FindPackageHandleStandardArgs)
|
||||
find_program(Rust_EXECUTABLE rustc)
|
||||
execute_process(COMMAND "${Rust_EXECUTABLE}" --version
|
||||
OUTPUT_VARIABLE Rust_VERSION_OUTPUT)
|
||||
STRING(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+"
|
||||
Rust_VERSION "${Rust_VERSION_OUTPUT}")
|
||||
find_package_handle_standard_args(Rust
|
||||
REQUIRED_VARS Rust_EXECUTABLE
|
||||
VERSION_VAR Rust_VERSION)
|
||||
mark_as_advanced(Rust_EXECUTABLE)
|
|
@ -13,7 +13,7 @@ add_custom_command(
|
|||
# compile the rust code into a static library
|
||||
add_custom_command(
|
||||
OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/rust/${RUST_TARGET_DIR}/librust.a"
|
||||
COMMAND ${CARGO} build ${RUST_BUILD_FLAG}
|
||||
COMMAND ${Cargo_EXECUTABLE} build ${RUST_BUILD_FLAG}
|
||||
DEPENDS rust/src/lib.rs
|
||||
rust/src/implementation/mod.rs
|
||||
rust/src/implementation/time_series.rs
|
||||
|
|
|
@ -21,7 +21,7 @@ function(rust_test NAME DIRECTORY)
|
|||
|
||||
add_custom_command(
|
||||
OUTPUT "${DIR}/${RUST_TARGET_DIR}/librust.a"
|
||||
COMMAND ${CARGO} build ${RUST_BUILD_FLAG}
|
||||
COMMAND ${Cargo_EXECUTABLE} build ${RUST_BUILD_FLAG}
|
||||
DEPENDS "${DIR}/src/lib.rs"
|
||||
"${DIR}/src/implementation.rs"
|
||||
"${DIR}/src/interface.rs"
|
||||
|
|
Loading…
Reference in New Issue