mirror of
https://github.com/facebook/proxygen.git
synced 2025-08-07 07:02:53 +03:00
Move sapling_backingstore_get_tree_batch to cxx_bridge
Summary: X-link: https://github.com/facebookincubator/velox/pull/7781 cxx.rs provides a more ergonomic and opinionated interop layer between Rust and C++ that we would like to leverage for future API chages. This moves sapling_backingstore_get_tree_batch from the existing cbindgen implemenation to the new cxxbridge. Reviewed By: MichaelCuevas Differential Revision: D51645547 fbshipit-source-id: 0b11ea745efe02f282200fe5a325422978a1b466
This commit is contained in:
committed by
Facebook GitHub Bot
parent
820e215213
commit
ef4c4f97f9
@@ -363,7 +363,7 @@ endfunction()
|
|||||||
# `${TARGET}` CMake library target.
|
# `${TARGET}` CMake library target.
|
||||||
#
|
#
|
||||||
# ```cmake
|
# ```cmake
|
||||||
# rust_cxx_bridge(<TARGET> <CXX_BRIDGE_FILE> [CRATE <CRATE_NAME>])
|
# rust_cxx_bridge(<TARGET> <CXX_BRIDGE_FILE> [CRATE <CRATE_NAME>] [LIBS <LIBNAMES>])
|
||||||
# ```
|
# ```
|
||||||
#
|
#
|
||||||
# Parameters:
|
# Parameters:
|
||||||
@@ -374,9 +374,11 @@ endfunction()
|
|||||||
# - CRATE_NAME:
|
# - CRATE_NAME:
|
||||||
# Name of the crate. This parameter is optional. If unspecified, it will
|
# Name of the crate. This parameter is optional. If unspecified, it will
|
||||||
# fallback to `${TARGET}`.
|
# fallback to `${TARGET}`.
|
||||||
|
# - LIBS <lib1> [<lib2> ...]:
|
||||||
|
# A list of libraries that this library depends on.
|
||||||
#
|
#
|
||||||
function(rust_cxx_bridge TARGET CXX_BRIDGE_FILE)
|
function(rust_cxx_bridge TARGET CXX_BRIDGE_FILE)
|
||||||
fb_cmake_parse_args(ARG "" "CRATE" "" "${ARGN}")
|
fb_cmake_parse_args(ARG "" "CRATE" "LIBS" "${ARGN}")
|
||||||
|
|
||||||
if(DEFINED ARG_CRATE)
|
if(DEFINED ARG_CRATE)
|
||||||
set(crate_name "${ARG_CRATE}")
|
set(crate_name "${ARG_CRATE}")
|
||||||
@@ -476,6 +478,11 @@ function(rust_cxx_bridge TARGET CXX_BRIDGE_FILE)
|
|||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
|
||||||
$<INSTALL_INTERFACE:include>
|
$<INSTALL_INTERFACE:include>
|
||||||
)
|
)
|
||||||
|
target_link_libraries(
|
||||||
|
${crate_name}
|
||||||
|
PUBLIC
|
||||||
|
${ARG_LIBS}
|
||||||
|
)
|
||||||
|
|
||||||
file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/rust")
|
file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/rust")
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
@@ -517,10 +524,11 @@ function(rust_cxx_bridge TARGET CXX_BRIDGE_FILE)
|
|||||||
COMMENT "Generating cxx bindings for crate ${crate_name}"
|
COMMENT "Generating cxx bindings for crate ${crate_name}"
|
||||||
)
|
)
|
||||||
|
|
||||||
target_sources(${crate_name}
|
target_sources(
|
||||||
|
${crate_name}
|
||||||
PRIVATE
|
PRIVATE
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/${cxx_header}"
|
"${CMAKE_CURRENT_BINARY_DIR}/${cxx_header}"
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/rust/cxx.h"
|
"${CMAKE_CURRENT_BINARY_DIR}/rust/cxx.h"
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/${cxx_source}"
|
"${CMAKE_CURRENT_BINARY_DIR}/${cxx_source}"
|
||||||
)
|
)
|
||||||
endfunction()
|
endfunction()
|
||||||
|
Reference in New Issue
Block a user