I think the include directory
${Protobuf_SOURCE_DIR}/third_party/abseil-cpp/absl should be just
${Protobuf_SOURCE_DIR}/third_party/abseil-cpp.

On Tue, Apr 25, 2023 at 3:48 AM 'Gabriele Baldoni' via Protocol Buffers <
[email protected]> wrote:

> Hi all,
>
> I'm experiencing some issue when trying to use protobuf within CMake with
> fetch content when building/generating.
>
> I got this error:
> /root/example/car-pub/build/_deps/protobuf-src/src/google/protobuf/stubs/common.h:44:10:
> fatal error: absl/strings/string_view.h: No such file or directory
>    44 | #include "absl/strings/string_view.h"
>       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> Here my CMakeLists.txt
> cmake_minimum_required(VERSION 3.20)
> include(FetchContent)
>
> set(CMAKE_BUILD_TYPE Debug)
>
> project(
>   car-pub
>   LANGUAGES C CXX)
>
>
> # set(PROTOC protoc)
> set(CMAKE_CXX_STANDARD 17)
>
> FetchContent_Declare(
>     argparse
>     GIT_REPOSITORY https://github.com/p-ranav/argparse.git
> )
> FetchContent_MakeAvailable(argparse)
>
> FetchContent_Declare(
>     Protobuf
>     GIT_REPOSITORY https://github.com/protocolbuffers/protobuf
>     GIT_TAG        v22.0
> )
> FetchContent_MakeAvailable(Protobuf)
> FetchContent_GetProperties(Protobuf SOURCE_DIR Protobuf_SOURCE_DIR)
> FetchContent_GetProperties(Protobuf INCLUDE_DIRS Protobuf_INCLUDE_DIRS)
> include(${Protobuf_SOURCE_DIR}/cmake/protobuf-generate.cmake)
>
> include_directories(
>     ${Protobuf_SOURCE_DIR}/src
>     ${Protobuf_SOURCE_DIR}/third_party/abseil-cpp/absl
>     ${Protobuf_SOURCE_DIR}/third_party/googletest/googletest/include
>     ${Protobuf_SOURCE_DIR}/third_party/googletest/googlemock/include
>     ${Protobuf_SOURCE_DIR}/third_party/jsoncpp/include
> )
>
> add_library(vss
>     OBJECT
>     ${CMAKE_SOURCE_DIR}/proto/vss_rel_4.0-develop.proto
> )
> target_link_libraries(vss PRIVATE Protobuf)
>
> target_include_directories(
>   vss PUBLIC
>     $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/proto>
>     $<INSTALL_INTERFACE:include>
>     ${INCLUDE_DIRECTORIES}
> )
> file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/proto)
> protobuf_generate(
>     TARGET vss
>     LANGUAGE cpp
>     IMPORT_DIRS  ${CMAKE_SOURCE_DIR}/proto
>     PROTOC_OUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/proto
>     )
>
>
>
> add_executable(publisher "src/pub.cpp")
> target_link_libraries(publisher PRIVATE argparse vss)
>
>
> Any suggestion?
>
> --
> You received this message because you are subscribed to the Google Groups
> "Protocol Buffers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/protobuf/42ca934f-32fa-4773-b589-9504d04588e1n%40googlegroups.com
> <https://groups.google.com/d/msgid/protobuf/42ca934f-32fa-4773-b589-9504d04588e1n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/protobuf/CADqAXr4A5rf8HQTb2i7ZapQj%2B%3D2xak_7GrXs%3D2skbkNWJyhEzw%40mail.gmail.com.

Reply via email to