From a63991e68cda45613a06af810dce904b102762d8 Mon Sep 17 00:00:00 2001 From: owent Date: Tue, 11 May 2021 21:42:24 +0800 Subject: [PATCH 1/2] Fix #740 #741 Signed-off-by: owent --- CMakeLists.txt | 6 ++---- api/CMakeLists.txt | 2 ++ 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6c414bcbd4..53df8ed692 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -49,8 +49,6 @@ endif() if(WITH_STL) # Require at least C++17. C++20 is needed to avoid gsl::span - add_definitions(-DHAVE_CPP_STDLIB -DHAVE_GSL) - if(CMAKE_MINOR_VERSION VERSION_GREATER "3.18") # Ask for 20, may get anything below set(CMAKE_CXX_STANDARD 20) @@ -130,7 +128,7 @@ if(WITH_OTLP) set(protobuf_MODULE_COMPATIBLE ON) find_package(Protobuf) find_package(gRPC) - if((NOT protobuf_FOUND) OR (NOT gRPC_FOUND)) + if((NOT Protobuf_FOUND) OR (NOT gRPC_FOUND)) if(WIN32 AND (NOT DEFINED CMAKE_TOOLCHAIN_FILE)) install_windows_deps() endif() @@ -142,7 +140,7 @@ if(WITH_OTLP) include(${CMAKE_TOOLCHAIN_FILE}) endif() - if(NOT protobuf_FOUND) + if(NOT Protobuf_FOUND) find_package(Protobuf REQUIRED) endif() if(NOT gRPC_FOUND) diff --git a/api/CMakeLists.txt b/api/CMakeLists.txt index d9822530a2..1f1138cd1e 100644 --- a/api/CMakeLists.txt +++ b/api/CMakeLists.txt @@ -25,6 +25,8 @@ endif() if(WITH_STL) message("Building with standard library types...") + target_compile_definitions(opentelemetry_api INTERFACE HAVE_CPP_STDLIB + HAVE_GSL) else() message("Building with nostd types...") endif() From 8ef25cac1b8f82b5c64bae0b37c807c67734ab60 Mon Sep 17 00:00:00 2001 From: owent Date: Wed, 12 May 2021 10:24:38 +0800 Subject: [PATCH 2/2] Support old cmake for protobuf Signed-off-by: owent --- CMakeLists.txt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 53df8ed692..fb18701a99 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -128,7 +128,7 @@ if(WITH_OTLP) set(protobuf_MODULE_COMPATIBLE ON) find_package(Protobuf) find_package(gRPC) - if((NOT Protobuf_FOUND) OR (NOT gRPC_FOUND)) + if((NOT Protobuf_FOUND AND NOT PROTOBUF_FOUND) OR (NOT gRPC_FOUND)) if(WIN32 AND (NOT DEFINED CMAKE_TOOLCHAIN_FILE)) install_windows_deps() endif() @@ -140,7 +140,7 @@ if(WITH_OTLP) include(${CMAKE_TOOLCHAIN_FILE}) endif() - if(NOT Protobuf_FOUND) + if(NOT Protobuf_FOUND AND NOT PROTOBUF_FOUND) find_package(Protobuf REQUIRED) endif() if(NOT gRPC_FOUND) @@ -155,7 +155,9 @@ if(WITH_OTLP) endif() endif() # Latest Protobuf uses mixed case instead of uppercase - set(PROTOBUF_PROTOC_EXECUTABLE ${Protobuf_PROTOC_EXECUTABLE}) + if(Protobuf_PROTOC_EXECUTABLE) + set(PROTOBUF_PROTOC_EXECUTABLE ${Protobuf_PROTOC_EXECUTABLE}) + endif() endif() message("PROTOBUF_PROTOC_EXECUTABLE=${PROTOBUF_PROTOC_EXECUTABLE}")