set(impl_basename "${CARGO_TARGET_DIR}/release/libhyperboloid_impl") add_custom_command( OUTPUT ${impl_basename}.a COMMAND env CARGO_TARGET_DIR=${CARGO_TARGET_DIR} ${CARGO} build --release --package hyperboloid-impl WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DEPFILE ${impl_basename}.d USES_TERMINAL JOB_SERVER_AWARE TRUE DEPENDS_EXPLICIT_ONLY ) # HACK ensure CMake *actually adds* the command above add_custom_target(build_impl DEPENDS ${impl_basename}.a ) add_library(hyperboloid_impl STATIC IMPORTED) set_target_properties(hyperboloid_impl PROPERTIES IMPORTED_LOCATION ${impl_basename}.a )