From d2aa978561260e6ed67ef900f256eb0facf25749 Mon Sep 17 00:00:00 2001 From: Oliver Hamlet Date: Fri, 17 May 2024 22:20:19 +0100 Subject: [PATCH] List Rust static library dependencies as build byproducts To fix compatibility with the Ninja generator. --- CMakeLists.txt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 20cbd403..062b382e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -84,7 +84,8 @@ ExternalProject_Add(esplugin BUILD_COMMAND cargo build --release --manifest-path ffi/Cargo.toml --target ${RUST_TARGET} && cbindgen ffi/ -o ffi/include/esplugin.hpp COMMAND ${CMAKE_COMMAND} -E rm -r "target/${RUST_TARGET}/release/deps" "target/release" - INSTALL_COMMAND "") + INSTALL_COMMAND "" + BUILD_BYPRODUCTS "/target/${RUST_TARGET}/release/${CMAKE_STATIC_LIBRARY_PREFIX}esplugin_ffi${CMAKE_STATIC_LIBRARY_SUFFIX}") ExternalProject_Get_Property(esplugin SOURCE_DIR) set(ESPLUGIN_INCLUDE_DIRS "${SOURCE_DIR}/ffi/include") set(ESPLUGIN_LIBRARIES "${SOURCE_DIR}/target/${RUST_TARGET}/release/${CMAKE_STATIC_LIBRARY_PREFIX}esplugin_ffi${CMAKE_STATIC_LIBRARY_SUFFIX}") @@ -108,7 +109,8 @@ ExternalProject_Add(libloadorder BUILD_COMMAND cargo build --release --manifest-path ffi/Cargo.toml --target ${RUST_TARGET} && cbindgen ffi/ -l c++ -o ffi/include/libloadorder.hpp COMMAND ${CMAKE_COMMAND} -E rm -r "target/${RUST_TARGET}/release/deps" "target/release" - INSTALL_COMMAND "") + INSTALL_COMMAND "" + BUILD_BYPRODUCTS "/target/${RUST_TARGET}/release/${CMAKE_STATIC_LIBRARY_PREFIX}loadorder_ffi${CMAKE_STATIC_LIBRARY_SUFFIX}") ExternalProject_Get_Property(libloadorder SOURCE_DIR) set(LIBLOADORDER_INCLUDE_DIRS "${SOURCE_DIR}/ffi/include") set(LIBLOADORDER_LIBRARIES "${SOURCE_DIR}/target/${RUST_TARGET}/release/${CMAKE_STATIC_LIBRARY_PREFIX}loadorder_ffi${CMAKE_STATIC_LIBRARY_SUFFIX}") @@ -132,7 +134,8 @@ ExternalProject_Add(loot-condition-interpreter BUILD_COMMAND cargo build --release --manifest-path ffi/Cargo.toml --target ${RUST_TARGET} && cbindgen ffi/ -o ffi/include/loot_condition_interpreter.h COMMAND ${CMAKE_COMMAND} -E rm -r "target/${RUST_TARGET}/release/deps" "target/release" - INSTALL_COMMAND "") + INSTALL_COMMAND "" + BUILD_BYPRODUCTS "/target/${RUST_TARGET}/release/${CMAKE_STATIC_LIBRARY_PREFIX}loot_condition_interpreter_ffi${CMAKE_STATIC_LIBRARY_SUFFIX}") ExternalProject_Get_Property(loot-condition-interpreter SOURCE_DIR) set(LCI_INCLUDE_DIRS "${SOURCE_DIR}/ffi/include") set(LCI_LIBRARIES "${SOURCE_DIR}/target/${RUST_TARGET}/release/${CMAKE_STATIC_LIBRARY_PREFIX}loot_condition_interpreter_ffi${CMAKE_STATIC_LIBRARY_SUFFIX}")