Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@ Increment the:
* [API] Add Enabled method to Tracer
[#3357](https://github.com/open-telemetry/opentelemetry-cpp/pull/3357)

* [INSTALL] Add CMake components to the opentelemetry-cpp package
[#3320](https://github.com/open-telemetry/opentelemetry-cpp/pull/3220)
[#3368](https://github.com/open-telemetry/opentelemetry-cpp/pull/3368)

## [1.20 2025-04-01]

* [BUILD] Update opentelemetry-proto version
Expand Down
43 changes: 10 additions & 33 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -841,6 +841,8 @@ if(prometheus-cpp_FOUND)
endif()
message(STATUS "---------------------------------------------")

include("${PROJECT_SOURCE_DIR}/cmake/otel-install-functions.cmake")

include(CMakePackageConfigHelpers)

if(DEFINED OPENTELEMETRY_BUILD_DLL)
Expand Down Expand Up @@ -914,39 +916,14 @@ include(cmake/opentelemetry-build-external-component.cmake)
include(cmake/patch-imported-config.cmake)

if(OPENTELEMETRY_INSTALL)
# Export cmake config and support find_packages(opentelemetry-cpp CONFIG)
# Write config file for find_packages(opentelemetry-cpp CONFIG)
set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}")
configure_package_config_file(
"${CMAKE_CURRENT_LIST_DIR}/cmake/templates/opentelemetry-cpp-config.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/cmake/${PROJECT_NAME}/${PROJECT_NAME}-config.cmake"
INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}"
PATH_VARS OPENTELEMETRY_ABI_VERSION_NO OPENTELEMETRY_VERSION PROJECT_NAME
INCLUDE_INSTALL_DIR CMAKE_INSTALL_LIBDIR)

# Write version file for find_packages(opentelemetry-cpp CONFIG)
write_basic_package_version_file(
"${CMAKE_CURRENT_BINARY_DIR}/cmake/${PROJECT_NAME}/${PROJECT_NAME}-config-version.cmake"
VERSION ${OPENTELEMETRY_VERSION}
COMPATIBILITY ExactVersion)

# Write the "BUILT_WITH_<dependency" flags for use in the
# opentelemetry-cpp-config.cmake
configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/templates/thirdparty-built-with-flags.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/thirdparty-built-with-flags.cmake"
@ONLY)

install(
FILES
"${CMAKE_CURRENT_BINARY_DIR}/cmake/${PROJECT_NAME}/${PROJECT_NAME}-config.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/cmake/${PROJECT_NAME}/${PROJECT_NAME}-config-version.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/thirdparty-built-with-flags.cmake"
"${CMAKE_CURRENT_LIST_DIR}/cmake/component-definitions.cmake"
"${CMAKE_CURRENT_LIST_DIR}/cmake/thirdparty-dependency-definitions.cmake"
"${CMAKE_CURRENT_LIST_DIR}/cmake/find-package-support-functions.cmake"
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}"
COMPONENT cmake-config)
# Install the cmake config and version files
otel_install_cmake_config()

# Install the components and associated files
otel_install_components()

# Install the thirdparty dependency definition file
otel_install_thirdparty_definitions()

if(BUILD_PACKAGE)
include(cmake/package.cmake)
Expand Down
34 changes: 13 additions & 21 deletions api/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,28 +9,20 @@ target_include_directories(

set_target_properties(opentelemetry_api PROPERTIES EXPORT_NAME api)

if(OPENTELEMETRY_INSTALL)
install(
TARGETS opentelemetry_api
EXPORT "${PROJECT_NAME}-api-target"
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT api)

install(
DIRECTORY include/opentelemetry
DESTINATION include
COMPONENT api
FILES_MATCHING
PATTERN "*.h")

install(
EXPORT "${PROJECT_NAME}-api-target"
FILE "${PROJECT_NAME}-api-target.cmake"
NAMESPACE "${PROJECT_NAME}::"
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}"
COMPONENT api)
otel_add_component(
COMPONENT
api
TARGETS
opentelemetry_api
FILES_DIRECTORY
"include/opentelemetry"
FILES_DESTINATION
"include"
FILES_MATCHING
PATTERN
"*.h")

if(OPENTELEMETRY_INSTALL)
unset(TARGET_DEPS)
endif()

Expand Down
221 changes: 0 additions & 221 deletions cmake/component-definitions.cmake

This file was deleted.

Loading
Loading