From e6918187568dbd01842d8d1d2c808ce16a894239 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 21 Apr 2024 13:54:28 +0200 Subject: Adding upstream version 18.2.2. Signed-off-by: Daniel Baumann --- .../opentelemetry-cpp/docker/grpc/CMakeLists.txt | 84 ++++++++++++++++++++++ .../opentelemetry-cpp/docker/grpc/Dockerfile | 21 ++++++ 2 files changed, 105 insertions(+) create mode 100644 src/jaegertracing/opentelemetry-cpp/docker/grpc/CMakeLists.txt create mode 100644 src/jaegertracing/opentelemetry-cpp/docker/grpc/Dockerfile (limited to 'src/jaegertracing/opentelemetry-cpp/docker/grpc') diff --git a/src/jaegertracing/opentelemetry-cpp/docker/grpc/CMakeLists.txt b/src/jaegertracing/opentelemetry-cpp/docker/grpc/CMakeLists.txt new file mode 100644 index 000000000..8cb69cc6c --- /dev/null +++ b/src/jaegertracing/opentelemetry-cpp/docker/grpc/CMakeLists.txt @@ -0,0 +1,84 @@ +cmake_minimum_required(VERSION 3.11 FATAL_ERROR) + +project( + dependencies + LANGUAGES CXX + VERSION 0.0.1) + +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_EXTENSIONS OFF) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_FLAGS "-O2") + +set(CMAKE_BUILD_TYPE + Release + CACHE STRING "Build type" FORCE) + +include(GNUInstallDirs) + +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY + ${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY + ${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY + ${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) + +set(INSTALL_LIBDIR + ${CMAKE_INSTALL_LIBDIR} + CACHE PATH "directory for libraries") +set(INSTALL_BINDIR + ${CMAKE_INSTALL_BINDIR} + CACHE PATH "directory for executables") +set(INSTALL_INCLUDEDIR + ${CMAKE_INSTALL_INCLUDEDIR} + CACHE PATH "directory for header files") + +set(DEF_INSTALL_CMAKEDIR share/cmake/${PROJECT_NAME}) +set(INSTALL_CMAKEDIR + ${DEF_INSTALL_CMAKEDIR} + CACHE PATH "directory for CMake files") + +set_property(DIRECTORY PROPERTY EP_BASE ${CMAKE_BINARY_DIR}/subs) + +set(STAGED_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/stage) +message(STATUS "${PROJECT_NAME} staged install: ${STAGED_INSTALL_PREFIX}") + +find_package(OpenSSL REQUIRED) +message("OpenSSL include dir: ${OPENSSL_INCLUDE_DIR}") +message("OpenSSL libraries: ${OPENSSL_LIBRARIES}") + +set(GRPC_GIT_TAG + "v1.45.2" + CACHE STRING "gRPC version") + +include(ExternalProject) +ExternalProject_Add( + grpc + GIT_REPOSITORY https://github.com/grpc/grpc.git + GIT_TAG ${GRPC_GIT_TAG} + GIT_SHALLOW 1 + UPDATE_COMMAND "" + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${STAGED_INSTALL_PREFIX} + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} + -DgRPC_SSL_PROVIDER=package + -DOPENSSL_ROOT_DIR=OpenSSL + -DgRPC_BUILD_TESTS=OFF + -DBUILD_SHARED_LIBS=ON + -DgRPC_BUILD_GRPC_NODE_PLUGIN=OFF + -DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=OFF + -DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF + -DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF + -DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF + -DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF + CMAKE_CACHE_ARGS -DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS} + TEST_AFTER_INSTALL 0 + DOWNLOAD_NO_PROGRESS 1 + LOG_CONFIGURE 1 + LOG_BUILD 0 + LOG_INSTALL 1) + +install( + DIRECTORY ${STAGED_INSTALL_PREFIX}/ + DESTINATION . + USE_SOURCE_PERMISSIONS) diff --git a/src/jaegertracing/opentelemetry-cpp/docker/grpc/Dockerfile b/src/jaegertracing/opentelemetry-cpp/docker/grpc/Dockerfile new file mode 100644 index 000000000..fee3082b2 --- /dev/null +++ b/src/jaegertracing/opentelemetry-cpp/docker/grpc/Dockerfile @@ -0,0 +1,21 @@ +ARG BASE_IMAGE=ubuntu:latest +FROM ${BASE_IMAGE} AS grpc + +ARG CORES=${nproc} +ARG GRPC_GIT_TAG=v1.45.2 + +RUN mkdir mkdir -p /opt/third_party/grpc + +WORKDIR /opt/third_party/grpc + +ADD CMakeLists.txt /opt/third_party/grpc + +RUN mkdir build \ + && cd build \ + && cmake -DCMAKE_INSTALL_PREFIX=/opt/third_party/install \ + -DGRPC_GIT_TAG=${GRPC_GIT_TAG} /opt/third_party/grpc \ + && cmake --build . -j ${CORES} --target install + +FROM scratch as final + +COPY --from=grpc /opt/third_party/install / -- cgit v1.2.3