From 9f5e52277a79a5bddf6e4223d9c4f0e29c1f633c Mon Sep 17 00:00:00 2001 From: numzero Date: Sat, 22 Aug 2026 01:38:29 +0300 Subject: [PATCH] fix cmake --- CMakeLists.txt | 2 +- ui/impl.cmake | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f30e705..0f2a8d4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.18) +cmake_minimum_required(VERSION 3.18...4.2) project(PROJECT-NAME VERSION 1.0.0 LANGUAGES CXX) diff --git a/ui/impl.cmake b/ui/impl.cmake index e2f84e1..7be03a2 100644 --- a/ui/impl.cmake +++ b/ui/impl.cmake @@ -1,13 +1,24 @@ +# build the Rust side as a static library set(impl_basename "${CARGO_TARGET_DIR}/release/libPROJECT_NAME_impl") +set(cargo_cmake_args) + +if("${CMAKE_VERSION}" VERSION_GREATER_EQUAL "3.27") + list(APPEND cargo_cmake_args DEPENDS_EXPLICIT_ONLY) +endif() + +if("${CMAKE_VERSION}" VERSION_GREATER_EQUAL "3.28") + list(APPEND cargo_cmake_args JOB_SERVER_AWARE TRUE) +endif() + add_custom_command( OUTPUT ${impl_basename}.a COMMAND env CARGO_TARGET_DIR=${CARGO_TARGET_DIR} ${CARGO} build --release --package PROJECT-NAME-impl WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DEPFILE ${impl_basename}.d USES_TERMINAL - JOB_SERVER_AWARE - DEPENDS_EXPLICIT_ONLY + VERBATIM + ${cargo_cmake_args} ) # HACK ensure CMake *actually adds* the command above