From b67a203fdaeba70372dea8a20bc9db0cff4ea010 Mon Sep 17 00:00:00 2001
From: Kubat <mael.martin31@gmail.com>
Date: Thu, 29 Sep 2022 09:38:19 +0200
Subject: [PATCH] RUST: Place the target folder of all rust sub-projects in the
 rust folder to share compilation artifacts

---
 CMakeLists.txt                           | 17 +++++++++++++++--
 src/rust/.cargo/config.toml              |  2 ++
 src/rust/liblektor-rs/.cargo/config.toml |  2 --
 3 files changed, 17 insertions(+), 4 deletions(-)
 create mode 100644 src/rust/.cargo/config.toml
 delete mode 100644 src/rust/liblektor-rs/.cargo/config.toml

diff --git a/CMakeLists.txt b/CMakeLists.txt
index a2293516..af0486b9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -355,6 +355,19 @@ set_property(TARGET luka    PROPERTY CXX_STANDARD 20)
 
 set_directory_properties(PROPERTIES EP_PREFIX ${CMAKE_BINARY_DIR}/Rust)
 
+ExternalProject_Add(amadeus_rs
+    DOWNLOAD_COMMAND  ""
+    CONFIGURE_COMMAND ""
+    SOURCE_DIR        "${CMAKE_SOURCE_DIR}/src/rust/amadeus-rs"
+    BUILD_COMMAND     "${CARGO}" build
+    COMMAND           "${CARGO}" build
+    INSTALL_COMMAND   ""
+    BUILD_BYPRODUCTS  "${CMAKE_SOURCE_DIR}/src/rust/target/debug/amadeus"
+    BUILD_ALWAYS      1
+    BUILD_IN_SOURCE   1
+    LOG_BUILD         1
+)
+
 ExternalProject_Add(liblektor_rs
     DOWNLOAD_COMMAND  ""
     CONFIGURE_COMMAND ""
@@ -362,7 +375,7 @@ ExternalProject_Add(liblektor_rs
     BUILD_COMMAND     "${CARGO}" build
     COMMAND           "${CARGO}" build
     INSTALL_COMMAND   ""
-    BUILD_BYPRODUCTS  "${CMAKE_SOURCE_DIR}/src/rust/liblektor-rs/target/debug/liblektor_rs.a"
+    BUILD_BYPRODUCTS  "${CMAKE_SOURCE_DIR}/src/rust/target/debug/liblektor_rs.a"
     BUILD_ALWAYS      1
     BUILD_IN_SOURCE   1
     LOG_BUILD         1
@@ -372,7 +385,7 @@ add_dependencies(lektord liblektor_rs)
 
 target_link_libraries(lektord
     PRIVATE
-    "${CMAKE_SOURCE_DIR}/src/rust/liblektor-rs/target/debug/liblektor_rs.a"
+    "${CMAKE_SOURCE_DIR}/src/rust/target/debug/liblektor_rs.a"
     Qt${QT_VERSION_MAJOR}::Widgets
 )
 
diff --git a/src/rust/.cargo/config.toml b/src/rust/.cargo/config.toml
new file mode 100644
index 00000000..a6b014e9
--- /dev/null
+++ b/src/rust/.cargo/config.toml
@@ -0,0 +1,2 @@
+[build]
+target-dir = "target"
diff --git a/src/rust/liblektor-rs/.cargo/config.toml b/src/rust/liblektor-rs/.cargo/config.toml
deleted file mode 100644
index 9823a4d5..00000000
--- a/src/rust/liblektor-rs/.cargo/config.toml
+++ /dev/null
@@ -1,2 +0,0 @@
-[build]
-target-dir = "target"
\ No newline at end of file
-- 
GitLab