Skip to content

Commit cfede70

Browse files
committed
update build for Mac OS
1 parent f2d6a5c commit cfede70

File tree

2 files changed

+23
-5
lines changed

2 files changed

+23
-5
lines changed

CMakeLists.txt

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,14 @@ else()
6464
set(OTEL_CPP_CXX_STANDARD 11)
6565
endif()
6666

67+
set(patch_command git apply ${CMAKE_SOURCE_DIR}/otel-cpp.patch)
68+
6769
ExternalProject_Add(
6870
${OTEL_CPP_PROJECT_NAME}
6971
GIT_REPOSITORY ${OTEL_CPP_GIT_REPOSITORY}
7072
GIT_TAG ${OTEL_CPP_GIT_TAG}
7173
PREFIX ${OTEL_CPP_PREFIX}
74+
PATCH_COMMAND ${patch_command}
7275
CMAKE_ARGS -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DWITH_OTLP_HTTP=${WITH_OTLP_HTTP} -DWITH_OTLP_GRPC=${WITH_OTLP_GRPC} -DBUILD_TESTING=OFF -DWITH_BENCHMARK=OFF -DOPENTELEMETRY_INSTALL=ON -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} -DCMAKE_CXX_STANDARD=${OTEL_CPP_CXX_STANDARD}
7376
INSTALL_DIR ${OTEL_CPP_PREFIX}
7477
INSTALL_COMMAND ${CMAKE_COMMAND} --install . --prefix ${OTEL_CPP_PREFIX}
@@ -243,11 +246,13 @@ if(WIN32)
243246
${OPENSSL_RUNTIME}
244247
${RE2_RUNTIME})
245248
endif()
246-
elseif(UNIX AND NOT APPLE AND NOT CYGWIN)
247-
FILE(GLOB OTEL_CPP_RUNTIME ${OTEL_CPP_PREFIX}/lib/*.so)
248-
set(OPENTELEMETRY_PROXY_RUNTIME_LIBRARIES ${OTEL_CPP_RUNTIME})
249-
elseif(APPLE)
250-
FILE(GLOB OTEL_CPP_RUNTIME ${OTEL_CPP_PREFIX}/lib/*.dylib)
249+
elseif(UNIX AND NOT CYGWIN)
250+
if(WITH_OTLP_GRPC)
251+
set(OTEL_CPP_RUNTIME ${OTEL_CPP_PREFIX}/lib/libopentelemetry_proto${CMAKE_SHARED_LIBRARY_SUFFIX}
252+
${OTEL_CPP_PREFIX}/lib/libopentelemetry_proto_grpc${CMAKE_SHARED_LIBRARY_SUFFIX})
253+
else()
254+
set(OTEL_CPP_RUNTIME ${OTEL_CPP_PREFIX}/lib/libopentelemetry_proto${CMAKE_SHARED_LIBRARY_SUFFIX})
255+
endif()
251256
set(OPENTELEMETRY_PROXY_RUNTIME_LIBRARIES ${OTEL_CPP_RUNTIME})
252257
endif()
253258

otel-cpp.patch

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
diff --git a/cmake/opentelemetry-proto.cmake b/cmake/opentelemetry-proto.cmake
2+
index 22082356..e25a89a2 100644
3+
--- a/cmake/opentelemetry-proto.cmake
4+
+++ b/cmake/opentelemetry-proto.cmake
5+
@@ -276,7 +276,7 @@ if(WITH_OTLP_GRPC)
6+
PUBLIC opentelemetry_proto)
7+
8+
get_target_property(grpc_lib_type gRPC::grpc++ TYPE)
9+
- if (grpc_lib_type STREQUAL "SHARED_LIBRARY")
10+
+ if (grpc_lib_type STREQUAL "SHARED_LIBRARY" OR APPLE)
11+
target_link_libraries(opentelemetry_proto_grpc
12+
PUBLIC gRPC::grpc++)
13+
endif()

0 commit comments

Comments
 (0)