mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-19 02:25:52 +00:00
- "Rename" the type `LedgerInfo` to `LedgerHeader` (but leave an alias for `LedgerInfo` to not yet disturb existing uses). Put it in its own public header, named after itself, so that it is more easily found. - Move the type `Fees` and NFT serialization functions into public (installed) headers. - Compile the XRPL and gRPC protocol buffers directly into `libxrpl` and install their headers. Fix the Conan recipe to correctly export these types. Addresses change (2) in https://github.com/XRPLF/XRPL-Standards/discussions/121. For context: This work supports Clio's dependence on libxrpl. Clio is just an example consumer. These changes should benefit all current and future consumers. --------- Co-authored-by: cyan317 <120398799+cindyyan317@users.noreply.github.com> Signed-off-by: Manoj Doshi <mdoshi@ripple.com>
28 lines
932 B
CMake
28 lines
932 B
CMake
find_package(Protobuf 3.8)
|
|
|
|
set(output_dir ${CMAKE_BINARY_DIR}/proto_gen)
|
|
file(MAKE_DIRECTORY ${output_dir})
|
|
set(ccbd ${CMAKE_CURRENT_BINARY_DIR})
|
|
set(CMAKE_CURRENT_BINARY_DIR ${output_dir})
|
|
protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS src/ripple/proto/ripple.proto)
|
|
set(CMAKE_CURRENT_BINARY_DIR ${ccbd})
|
|
|
|
target_include_directories(xrpl_core SYSTEM PUBLIC
|
|
# The generated implementation imports the header relative to the output
|
|
# directory.
|
|
$<BUILD_INTERFACE:${output_dir}>
|
|
$<BUILD_INTERFACE:${output_dir}/src>
|
|
)
|
|
target_sources(xrpl_core PRIVATE ${output_dir}/src/ripple/proto/ripple.pb.cc)
|
|
install(
|
|
FILES ${output_dir}/src/ripple/proto/ripple.pb.h
|
|
DESTINATION include/ripple/proto)
|
|
target_link_libraries(xrpl_core PUBLIC protobuf::libprotobuf)
|
|
target_compile_options(xrpl_core
|
|
PUBLIC
|
|
$<$<BOOL:${XCODE}>:
|
|
--system-header-prefix="google/protobuf"
|
|
-Wno-deprecated-dynamic-exception-spec
|
|
>
|
|
)
|