fix cmake
This commit is contained in:
parent
d0998119c8
commit
9f5e52277a
|
|
@ -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)
|
project(PROJECT-NAME VERSION 1.0.0 LANGUAGES CXX)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,24 @@
|
||||||
|
# build the Rust side as a static library
|
||||||
set(impl_basename "${CARGO_TARGET_DIR}/release/libPROJECT_NAME_impl")
|
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(
|
add_custom_command(
|
||||||
OUTPUT ${impl_basename}.a
|
OUTPUT ${impl_basename}.a
|
||||||
COMMAND env CARGO_TARGET_DIR=${CARGO_TARGET_DIR} ${CARGO} build --release --package PROJECT-NAME-impl
|
COMMAND env CARGO_TARGET_DIR=${CARGO_TARGET_DIR} ${CARGO} build --release --package PROJECT-NAME-impl
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
DEPFILE ${impl_basename}.d
|
DEPFILE ${impl_basename}.d
|
||||||
USES_TERMINAL
|
USES_TERMINAL
|
||||||
JOB_SERVER_AWARE
|
VERBATIM
|
||||||
DEPENDS_EXPLICIT_ONLY
|
${cargo_cmake_args}
|
||||||
)
|
)
|
||||||
|
|
||||||
# HACK ensure CMake *actually adds* the command above
|
# HACK ensure CMake *actually adds* the command above
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user