CMake/Rust: hack in the full rust build #101

This commit is contained in:
nick black 2020-02-18 13:41:57 -05:00
parent b2210f0cf9
commit 4bea8048d4
No known key found for this signature in database
GPG Key ID: 5F43400C21CBFACC

View File

@ -581,6 +581,7 @@ if(${USE_RUST})
file(GLOB LIBNCRSSRC CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/rust/libnotcurses-sys/src/*.rs ${CMAKE_CURRENT_SOURCE_DIR}/rust/libnotcurses-sys/src/*.rs)
file(GLOB COLLOQUYSRC CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/src/colloquy/src/*.rs ${CMAKE_CURRENT_SOURCE_DIR}/src/colloquy/src/*.yml)
set(LIBNOTCURSESSYS ${CMAKE_CURRENT_BINARY_DIR}/rust/debug/liblibnotcurses_sys.rlib)
set(CRATENOTCURSES ${CMAKE_CURRENT_BINARY_DIR}/rust/debug/libnotcurses.rlib)
set(COLLOQUY ${CMAKE_CURRENT_BINARY_DIR}/rust/debug/colloquy)
find_program(CARGO cargo REQUIRED)
set(CARGO_ARGS "--verbose")
@ -602,13 +603,28 @@ if(${USE_RUST})
DEPENDS
${LIBNOTCURSESSYS}
)
add_custom_command(
OUTPUT
${CRATENOTCURSES}
COMMAND
CARGO_HOME=${CMAKE_CURRENT_BINARY_DIR}/rust CARGO_TARGET_DIR=${CMAKE_CURRENT_BINARY_DIR}/rust ${CARGO} build ${CARGO_ARGS}
DEPENDS
${CRATENOTCURSESSRC} ${LIBNOTCURSESSYS}
COMMENT "Building rust crate notcurses"
WORKING_DIRECTORY
${CMAKE_CURRENT_SOURCE_DIR}/rust/notcurses
)
add_custom_target(cratenotcurses ALL
DEPENDS
${CRATENOTCURSES}
)
add_custom_command(
OUTPUT
${COLLOQUY}
COMMAND
CARGO_HOME=${CMAKE_CURRENT_BINARY_DIR}/rust CARGO_TARGET_DIR=${CMAKE_CURRENT_BINARY_DIR}/rust ${CARGO} build ${CARGO_ARGS}
DEPENDS
${COLLOQUYSRC}
${COLLOQUYSRC} ${CRATENOTCURSES}
COMMENT "Building colloquy"
WORKING_DIRECTORY
${CMAKE_CURRENT_SOURCE_DIR}/src/colloquy