From a495be45283e72457c589bd574ca8761c1807543 Mon Sep 17 00:00:00 2001 From: Milan Ziegler Date: Thu, 1 Jun 2023 16:41:40 +0200 Subject: [PATCH] Add Bazel build and adapt CMake for our CI --- .bazelrc | 45 ++++++ .bazelversion | 1 + .gitignore | 3 + BUILD | 67 +++++++++ CMakeLists.txt | 60 ++++---- WORKSPACE | 49 +++++++ bazel/BUILD | 0 bazel/cmake_like_configure_file.bzl | 26 ++++ boost.BUILD | 64 +++++++++ examples/hello_world/BUILD | 39 ++++++ implementation/BUILD | 129 ++++++++++++++++++ .../configuration/include/internal.hpp.in | 8 ++ interface/BUILD | 15 ++ test/CMakeLists.txt | 2 +- 14 files changed, 482 insertions(+), 26 deletions(-) create mode 100644 .bazelrc create mode 100644 .bazelversion create mode 100644 BUILD create mode 100644 WORKSPACE create mode 100644 bazel/BUILD create mode 100644 bazel/cmake_like_configure_file.bzl create mode 100644 boost.BUILD create mode 100644 examples/hello_world/BUILD create mode 100644 implementation/BUILD create mode 100644 interface/BUILD diff --git a/.bazelrc b/.bazelrc new file mode 100644 index 000000000..58c0fc4ce --- /dev/null +++ b/.bazelrc @@ -0,0 +1,45 @@ +build --experimental_cc_shared_library +build --experimental_cc_implementation_deps +build --cxxopt "-std=c++17" + +# Enable new platform resolution for C/+++ +build --incompatible_enable_cc_toolchain_resolution + +# Be strict on environment variables passed +build --incompatible_strict_action_env + +## Address sanitizer +build:asan --define SANITIZERS_ASAN_ON=true +build:asan --copt="-fsanitize=address" +build:asan --copt="-no-canonical-prefixes" +build:asan --copt="-fno-omit-frame-pointer" +build:asan --copt="-fno-sanitize-recover" +build:asan --copt="-DADDRESS_SANITIZER" +build:asan --linkopt="-fsanitize=address" +build:asan --strip=never +build:asan --action_env=ASAN_OPTIONS=detect_leaks=1:color=always +build:asan --action_env=LSAN_OPTIONS="report_objects=1" +build:asan --cc_output_directory_tag=asan + +## Thread sanitizer +build:tsan --define SANITIZERS_TSAN_ON=true +build:tsan --copt="-fsanitize=thread" +build:tsan --copt="-fno-omit-frame-pointer" +build:tsan --copt="-fno-sanitize-recover" +build:tsan --copt="-DTHREAD_SANITIZER" +build:tsan --linkopt="-fsanitize=thread" +build:tsan --strip=never +build:tsan --action_env=TSAN_OPTIONS="report_objects=1" +build:tsan --cc_output_directory_tag=tsan + +## UndefinedBehavior sanitizer +build:ubsan --define SANITIZERS_UBSAN_ON=true +build:ubsan --copt="-fsanitize=undefined" +build:ubsan --copt="-fno-omit-frame-pointer" +build:ubsan --copt="-fno-sanitize-recover" +build:ubsan --copt="-DUNDEFINED_BEHAVIOR_SANITIZER" +build:ubsan --linkopt="-fsanitize=undefined" +build:ubsan --linkopt="-lubsan" +build:ubsan --strip=never +build:ubsan --action_env=UBSAN_OPTIONS="halt_on_error=1:print_stacktrace=1" +build:ubsan --cc_output_directory_tag=ubsan \ No newline at end of file diff --git a/.bazelversion b/.bazelversion new file mode 100644 index 000000000..91e4a9f26 --- /dev/null +++ b/.bazelversion @@ -0,0 +1 @@ +6.3.2 diff --git a/.gitignore b/.gitignore index c219dacda..97e56751e 100644 --- a/.gitignore +++ b/.gitignore @@ -175,3 +175,6 @@ /test/network_tests/suspend_resume_tests/suspend_resume_test_service.json /Testing !build_qnx/* + +/.clwb/ +/bazel-* \ No newline at end of file diff --git a/BUILD b/BUILD new file mode 100644 index 000000000..1c5e28bca --- /dev/null +++ b/BUILD @@ -0,0 +1,67 @@ +cc_shared_library( + name = "vsomeip3_shared", + shared_lib_name = "libvsomeip3.so", + tags = ["same-ros-pkg-as: vsomeip3"], + # Disabled due to linking problem when used as an external repository with sanitizers enabled. + #user_link_flags = [ + # "-Wl,--no-undefined", + #], + deps = [ + "//implementation", + ], +) + +cc_shared_library( + name = "vsomeip3_config_plugin", + dynamic_deps = [ + ":vsomeip3_shared", + ], + shared_lib_name = "libvsomeip3-cfg.so.3", + tags = ["same-ros-pkg-as: vsomeip3"], + # Disabled due to linking problem when used as an external repository with sanitizers enabled. + #user_link_flags = [ + # "-Wl,--no-undefined", + #], + deps = [ + "//implementation:configuration", + ], +) + +cc_shared_library( + name = "vsomeip3_sd_plugin", + dynamic_deps = [ + ":vsomeip3_shared", + ], + shared_lib_name = "libvsomeip3-sd.so.3", + tags = ["same-ros-pkg-as: vsomeip3"], + # Disabled due to linking problem when used as an external repository with sanitizers enabled. + #user_link_flags = [ + # "-Wl,--no-undefined", + #], + deps = [ + "//implementation:service_discovery", + ], +) + +cc_import( + name = "vsomeip3_import", + shared_library = ":vsomeip3_shared", + tags = ["same-ros-pkg-as: vsomeip3"], + deps = [ + "//interface", + ], +) + +# interface library, use this target to depend on vsomeip +cc_library( + name = "vsomeip3", + data = [ + ":vsomeip3_config_plugin", + ":vsomeip3_sd_plugin", + ], + linkstatic = True, # no object files + visibility = ["//visibility:public"], + deps = [ + ":vsomeip3_import", + ], +) diff --git a/CMakeLists.txt b/CMakeLists.txt index ab399a69e..a7a96cef1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -161,12 +161,8 @@ add_definitions(-DVSOMEIP_INTERNAL_SUPPRESS_DEPRECATED) find_package(Threads REQUIRED) # Boost -find_package( Boost 1.55 COMPONENTS system thread filesystem REQUIRED ) -if(${CMAKE_SYSTEM_NAME} MATCHES "QNX") - include_directories(${Boost_INCLUDE_DIR} ) -else() - include_directories(SYSTEM ${Boost_INCLUDE_DIR} ) -endif() +find_package( Boost 1.71 COMPONENTS system thread filesystem REQUIRED ) +include_directories(${Boost_INCLUDE_DIRS}) if(Boost_FOUND) if(Boost_LIBRARY_DIR) @@ -251,13 +247,33 @@ if (MSVC) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS -D_WINSOCK_DEPRECATED_NO_WARNINGS -D_WIN32_WINNT=${BOOST_WINDOWS_VERSION} -DWIN32 -DBOOST_ASIO_DISABLE_IOCP /EHsc /std:c++14 /wd4250") set(USE_RT "") link_directories(${Boost_LIBRARY_DIR_DEBUG}) -elseif(${CMAKE_SYSTEM_NAME} MATCHES "QNX") - set(USE_RT "") else() - set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OS_CXX_FLAGS} -g ${OPTIMIZE} -std=c++14 ${NO_DEPRECATED} ${EXPORTSYMBOLS}") + ################################################################################ + # Apex.AI additions + ################################################################################ + if (CMAKE_BUILD_TYPE STREQUAL "Release") + # Remove -g flag on Release builds, to remove debug_symbols + set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OS_CXX_FLAGS} ${OPTIMIZE} -std=c++14 ${NO_DEPRECATED} ${EXPORTSYMBOLS}") + else() + set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OS_CXX_FLAGS} -g ${OPTIMIZE} -std=c++14 ${NO_DEPRECATED} ${EXPORTSYMBOLS}") + endif() set(USE_RT "rt") endif() + +################################################################################ +# Apex.AI additions +################################################################################ +if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-overloaded-virtual") +endif() + +if ("${CMAKE_SYSTEM_NAME}" STREQUAL "QNX") + add_definitions(-DBOOST_ASIO_DISABLE_STRING_VIEW) + set (VSOMEIP_BASE_PATH "/var") + set(USE_RT "") +endif() + ################################################################################ # Configuration library ################################################################################ @@ -304,7 +320,7 @@ add_library(${VSOMEIP_NAME} SHARED ${${VSOMEIP_NAME}_SRC}) set_target_properties (${VSOMEIP_NAME} PROPERTIES VERSION ${VSOMEIP_VERSION} SOVERSION ${VSOMEIP_MAJOR_VERSION}) if (MSVC) set_target_properties(${VSOMEIP_NAME} PROPERTIES COMPILE_DEFINITIONS "VSOMEIP_DLL_COMPILATION") -else () +elseif (NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "QNX") set_target_properties(${VSOMEIP_NAME} PROPERTIES LINK_FLAGS "-Wl,-wrap,socket -Wl,-wrap,accept -Wl,-wrap,open") endif () target_include_directories(${VSOMEIP_NAME} INTERFACE @@ -450,10 +466,10 @@ message(STATUS "Default configuration folder: ${DEFAULT_CONFIGURATION_FOLDER}") set(DEFAULT_CONFIGURATION_FILE "/etc/vsomeip.json" CACHE FILEPATH "Default configuration file") message(STATUS "Default configuration file: ${DEFAULT_CONFIGURATION_FILE}") -message("Predefined base path: ${VSOMEIP_BASE_PATH}") -message("Predefined unicast address: ${VSOMEIP_UNICAST_ADDRESS}") -message("Predefined diagnosis address: ${VSOMEIP_DIAGNOSIS_ADDRESS}") -message("Predefined wait times for internal communication ports (TCP):\ +message(STATUS "Predefined base path: ${VSOMEIP_BASE_PATH}") +message(STATUS "Predefined unicast address: ${VSOMEIP_UNICAST_ADDRESS}") +message(STATUS "Predefined diagnosis address: ${VSOMEIP_DIAGNOSIS_ADDRESS}") +message(STATUS "Predefined wait times for internal communication ports (TCP):\ ${VSOMEIP_LOCAL_TCP_PORT_WAIT_TIME}\ (max=${VSOMEIP_LOCAL_TCP_PORT_MAX_WAIT_TIME})") @@ -577,10 +593,8 @@ install ( ############################################################################## add_custom_target(doc) -find_package(Doxygen) -if (NOT DOXYGEN_FOUND) - message(WARNING "Doxygen is not installed. Documentation can not be built.") -else() +find_package(Doxygen QUIET) +if (DOXYGEN_FOUND) # set configuration variables for doxygen.in set(PROJECT "vsomeip") set(DOCDIR documentation) @@ -615,13 +629,9 @@ else() add_dependencies(doc doxygen-doc) endif() -find_program(ASCIIDOC_PATH asciidoc) -find_program(SOURCE_HIGHLIGHT_PATH source-highlight) -if ("${ASCIIDOC_PATH}" STREQUAL "ASCIIDOC_PATH-NOTFOUND") - message(WARNING "asciidoc is not installed. Readme can not be built.") -elseif("${SOURCE_HIGHLIGHT_PATH}" STREQUAL "SOURCE_HIGHLIGHT_PATH-NOTFOUND") - message(WARNING "source-highlight is not installed. Readme can not be built.") -else() +find_program(ASCIIDOC_PATH asciidoc QUIET) +find_program(SOURCE_HIGHLIGHT_PATH source-highlight QUIET) +if (NOT ("${ASCIIDOC_PATH}" STREQUAL "ASCIIDOC_PATH-NOTFOUND" OR "${SOURCE_HIGHLIGHT_PATH}" STREQUAL "SOURCE_HIGHLIGHT_PATH-NOTFOUND")) message("asciidoc found") message("source-highlight found") add_custom_command(TARGET doc diff --git a/WORKSPACE b/WORKSPACE new file mode 100644 index 000000000..4693959b7 --- /dev/null +++ b/WORKSPACE @@ -0,0 +1,49 @@ +workspace(name = "vsomeip") + +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") + +BOOST_VERSION = "1.81.0" + +BOOST_VERSION_us = BOOST_VERSION.replace(".", "_") + +http_archive( + name = "boost", + build_file = "@//:boost.BUILD", + sha256 = "71feeed900fbccca04a3b4f2f84a7c217186f28a940ed8b7ed4725986baf99fa", + strip_prefix = "boost_{version_underscore}".format(version_underscore = BOOST_VERSION_us), + urls = ["https://boostorg.jfrog.io/artifactory/main/release/{version}/source/boost_{version_underscore}.tar.bz2".format( + version = BOOST_VERSION, + version_underscore = BOOST_VERSION_us, + )], +) + +GOOGLETEST_VERSION = "1.11.0" + +http_archive( + name = "googletest", + sha256 = "353571c2440176ded91c2de6d6cd88ddd41401d14692ec1f99e35d013feda55a", + strip_prefix = "googletest-release-{version}".format(version = GOOGLETEST_VERSION), + urls = ["https://github.com/google/googletest/archive/refs/tags/release-{version}.zip".format(version = GOOGLETEST_VERSION)], +) + +# GOOGLETEST dependencies, taken from: https://raw.githubusercontent.com/google/googletest/release-1.11.0/WORKSPACE +http_archive( + name = "com_google_absl", + sha256 = "aeba534f7307e36fe084b452299e49b97420667a8d28102cf9a0daeed340b859", + strip_prefix = "abseil-cpp-7971fb358ae376e016d2d4fc9327aad95659b25e", + urls = ["https://github.com/abseil/abseil-cpp/archive/7971fb358ae376e016d2d4fc9327aad95659b25e.zip"], # 2021-05-20T02:59:16Z +) + +http_archive( + name = "rules_cc", + sha256 = "1e19e9a3bc3d4ee91d7fcad00653485ee6c798efbbf9588d40b34cbfbded143d", + strip_prefix = "rules_cc-68cb652a71e7e7e2858c50593e5a9e3b94e5b9a9", + urls = ["https://github.com/bazelbuild/rules_cc/archive/68cb652a71e7e7e2858c50593e5a9e3b94e5b9a9.zip"], # 2021-05-14T14:51:14Z +) + +http_archive( + name = "rules_python", + sha256 = "98b3c592faea9636ac8444bfd9de7f3fb4c60590932d6e6ac5946e3f8dbd5ff6", + strip_prefix = "rules_python-ed6cc8f2c3692a6a7f013ff8bc185ba77eb9b4d2", + urls = ["https://github.com/bazelbuild/rules_python/archive/ed6cc8f2c3692a6a7f013ff8bc185ba77eb9b4d2.zip"], # 2021-05-17T00:24:16Z +) diff --git a/bazel/BUILD b/bazel/BUILD new file mode 100644 index 000000000..e69de29bb diff --git a/bazel/cmake_like_configure_file.bzl b/bazel/cmake_like_configure_file.bzl new file mode 100644 index 000000000..564111677 --- /dev/null +++ b/bazel/cmake_like_configure_file.bzl @@ -0,0 +1,26 @@ +""" +The configure_file rule imitates the similar CMake function for generating code: https://cmake.org/cmake/help/latest/command/configure_file.html +""" + +def _cmake_like_configure_file_impl(ctx): + ctx.actions.expand_template( + template = ctx.file.src, + output = ctx.outputs.out, + substitutions = { + "@" + k + "@": v + for k, v in ctx.attr.config.items() + }, + ) + files = depset(direct = [ctx.outputs.out]) + runfiles = ctx.runfiles(files = [ctx.outputs.out]) + return [DefaultInfo(files = files, runfiles = runfiles)] + +cmake_like_configure_file = rule( + implementation = _cmake_like_configure_file_impl, + provides = [DefaultInfo], + attrs = { + "src": attr.label(mandatory = True, allow_single_file = True), + "out": attr.output(mandatory = True), + "config": attr.string_dict(mandatory = True), + }, +) diff --git a/boost.BUILD b/boost.BUILD new file mode 100644 index 000000000..bc60d63ee --- /dev/null +++ b/boost.BUILD @@ -0,0 +1,64 @@ +load("@rules_cc//cc:defs.bzl", "cc_library") + +cc_library( + name = "headers", + hdrs = glob( + [ + "boost/**", + ], + ), + local_defines = ["BOOST_ALL_NO_LIB"], + include_prefix = ".", + visibility = ["//visibility:public"], +) + +cc_library( + name = "_thread_detail", + hdrs = select({ + "@platforms//os:linux": ["libs/thread/src/pthread/once_atomic.cpp"], + "//conditions:default": [], + }), + strip_include_prefix = "libs/thread/src/pthread", +) + +cc_library( + name = "thread", + srcs = glob( + [ + "libs/thread/src/*.cpp", + ], + ) + select({ + "@platforms//os:linux": [ + "libs/thread/src/pthread/once.cpp", + "libs/thread/src/pthread/thread.cpp", + ], + "//conditions:default": [], + }), + implementation_deps = [ + ":_thread_detail", + ], + linkopts = select({ + "@platforms//os:linux": ["-lpthread"], + "//conditions:default": [], + }), + deps = [ + ":headers", + ], + visibility = ["//visibility:public"], +) + +cc_library( + name = "filesystem", + srcs = glob( + [ + "libs/filesystem/src/**", + ], + ), + defines = [ + "BOOST_FILESYSTEM_NO_CXX20_ATOMIC_REF" + ], + deps = [ + ":headers", + ], + visibility = ["//visibility:public"], +) diff --git a/examples/hello_world/BUILD b/examples/hello_world/BUILD new file mode 100644 index 000000000..c9485587a --- /dev/null +++ b/examples/hello_world/BUILD @@ -0,0 +1,39 @@ +cc_library( + name = "vsomeip_hello_world_service", + hdrs = ["hello_world_service.hpp"], + include_prefix = ".", +) + +cc_library( + name = "vsomeip_hello_world_client", + hdrs = ["hello_world_client.hpp"], + include_prefix = ".", +) + +cc_binary( + name = "hello_world_service", + srcs = [ + "hello_world_service_main.cpp", + ], + linkopts = [ + "-Wl,-rpath=\\$$ORIGIN/../..,--disable-new-dtags", + ], + deps = [ + ":vsomeip_hello_world_service", + "//:vsomeip3", + ], +) + +cc_binary( + name = "hello_world_client", + srcs = [ + "hello_world_client_main.cpp", + ], + linkopts = [ + "-Wl,-rpath=\\$$ORIGIN/../..,--disable-new-dtags", + ], + deps = [ + ":vsomeip_hello_world_client", + "//:vsomeip3", + ], +) diff --git a/implementation/BUILD b/implementation/BUILD new file mode 100644 index 000000000..ce525331f --- /dev/null +++ b/implementation/BUILD @@ -0,0 +1,129 @@ +load("@vsomeip//bazel:cmake_like_configure_file.bzl", "cmake_like_configure_file") + +cmake_like_configure_file( + name = "config", + src = "configuration/include/internal.hpp.in", + out = "configuration/include/internal.hpp", + config = { + "DEFAULT_CONFIGURATION_FILE": "/etc/vsomeip.json", + "DEFAULT_CONFIGURATION_FOLDER": "/etc/vsomeip", + "VSOMEIP_UNICAST_ADDRESS": "127.0.0.1", + "VSOMEIP_DIAGNOSIS_ADDRESS": "0x01", + "VSOMEIP_ROUTING_READY_MESSAGE": "SOME/IP routing ready.", + "VSOMEIP_HOTFIX_VERSION": "0", + "VSOMEIP_MAJOR_VERSION": "3", + "VSOMEIP_MINOR_VERSION": "3", + "VSOMEIP_PATCH_VERSION": "0", + "VSOMEIP_LOCAL_TCP_PORT_WAIT_TIME": "100", + "VSOMEIP_LOCAL_TCP_PORT_MAX_WAIT_TIME": "10000", + } | select({ + "//conditions:default": {"VSOMEIP_BASE_PATH": "/tmp"}, + "@platforms//os:qnx": {"VSOMEIP_BASE_PATH": "/var"}, + }), +) + +cc_library( + name = "generated_config", + hdrs = [":config"], + strip_include_prefix = "configuration/include", +) + +cc_library( + name = "helper", + hdrs = glob( + [ + "helper/**/*.hpp", + "helper/**/*.ipp", + ], + ), + defines = [ + "VSOMEIP_BOOST_VERSION=108100", + ], + strip_include_prefix = "helper", + tags = ["same-ros-pkg-as: @vsomeip//:vsomeip3"], + deps = [ + "@boost//:headers", + "@boost//:thread", + ], +) + +cc_library( + name = "configuration", + srcs = glob( + [ + "configuration/src/*.cpp", + ], + ), + visibility = ["//:__pkg__"], + deps = [ + ":implementation", + "@boost//:filesystem", + ], +) + +cc_library( + name = "service_discovery", + srcs = glob( + [ + "service_discovery/src/*.cpp", + ], + ), + visibility = ["//:__pkg__"], + deps = [ + ":implementation", + ], +) + +cc_library( + name = "implementation", + srcs = glob( + [ + "endpoints/src/*.cpp", + "logger/src/*.cpp", + "tracing/src/*.cpp", + "message/src/*.cpp", + "plugin/src/*.cpp", + "protocol/src/*.cpp", + "routing/src/*.cpp", + "runtime/src/*.cpp", + "security/src/*.cpp", + "utility/src/*.cpp", + ], + exclude = [ + "utility/src/wrappers.cpp", + ], + ), + hdrs = glob( + [ + "*/include/**/*.hpp", + ], + ), + copts = ["-Wno-error"], + defines = [ + "WITHOUT_SYSTEMD", + "VSOMEIP_DISABLE_SECURITY", + ], + includes = glob( + [ + "*/include", + ], + ) + ["message"], + linkopts = select({ + "@platforms//os:linux": [ + "-lpthread", + "-ldl", + # these cause linker issues when used as external dependency in gcc8 (tested working with clang16) + # since CLOEXEC is not immediately necessary for our use-case, disable the wrappers for now + #"-Wl,-wrap,socket", + #"-Wl,-wrap,accept", + ], + "//conditions:default": [], + }), + tags = ["same-ros-pkg-as: @vsomeip//:vsomeip3"], + visibility = ["//:__pkg__"], + deps = [ + ":generated_config", + ":helper", + "//interface", + ], +) diff --git a/implementation/configuration/include/internal.hpp.in b/implementation/configuration/include/internal.hpp.in index 72c8d503e..cc329108d 100644 --- a/implementation/configuration/include/internal.hpp.in +++ b/implementation/configuration/include/internal.hpp.in @@ -13,6 +13,14 @@ #include #include +#ifndef VSOMEIP_VERSION +#if @VSOMEIP_HOTFIX_VERSION@ == 0 +#define VSOMEIP_VERSION "@VSOMEIP_MAJOR_VERSION@.@VSOMEIP_MINOR_VERSION@.@VSOMEIP_PATCH_VERSION@.apexai" +#else +#define VSOMEIP_VERSION "@VSOMEIP_MAJOR_VERSION@.@VSOMEIP_MINOR_VERSION@.@VSOMEIP_PATCH_VERSION@.@VSOMEIP_HOTFIX_VERSION@.apexai" +#endif +#endif + #define VSOMEIP_ENV_APPLICATION_NAME "VSOMEIP_APPLICATION_NAME" #define VSOMEIP_ENV_CONFIGURATION "VSOMEIP_CONFIGURATION" #define VSOMEIP_ENV_CONFIGURATION_MODULE "VSOMEIP_CONFIGURATION_MODULE" diff --git a/interface/BUILD b/interface/BUILD new file mode 100644 index 000000000..95d996b75 --- /dev/null +++ b/interface/BUILD @@ -0,0 +1,15 @@ +cc_library( + name = "interface", + hdrs = glob( + [ + "**/*.hpp", + "**/*.h", + ], + ), + include_prefix = ".", + tags = ["same-ros-pkg-as: @vsomeip//:vsomeip3"], + visibility = [ + "//:__pkg__", + "//implementation:__pkg__", + ], +) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index f66ac5d33..8b5b30730 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -9,7 +9,7 @@ ############################################################################## # google benchmark -find_package(benchmark) +find_package(benchmark QUIET) ############################################################################## # google test