summaryrefslogtreecommitdiffstats
path: root/src/jaegertracing/opentelemetry-cpp/cmake/proto-options-patch.cmake
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-21 11:54:28 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-21 11:54:28 +0000
commite6918187568dbd01842d8d1d2c808ce16a894239 (patch)
tree64f88b554b444a49f656b6c656111a145cbbaa28 /src/jaegertracing/opentelemetry-cpp/cmake/proto-options-patch.cmake
parentInitial commit. (diff)
downloadceph-e6918187568dbd01842d8d1d2c808ce16a894239.tar.xz
ceph-e6918187568dbd01842d8d1d2c808ce16a894239.zip
Adding upstream version 18.2.2.upstream/18.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/jaegertracing/opentelemetry-cpp/cmake/proto-options-patch.cmake')
-rw-r--r--src/jaegertracing/opentelemetry-cpp/cmake/proto-options-patch.cmake116
1 files changed, 116 insertions, 0 deletions
diff --git a/src/jaegertracing/opentelemetry-cpp/cmake/proto-options-patch.cmake b/src/jaegertracing/opentelemetry-cpp/cmake/proto-options-patch.cmake
new file mode 100644
index 000000000..ed294ea79
--- /dev/null
+++ b/src/jaegertracing/opentelemetry-cpp/cmake/proto-options-patch.cmake
@@ -0,0 +1,116 @@
+macro(check_append_cxx_compiler_flag OUTPUT_VAR)
+ foreach(CHECK_FLAG ${ARGN})
+ check_cxx_compiler_flag(${CHECK_FLAG}
+ "check_cxx_compiler_flag_${CHECK_FLAG}")
+ if(check_cxx_compiler_flag_${CHECK_FLAG})
+ list(APPEND ${OUTPUT_VAR} ${CHECK_FLAG})
+ endif()
+ endforeach()
+endmacro()
+
+if(NOT PATCH_PROTOBUF_SOURCES_OPTIONS_SET)
+ if(MSVC)
+ unset(PATCH_PROTOBUF_SOURCES_OPTIONS CACHE)
+ set(PATCH_PROTOBUF_SOURCES_OPTIONS /wd4244 /wd4251 /wd4267 /wd4309)
+
+ if(MSVC_VERSION GREATER_EQUAL 1922)
+ # see
+ # https://docs.microsoft.com/en-us/cpp/overview/cpp-conformance-improvements?view=vs-2019#improvements_162
+ # for detail
+ list(APPEND PATCH_PROTOBUF_SOURCES_OPTIONS /wd5054)
+ endif()
+
+ if(MSVC_VERSION GREATER_EQUAL 1925)
+ list(APPEND PATCH_PROTOBUF_SOURCES_OPTIONS /wd4996)
+ endif()
+
+ if(MSVC_VERSION LESS 1910)
+ list(APPEND PATCH_PROTOBUF_SOURCES_OPTIONS /wd4800)
+ endif()
+ else()
+ unset(PATCH_PROTOBUF_SOURCES_OPTIONS CACHE)
+ include(CheckCXXCompilerFlag)
+ check_append_cxx_compiler_flag(
+ PATCH_PROTOBUF_SOURCES_OPTIONS -Wno-type-limits
+ -Wno-deprecated-declarations -Wno-unused-parameter)
+ endif()
+ set(PATCH_PROTOBUF_SOURCES_OPTIONS_SET TRUE)
+ if(PATCH_PROTOBUF_SOURCES_OPTIONS)
+ set(PATCH_PROTOBUF_SOURCES_OPTIONS
+ ${PATCH_PROTOBUF_SOURCES_OPTIONS}
+ CACHE INTERNAL
+ "Options to disable warning of generated protobuf sources" FORCE)
+ endif()
+endif()
+
+function(patch_protobuf_sources)
+ if(PATCH_PROTOBUF_SOURCES_OPTIONS)
+ foreach(PROTO_SRC ${ARGN})
+ unset(PROTO_SRC_OPTIONS)
+ get_source_file_property(PROTO_SRC_OPTIONS ${PROTO_SRC} COMPILE_OPTIONS)
+ if(PROTO_SRC_OPTIONS)
+ list(APPEND PROTO_SRC_OPTIONS ${PATCH_PROTOBUF_SOURCES_OPTIONS})
+ else()
+ set(PROTO_SRC_OPTIONS ${PATCH_PROTOBUF_SOURCES_OPTIONS})
+ endif()
+
+ set_source_files_properties(
+ ${PROTO_SRC} PROPERTIES COMPILE_OPTIONS "${PROTO_SRC_OPTIONS}")
+ endforeach()
+ unset(PROTO_SRC)
+ unset(PROTO_SRC_OPTIONS)
+ endif()
+endfunction()
+
+function(patch_protobuf_targets)
+ if(PATCH_PROTOBUF_SOURCES_OPTIONS)
+ foreach(PROTO_TARGET ${ARGN})
+ unset(PROTO_TARGET_OPTIONS)
+ get_target_property(PROTO_TARGET_OPTIONS ${PROTO_TARGET} COMPILE_OPTIONS)
+ if(PROTO_TARGET_OPTIONS)
+ list(APPEND PROTO_TARGET_OPTIONS ${PATCH_PROTOBUF_SOURCES_OPTIONS})
+ else()
+ set(PROTO_TARGET_OPTIONS ${PATCH_PROTOBUF_SOURCES_OPTIONS})
+ endif()
+
+ set_target_properties(
+ ${PROTO_TARGET} PROPERTIES COMPILE_OPTIONS "${PROTO_TARGET_OPTIONS}")
+ endforeach()
+ unset(PROTO_TARGET)
+ unset(PROTO_TARGET_OPTIONS)
+ endif()
+endfunction()
+
+function(project_build_tools_get_imported_location OUTPUT_VAR_NAME TARGET_NAME)
+ if(CMAKE_BUILD_TYPE)
+ string(TOUPPER "IMPORTED_LOCATION_${CMAKE_BUILD_TYPE}"
+ TRY_SPECIFY_IMPORTED_LOCATION)
+ get_target_property(${OUTPUT_VAR_NAME} ${TARGET_NAME}
+ ${TRY_SPECIFY_IMPORTED_LOCATION})
+ endif()
+ if(NOT ${OUTPUT_VAR_NAME})
+ get_target_property(${OUTPUT_VAR_NAME} ${TARGET_NAME} IMPORTED_LOCATION)
+ endif()
+ if(NOT ${OUTPUT_VAR_NAME})
+ get_target_property(
+ project_build_tools_get_imported_location_IMPORTED_CONFIGURATIONS
+ ${TARGET_NAME} IMPORTED_CONFIGURATIONS)
+ foreach(
+ project_build_tools_get_imported_location_IMPORTED_CONFIGURATION IN
+ LISTS project_build_tools_get_imported_location_IMPORTED_CONFIGURATIONS)
+ get_target_property(
+ ${OUTPUT_VAR_NAME}
+ ${TARGET_NAME}
+ "IMPORTED_LOCATION_${project_build_tools_get_imported_location_IMPORTED_CONFIGURATION}"
+ )
+ if(${OUTPUT_VAR_NAME})
+ break()
+ endif()
+ endforeach()
+ endif()
+ if(${OUTPUT_VAR_NAME})
+ set(${OUTPUT_VAR_NAME}
+ ${${OUTPUT_VAR_NAME}}
+ PARENT_SCOPE)
+ endif()
+endfunction()