56 lines
1.7 KiB
CMake
56 lines
1.7 KiB
CMake
# Copyright The OpenTelemetry Authors
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
include(GoogleTest)
|
|
|
|
add_library(component_a STATIC component_a.cc)
|
|
target_link_libraries(component_a opentelemetry_api)
|
|
|
|
add_library(component_b STATIC component_b.cc)
|
|
target_link_libraries(component_b opentelemetry_api)
|
|
|
|
add_library(component_c SHARED component_c.cc)
|
|
set_target_properties(component_c PROPERTIES CXX_VISIBILITY_PRESET default)
|
|
target_link_libraries(component_c opentelemetry_api)
|
|
|
|
add_library(component_d SHARED component_d.cc)
|
|
set_target_properties(component_d PROPERTIES CXX_VISIBILITY_PRESET hidden)
|
|
target_link_libraries(component_d opentelemetry_api)
|
|
|
|
add_library(component_e SHARED component_e.cc)
|
|
set_target_properties(component_e PROPERTIES CXX_VISIBILITY_PRESET default)
|
|
target_link_libraries(component_e opentelemetry_api)
|
|
|
|
add_library(component_f SHARED component_f.cc)
|
|
set_target_properties(component_f PROPERTIES CXX_VISIBILITY_PRESET hidden)
|
|
target_link_libraries(component_f opentelemetry_api)
|
|
|
|
add_library(component_g SHARED component_g.cc)
|
|
set_target_properties(component_g PROPERTIES CXX_VISIBILITY_PRESET default)
|
|
target_link_libraries(component_g opentelemetry_api)
|
|
|
|
add_library(component_h SHARED component_h.cc)
|
|
set_target_properties(component_h PROPERTIES CXX_VISIBILITY_PRESET hidden)
|
|
target_link_libraries(component_h opentelemetry_api)
|
|
|
|
add_executable(singleton_test singleton_test.cc)
|
|
|
|
# Not linking with component_g and component_h on purpose
|
|
target_link_libraries(
|
|
singleton_test
|
|
component_a
|
|
component_b
|
|
component_c
|
|
component_d
|
|
component_e
|
|
component_f
|
|
${GTEST_BOTH_LIBRARIES}
|
|
${CMAKE_THREAD_LIBS_INIT}
|
|
${CMAKE_DL_LIBS}
|
|
opentelemetry_api)
|
|
|
|
gtest_add_tests(
|
|
TARGET singleton_test
|
|
TEST_PREFIX singleton.
|
|
TEST_LIST singleton_test)
|