CMakeLists.txt 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623
  1. # Copyright The OpenTelemetry Authors
  2. # SPDX-License-Identifier: Apache-2.0
  3. add_library(
  4. opentelemetry_otlp_recordable
  5. src/otlp_environment.cc src/otlp_log_recordable.cc src/otlp_recordable.cc
  6. src/otlp_populate_attribute_utils.cc src/otlp_recordable_utils.cc
  7. src/otlp_metric_utils.cc)
  8. set_target_properties(opentelemetry_otlp_recordable PROPERTIES EXPORT_NAME
  9. otlp_recordable)
  10. set_target_version(opentelemetry_otlp_recordable)
  11. target_include_directories(
  12. opentelemetry_otlp_recordable
  13. PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include>"
  14. "$<INSTALL_INTERFACE:include>")
  15. set(OPENTELEMETRY_OTLP_TARGETS opentelemetry_otlp_recordable)
  16. target_link_libraries(opentelemetry_otlp_recordable PUBLIC opentelemetry_logs)
  17. target_link_libraries(opentelemetry_otlp_recordable
  18. PUBLIC opentelemetry_metrics)
  19. if(WITH_OTLP_GRPC)
  20. find_package(gRPC REQUIRED)
  21. add_library(
  22. opentelemetry_exporter_otlp_grpc_client
  23. src/otlp_grpc_client.cc src/otlp_grpc_client_factory.cc
  24. src/otlp_grpc_utils.cc)
  25. set_target_properties(opentelemetry_exporter_otlp_grpc_client
  26. PROPERTIES EXPORT_NAME otlp_grpc_client)
  27. set_target_version(opentelemetry_exporter_otlp_grpc_client)
  28. # Because opentelemetry_proto_grpc depends on gRPC, and gRPC can only be
  29. # linked in one dynamic library or executable (otherwise, there may be
  30. # conflicts with some global variables in certain versions of gRPC), we have
  31. # switched the link for opentelemetry_exporter_otlp_grpc_client into all
  32. # targets that depend on opentelemetry_proto_grpc.
  33. target_link_libraries(
  34. opentelemetry_exporter_otlp_grpc_client
  35. PUBLIC opentelemetry_sdk opentelemetry_common
  36. # gRPC::grpc++ must be linked before opentelemetry_proto_grpc.
  37. opentelemetry_proto_grpc
  38. PRIVATE gRPC::grpc++ opentelemetry_ext)
  39. get_target_property(GRPC_INCLUDE_DIRECTORY gRPC::grpc++
  40. INTERFACE_INCLUDE_DIRECTORIES)
  41. if(GRPC_INCLUDE_DIRECTORY)
  42. target_include_directories(
  43. opentelemetry_exporter_otlp_grpc_client BEFORE
  44. PUBLIC "$<BUILD_INTERFACE:${GRPC_INCLUDE_DIRECTORY}>")
  45. endif()
  46. target_include_directories(
  47. opentelemetry_exporter_otlp_grpc_client
  48. PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include>"
  49. "$<INSTALL_INTERFACE:include>")
  50. list(APPEND OPENTELEMETRY_OTLP_GRPC_TARGETS
  51. opentelemetry_exporter_otlp_grpc_client opentelemetry_proto_grpc)
  52. add_library(
  53. opentelemetry_exporter_otlp_grpc
  54. src/otlp_grpc_exporter.cc src/otlp_grpc_exporter_factory.cc
  55. src/otlp_grpc_exporter_options.cc)
  56. set_target_properties(opentelemetry_exporter_otlp_grpc
  57. PROPERTIES EXPORT_NAME otlp_grpc_exporter)
  58. set_target_version(opentelemetry_exporter_otlp_grpc)
  59. target_link_libraries(
  60. opentelemetry_exporter_otlp_grpc
  61. PUBLIC opentelemetry_otlp_recordable
  62. opentelemetry_exporter_otlp_grpc_client)
  63. list(APPEND OPENTELEMETRY_OTLP_GRPC_TARGETS opentelemetry_exporter_otlp_grpc)
  64. add_library(
  65. opentelemetry_exporter_otlp_grpc_log
  66. src/otlp_grpc_log_record_exporter.cc
  67. src/otlp_grpc_log_record_exporter_factory.cc
  68. src/otlp_grpc_log_record_exporter_options.cc)
  69. set_target_properties(opentelemetry_exporter_otlp_grpc_log
  70. PROPERTIES EXPORT_NAME otlp_grpc_log_record_exporter)
  71. set_target_version(opentelemetry_exporter_otlp_grpc_log)
  72. target_link_libraries(
  73. opentelemetry_exporter_otlp_grpc_log
  74. PUBLIC opentelemetry_otlp_recordable
  75. opentelemetry_exporter_otlp_grpc_client)
  76. list(APPEND OPENTELEMETRY_OTLP_GRPC_TARGETS
  77. opentelemetry_exporter_otlp_grpc_log)
  78. add_library(
  79. opentelemetry_exporter_otlp_grpc_metrics
  80. src/otlp_grpc_metric_exporter.cc src/otlp_grpc_metric_exporter_factory.cc
  81. src/otlp_grpc_metric_exporter_options.cc)
  82. set_target_properties(opentelemetry_exporter_otlp_grpc_metrics
  83. PROPERTIES EXPORT_NAME otlp_grpc_metrics_exporter)
  84. set_target_version(opentelemetry_exporter_otlp_grpc_metrics)
  85. target_link_libraries(
  86. opentelemetry_exporter_otlp_grpc_metrics
  87. PUBLIC opentelemetry_otlp_recordable
  88. opentelemetry_exporter_otlp_grpc_client)
  89. list(APPEND OPENTELEMETRY_OTLP_GRPC_TARGETS
  90. opentelemetry_exporter_otlp_grpc_metrics)
  91. endif()
  92. if(WITH_OTLP_HTTP)
  93. add_library(opentelemetry_exporter_otlp_http_client src/otlp_http.cc
  94. src/otlp_http_client.cc)
  95. set_target_properties(opentelemetry_exporter_otlp_http_client
  96. PROPERTIES EXPORT_NAME otlp_http_client)
  97. set_target_version(opentelemetry_exporter_otlp_http_client)
  98. target_link_libraries(
  99. opentelemetry_exporter_otlp_http_client
  100. PUBLIC opentelemetry_sdk opentelemetry_ext
  101. # Links flags of opentelemetry_http_client_curl should be public when
  102. # building internal components
  103. PRIVATE opentelemetry_proto
  104. "$<BUILD_INTERFACE:opentelemetry_http_client_curl>"
  105. "$<BUILD_INTERFACE:nlohmann_json::nlohmann_json>"
  106. "$<INSTALL_INTERFACE:opentelemetry_http_client_curl>")
  107. if(nlohmann_json_clone)
  108. add_dependencies(opentelemetry_exporter_otlp_http_client
  109. nlohmann_json::nlohmann_json)
  110. endif()
  111. target_include_directories(
  112. opentelemetry_exporter_otlp_http_client
  113. PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include>"
  114. "$<INSTALL_INTERFACE:include>")
  115. list(APPEND OPENTELEMETRY_OTLP_HTTP_TARGETS
  116. opentelemetry_exporter_otlp_http_client)
  117. add_library(
  118. opentelemetry_exporter_otlp_http
  119. src/otlp_http_exporter.cc src/otlp_http_exporter_factory.cc
  120. src/otlp_http_exporter_options.cc)
  121. set_target_properties(opentelemetry_exporter_otlp_http
  122. PROPERTIES EXPORT_NAME otlp_http_exporter)
  123. set_target_version(opentelemetry_exporter_otlp_http)
  124. target_link_libraries(
  125. opentelemetry_exporter_otlp_http
  126. PUBLIC opentelemetry_otlp_recordable
  127. opentelemetry_exporter_otlp_http_client)
  128. list(APPEND OPENTELEMETRY_OTLP_HTTP_TARGETS opentelemetry_exporter_otlp_http)
  129. add_library(
  130. opentelemetry_exporter_otlp_http_log
  131. src/otlp_http_log_record_exporter.cc
  132. src/otlp_http_log_record_exporter_factory.cc
  133. src/otlp_http_log_record_exporter_options.cc)
  134. set_target_properties(opentelemetry_exporter_otlp_http_log
  135. PROPERTIES EXPORT_NAME otlp_http_log_record_exporter)
  136. set_target_version(opentelemetry_exporter_otlp_http_log)
  137. target_link_libraries(
  138. opentelemetry_exporter_otlp_http_log
  139. PUBLIC opentelemetry_otlp_recordable
  140. opentelemetry_exporter_otlp_http_client)
  141. list(APPEND OPENTELEMETRY_OTLP_HTTP_TARGETS
  142. opentelemetry_exporter_otlp_http_log)
  143. add_library(
  144. opentelemetry_exporter_otlp_http_metric
  145. src/otlp_http_metric_exporter.cc src/otlp_http_metric_exporter_factory.cc
  146. src/otlp_http_metric_exporter_options.cc)
  147. set_target_properties(opentelemetry_exporter_otlp_http_metric
  148. PROPERTIES EXPORT_NAME otlp_http_metric_exporter)
  149. set_target_version(opentelemetry_exporter_otlp_http_metric)
  150. target_link_libraries(
  151. opentelemetry_exporter_otlp_http_metric
  152. PUBLIC opentelemetry_otlp_recordable
  153. opentelemetry_exporter_otlp_http_client)
  154. list(APPEND OPENTELEMETRY_OTLP_HTTP_TARGETS
  155. opentelemetry_exporter_otlp_http_metric)
  156. endif()
  157. if(WITH_OTLP_FILE)
  158. add_library(opentelemetry_exporter_otlp_file_client src/otlp_file_client.cc)
  159. set_target_properties(opentelemetry_exporter_otlp_file_client
  160. PROPERTIES EXPORT_NAME otlp_file_client)
  161. set_target_version(opentelemetry_exporter_otlp_file_client)
  162. target_link_libraries(
  163. opentelemetry_exporter_otlp_file_client
  164. PUBLIC opentelemetry_sdk opentelemetry_common
  165. PRIVATE opentelemetry_proto $<BUILD_INTERFACE:nlohmann_json::nlohmann_json>)
  166. if(nlohmann_json_clone)
  167. add_dependencies(opentelemetry_exporter_otlp_file_client
  168. nlohmann_json::nlohmann_json)
  169. endif()
  170. target_include_directories(
  171. opentelemetry_exporter_otlp_file_client
  172. PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include>"
  173. "$<INSTALL_INTERFACE:include>")
  174. list(APPEND OPENTELEMETRY_OTLP_FILE_TARGETS
  175. opentelemetry_exporter_otlp_file_client)
  176. add_library(
  177. opentelemetry_exporter_otlp_file
  178. src/otlp_file_exporter.cc src/otlp_file_exporter_factory.cc
  179. src/otlp_file_exporter_options.cc)
  180. set_target_properties(opentelemetry_exporter_otlp_file
  181. PROPERTIES EXPORT_NAME otlp_file_exporter)
  182. set_target_version(opentelemetry_exporter_otlp_file)
  183. target_link_libraries(
  184. opentelemetry_exporter_otlp_file
  185. PUBLIC opentelemetry_otlp_recordable
  186. opentelemetry_exporter_otlp_file_client)
  187. list(APPEND OPENTELEMETRY_OTLP_FILE_TARGETS opentelemetry_exporter_otlp_file)
  188. add_library(
  189. opentelemetry_exporter_otlp_file_log
  190. src/otlp_file_log_record_exporter.cc
  191. src/otlp_file_log_record_exporter_factory.cc
  192. src/otlp_file_log_record_exporter_options.cc)
  193. set_target_properties(opentelemetry_exporter_otlp_file_log
  194. PROPERTIES EXPORT_NAME otlp_file_log_record_exporter)
  195. set_target_version(opentelemetry_exporter_otlp_file_log)
  196. target_link_libraries(
  197. opentelemetry_exporter_otlp_file_log
  198. PUBLIC opentelemetry_otlp_recordable
  199. opentelemetry_exporter_otlp_file_client)
  200. list(APPEND OPENTELEMETRY_OTLP_FILE_TARGETS
  201. opentelemetry_exporter_otlp_file_log)
  202. add_library(
  203. opentelemetry_exporter_otlp_file_metric
  204. src/otlp_file_metric_exporter.cc src/otlp_file_metric_exporter_factory.cc
  205. src/otlp_file_metric_exporter_options.cc)
  206. set_target_properties(opentelemetry_exporter_otlp_file_metric
  207. PROPERTIES EXPORT_NAME otlp_file_metric_exporter)
  208. set_target_version(opentelemetry_exporter_otlp_file_metric)
  209. target_link_libraries(
  210. opentelemetry_exporter_otlp_file_metric
  211. PUBLIC opentelemetry_otlp_recordable
  212. opentelemetry_exporter_otlp_file_client)
  213. list(APPEND OPENTELEMETRY_OTLP_FILE_TARGETS
  214. opentelemetry_exporter_otlp_file_metric)
  215. endif()
  216. target_link_libraries(
  217. opentelemetry_otlp_recordable
  218. PUBLIC opentelemetry_trace opentelemetry_resources opentelemetry_proto)
  219. otel_add_component(
  220. COMPONENT
  221. exporters_otlp_common
  222. TARGETS
  223. opentelemetry_otlp_recordable
  224. opentelemetry_proto
  225. FILES_DIRECTORY
  226. "include/opentelemetry/exporters/otlp"
  227. FILES_DESTINATION
  228. "include/opentelemetry/exporters"
  229. FILES_MATCHING
  230. PATTERN
  231. "*.h"
  232. PATTERN
  233. "otlp_http*.h"
  234. EXCLUDE
  235. PATTERN
  236. "otlp_grpc*.h"
  237. EXCLUDE
  238. PATTERN
  239. "otlp_file*.h"
  240. EXCLUDE)
  241. if(WITH_OTLP_GRPC)
  242. otel_add_component(
  243. COMPONENT
  244. exporters_otlp_grpc
  245. TARGETS
  246. ${OPENTELEMETRY_OTLP_GRPC_TARGETS}
  247. FILES_DIRECTORY
  248. "include/opentelemetry/exporters/otlp"
  249. FILES_DESTINATION
  250. "include/opentelemetry/exporters"
  251. FILES_MATCHING
  252. PATTERN
  253. "otlp_grpc*.h")
  254. endif()
  255. if(WITH_OTLP_HTTP)
  256. otel_add_component(
  257. COMPONENT
  258. exporters_otlp_http
  259. TARGETS
  260. ${OPENTELEMETRY_OTLP_HTTP_TARGETS}
  261. FILES_DIRECTORY
  262. "include/opentelemetry/exporters/otlp"
  263. FILES_DESTINATION
  264. "include/opentelemetry/exporters"
  265. FILES_MATCHING
  266. PATTERN
  267. "otlp_http*.h")
  268. endif()
  269. if(WITH_OTLP_FILE)
  270. otel_add_component(
  271. COMPONENT
  272. exporters_otlp_file
  273. TARGETS
  274. ${OPENTELEMETRY_OTLP_FILE_TARGETS}
  275. FILES_DIRECTORY
  276. "include/opentelemetry/exporters/otlp"
  277. FILES_DESTINATION
  278. "include/opentelemetry/exporters"
  279. FILES_MATCHING
  280. PATTERN
  281. "otlp_file*.h")
  282. endif()
  283. if(BUILD_TESTING)
  284. add_executable(otlp_recordable_test test/otlp_recordable_test.cc)
  285. target_link_libraries(
  286. otlp_recordable_test ${GTEST_BOTH_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}
  287. opentelemetry_otlp_recordable protobuf::libprotobuf)
  288. gtest_add_tests(
  289. TARGET otlp_recordable_test
  290. TEST_PREFIX exporter.otlp.
  291. TEST_LIST otlp_recordable_test)
  292. add_executable(otlp_log_recordable_test test/otlp_log_recordable_test.cc)
  293. target_link_libraries(otlp_log_recordable_test ${GTEST_BOTH_LIBRARIES}
  294. ${CMAKE_THREAD_LIBS_INIT} opentelemetry_otlp_recordable)
  295. gtest_add_tests(
  296. TARGET otlp_log_recordable_test
  297. TEST_PREFIX exporter.otlp.
  298. TEST_LIST otlp_log_recordable_test)
  299. add_executable(otlp_metrics_serialization_test
  300. test/otlp_metrics_serialization_test.cc)
  301. target_link_libraries(
  302. otlp_metrics_serialization_test ${GTEST_BOTH_LIBRARIES}
  303. ${CMAKE_THREAD_LIBS_INIT} opentelemetry_otlp_recordable
  304. protobuf::libprotobuf)
  305. gtest_add_tests(
  306. TARGET otlp_metrics_serialization_test
  307. TEST_PREFIX exporter.otlp.
  308. TEST_LIST otlp_metrics_serialization_test)
  309. if(WITH_OTLP_GRPC)
  310. add_executable(otlp_grpc_exporter_test test/otlp_grpc_exporter_test.cc)
  311. target_link_libraries(
  312. otlp_grpc_exporter_test ${GTEST_BOTH_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}
  313. ${GMOCK_LIB} opentelemetry_exporter_otlp_grpc gRPC::grpc++)
  314. gtest_add_tests(
  315. TARGET otlp_grpc_exporter_test
  316. TEST_PREFIX exporter.otlp.
  317. TEST_LIST otlp_grpc_exporter_test)
  318. add_executable(otlp_grpc_target_test test/otlp_grpc_target_test.cc)
  319. target_link_libraries(
  320. otlp_grpc_target_test ${GTEST_BOTH_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}
  321. ${GMOCK_LIB} opentelemetry_exporter_otlp_grpc)
  322. gtest_add_tests(
  323. TARGET otlp_grpc_target_test
  324. TEST_PREFIX exporter.otlp.
  325. TEST_LIST otlp_grpc_target_test)
  326. add_executable(otlp_grpc_exporter_factory_test
  327. test/otlp_grpc_exporter_factory_test.cc)
  328. target_link_libraries(
  329. otlp_grpc_exporter_factory_test ${GTEST_BOTH_LIBRARIES}
  330. ${CMAKE_THREAD_LIBS_INIT} ${GMOCK_LIB} opentelemetry_exporter_otlp_grpc)
  331. gtest_add_tests(
  332. TARGET otlp_grpc_exporter_factory_test
  333. TEST_PREFIX exporter.otlp.
  334. TEST_LIST otlp_grpc_exporter_factory_test)
  335. add_executable(otlp_grpc_log_record_exporter_test
  336. test/otlp_grpc_log_record_exporter_test.cc)
  337. target_link_libraries(
  338. otlp_grpc_log_record_exporter_test
  339. ${GTEST_BOTH_LIBRARIES}
  340. ${CMAKE_THREAD_LIBS_INIT}
  341. ${GMOCK_LIB}
  342. opentelemetry_exporter_otlp_grpc
  343. opentelemetry_exporter_otlp_grpc_log
  344. opentelemetry_trace
  345. opentelemetry_logs)
  346. gtest_add_tests(
  347. TARGET otlp_grpc_log_record_exporter_test
  348. TEST_PREFIX exporter.otlp.
  349. TEST_LIST otlp_grpc_log_record_exporter_test)
  350. add_executable(otlp_grpc_log_record_exporter_factory_test
  351. test/otlp_grpc_log_record_exporter_factory_test.cc)
  352. target_link_libraries(
  353. otlp_grpc_log_record_exporter_factory_test ${GTEST_BOTH_LIBRARIES}
  354. ${CMAKE_THREAD_LIBS_INIT} ${GMOCK_LIB}
  355. opentelemetry_exporter_otlp_grpc_log opentelemetry_logs)
  356. gtest_add_tests(
  357. TARGET otlp_grpc_log_record_exporter_factory_test
  358. TEST_PREFIX exporter.otlp.
  359. TEST_LIST otlp_grpc_log_record_exporter_factory_test)
  360. add_executable(otlp_grpc_metric_exporter_test
  361. test/otlp_grpc_metric_exporter_test.cc)
  362. target_link_libraries(
  363. otlp_grpc_metric_exporter_test ${GTEST_BOTH_LIBRARIES}
  364. ${CMAKE_THREAD_LIBS_INIT} ${GMOCK_LIB} opentelemetry_exporter_otlp_grpc
  365. opentelemetry_exporter_otlp_grpc_metrics)
  366. gtest_add_tests(
  367. TARGET otlp_grpc_metric_exporter_test
  368. TEST_PREFIX exporter.otlp.
  369. TEST_LIST otlp_grpc_metric_exporter_test)
  370. add_executable(otlp_grpc_metric_exporter_factory_test
  371. test/otlp_grpc_metric_exporter_factory_test.cc)
  372. target_link_libraries(
  373. otlp_grpc_metric_exporter_factory_test ${GTEST_BOTH_LIBRARIES}
  374. ${CMAKE_THREAD_LIBS_INIT} ${GMOCK_LIB}
  375. opentelemetry_exporter_otlp_grpc_metrics opentelemetry_metrics)
  376. gtest_add_tests(
  377. TARGET otlp_grpc_metric_exporter_factory_test
  378. TEST_PREFIX exporter.otlp.
  379. TEST_LIST otlp_grpc_metric_exporter_factory_test)
  380. endif()
  381. if(WITH_OTLP_HTTP)
  382. add_executable(otlp_http_exporter_test test/otlp_http_exporter_test.cc)
  383. target_link_libraries(
  384. otlp_http_exporter_test
  385. ${GTEST_BOTH_LIBRARIES}
  386. ${CMAKE_THREAD_LIBS_INIT}
  387. ${GMOCK_LIB}
  388. opentelemetry_exporter_otlp_http
  389. opentelemetry_http_client_nosend
  390. nlohmann_json::nlohmann_json
  391. protobuf::libprotobuf)
  392. gtest_add_tests(
  393. TARGET otlp_http_exporter_test
  394. TEST_PREFIX exporter.otlp.
  395. TEST_LIST otlp_http_exporter_test)
  396. add_executable(otlp_http_exporter_factory_test
  397. test/otlp_http_exporter_factory_test.cc)
  398. target_link_libraries(
  399. otlp_http_exporter_factory_test ${GTEST_BOTH_LIBRARIES}
  400. ${CMAKE_THREAD_LIBS_INIT} ${GMOCK_LIB} opentelemetry_exporter_otlp_http)
  401. gtest_add_tests(
  402. TARGET otlp_http_exporter_factory_test
  403. TEST_PREFIX exporter.otlp.
  404. TEST_LIST otlp_http_exporter_factory_test)
  405. add_executable(otlp_http_log_record_exporter_test
  406. test/otlp_http_log_record_exporter_test.cc)
  407. target_link_libraries(
  408. otlp_http_log_record_exporter_test
  409. ${GTEST_BOTH_LIBRARIES}
  410. ${CMAKE_THREAD_LIBS_INIT}
  411. ${GMOCK_LIB}
  412. opentelemetry_exporter_otlp_http_log
  413. opentelemetry_logs
  414. opentelemetry_http_client_nosend
  415. nlohmann_json::nlohmann_json)
  416. gtest_add_tests(
  417. TARGET otlp_http_log_record_exporter_test
  418. TEST_PREFIX exporter.otlp.
  419. TEST_LIST otlp_http_log_record_exporter_test)
  420. add_executable(otlp_http_log_record_exporter_factory_test
  421. test/otlp_http_log_record_exporter_factory_test.cc)
  422. target_link_libraries(
  423. otlp_http_log_record_exporter_factory_test ${GTEST_BOTH_LIBRARIES}
  424. ${CMAKE_THREAD_LIBS_INIT} ${GMOCK_LIB}
  425. opentelemetry_exporter_otlp_http_log opentelemetry_logs)
  426. gtest_add_tests(
  427. TARGET otlp_http_log_record_exporter_factory_test
  428. TEST_PREFIX exporter.otlp.
  429. TEST_LIST otlp_http_log_record_exporter_factory_test)
  430. add_executable(otlp_http_metric_exporter_test
  431. test/otlp_http_metric_exporter_test.cc)
  432. target_link_libraries(
  433. otlp_http_metric_exporter_test
  434. ${GTEST_BOTH_LIBRARIES}
  435. ${CMAKE_THREAD_LIBS_INIT}
  436. ${GMOCK_LIB}
  437. opentelemetry_exporter_otlp_http_metric
  438. opentelemetry_metrics
  439. opentelemetry_http_client_nosend
  440. nlohmann_json::nlohmann_json
  441. protobuf::libprotobuf)
  442. gtest_add_tests(
  443. TARGET otlp_http_metric_exporter_test
  444. TEST_PREFIX exporter.otlp.
  445. TEST_LIST otlp_http_metric_exporter_test)
  446. add_executable(otlp_http_metric_exporter_factory_test
  447. test/otlp_http_metric_exporter_factory_test.cc)
  448. target_link_libraries(
  449. otlp_http_metric_exporter_factory_test ${GTEST_BOTH_LIBRARIES}
  450. ${CMAKE_THREAD_LIBS_INIT} ${GMOCK_LIB}
  451. opentelemetry_exporter_otlp_http_metric opentelemetry_metrics)
  452. gtest_add_tests(
  453. TARGET otlp_http_metric_exporter_factory_test
  454. TEST_PREFIX exporter.otlp.
  455. TEST_LIST otlp_http_metric_exporter_factory_test)
  456. endif()
  457. if(WITH_OTLP_FILE)
  458. add_executable(otlp_file_client_test test/otlp_file_client_test.cc)
  459. target_link_libraries(
  460. otlp_file_client_test
  461. ${GTEST_BOTH_LIBRARIES}
  462. ${CMAKE_THREAD_LIBS_INIT}
  463. ${GMOCK_LIB}
  464. opentelemetry_exporter_otlp_file
  465. opentelemetry_otlp_recordable
  466. nlohmann_json::nlohmann_json)
  467. gtest_add_tests(
  468. TARGET otlp_file_client_test
  469. TEST_PREFIX exporter.otlp.
  470. TEST_LIST otlp_file_client_test)
  471. add_executable(otlp_file_exporter_test test/otlp_file_exporter_test.cc)
  472. target_link_libraries(
  473. otlp_file_exporter_test
  474. ${GTEST_BOTH_LIBRARIES}
  475. ${CMAKE_THREAD_LIBS_INIT}
  476. ${GMOCK_LIB}
  477. opentelemetry_exporter_otlp_file
  478. nlohmann_json::nlohmann_json
  479. protobuf::libprotobuf)
  480. gtest_add_tests(
  481. TARGET otlp_file_exporter_test
  482. TEST_PREFIX exporter.otlp.
  483. TEST_LIST otlp_file_exporter_test)
  484. add_executable(otlp_file_exporter_factory_test
  485. test/otlp_file_exporter_factory_test.cc)
  486. target_link_libraries(
  487. otlp_file_exporter_factory_test ${GTEST_BOTH_LIBRARIES}
  488. ${CMAKE_THREAD_LIBS_INIT} ${GMOCK_LIB} opentelemetry_exporter_otlp_file)
  489. gtest_add_tests(
  490. TARGET otlp_file_exporter_factory_test
  491. TEST_PREFIX exporter.otlp.
  492. TEST_LIST otlp_file_exporter_factory_test)
  493. add_executable(otlp_file_log_record_exporter_test
  494. test/otlp_file_log_record_exporter_test.cc)
  495. target_link_libraries(
  496. otlp_file_log_record_exporter_test
  497. ${GTEST_BOTH_LIBRARIES}
  498. ${CMAKE_THREAD_LIBS_INIT}
  499. ${GMOCK_LIB}
  500. opentelemetry_exporter_otlp_file_log
  501. opentelemetry_logs
  502. nlohmann_json::nlohmann_json)
  503. gtest_add_tests(
  504. TARGET otlp_file_log_record_exporter_test
  505. TEST_PREFIX exporter.otlp.
  506. TEST_LIST otlp_file_log_record_exporter_test)
  507. add_executable(otlp_file_log_record_exporter_factory_test
  508. test/otlp_file_log_record_exporter_factory_test.cc)
  509. target_link_libraries(
  510. otlp_file_log_record_exporter_factory_test ${GTEST_BOTH_LIBRARIES}
  511. ${CMAKE_THREAD_LIBS_INIT} ${GMOCK_LIB}
  512. opentelemetry_exporter_otlp_file_log opentelemetry_logs)
  513. gtest_add_tests(
  514. TARGET otlp_file_log_record_exporter_factory_test
  515. TEST_PREFIX exporter.otlp.
  516. TEST_LIST otlp_file_log_record_exporter_factory_test)
  517. add_executable(otlp_file_metric_exporter_test
  518. test/otlp_file_metric_exporter_test.cc)
  519. target_link_libraries(
  520. otlp_file_metric_exporter_test
  521. ${GTEST_BOTH_LIBRARIES}
  522. ${CMAKE_THREAD_LIBS_INIT}
  523. ${GMOCK_LIB}
  524. opentelemetry_exporter_otlp_file_metric
  525. opentelemetry_metrics
  526. nlohmann_json::nlohmann_json
  527. protobuf::libprotobuf)
  528. gtest_add_tests(
  529. TARGET otlp_file_metric_exporter_test
  530. TEST_PREFIX exporter.otlp.
  531. TEST_LIST otlp_file_metric_exporter_test)
  532. add_executable(otlp_file_metric_exporter_factory_test
  533. test/otlp_file_metric_exporter_factory_test.cc)
  534. target_link_libraries(
  535. otlp_file_metric_exporter_factory_test ${GTEST_BOTH_LIBRARIES}
  536. ${CMAKE_THREAD_LIBS_INIT} ${GMOCK_LIB}
  537. opentelemetry_exporter_otlp_file_metric opentelemetry_metrics)
  538. gtest_add_tests(
  539. TARGET otlp_file_metric_exporter_factory_test
  540. TEST_PREFIX exporter.otlp.
  541. TEST_LIST otlp_file_metric_exporter_factory_test)
  542. endif()
  543. endif() # BUILD_TESTING