-
Notifications
You must be signed in to change notification settings - Fork 499
Description
Describe your environment
Rocky Linux 10 OS
CMAKE 3.30.5
Steps to reproduce
- Create the cmake file to fetch opentelemetry from git repo
# Install dependency opentelemetry-cpp
include(FetchContent)
set(WITH_STL ON)
set(BUILD_SHARED_LIBS ON)
set(BUILD_TESTING OFF)
FetchContent_Declare(
opentelemetry-cpp
GIT_REPOSITORY https://github.com/open-telemetry/opentelemetry-cpp.git
GIT_TAG v1.23.0
)
FetchContent_MakeAvailable(opentelemetry-cpp)
- Add an include and a find_package() command to your CMAKE project to find and expose the opentelemetry-cpp targets
include(<bullet 1 .cmake file>)
find_package(opentelemetry-cpp CONFIG REQUIRED)
- Run cmake -B -S
The command produces the following error:
CMake Error at src/CMakeLists.txt:26 (find_package):
Could not find a package configuration file provided by "opentelemetry-cpp"
with any of the following names:
opentelemetry-cppConfig.cmake
opentelemetry-cpp-config.cmake
Add the installation prefix of "opentelemetry-cpp" to CMAKE_PREFIX_PATH or
set "opentelemetry-cpp_DIR" to a directory containing one of the above
files. If "opentelemetry-cpp" provides a separate development package or
SDK, be sure it has been installed.
- Couldn't find the opentelemetry-cpp-config.cmake file in the "build/_dep/opentelemetry-cpp-build" directory, was not created. Added the following entry to the fetch cmake file to force the file to be created
# opentelemetry creation of the cmake config file only happens if the OPENTELEMETRY_INSTALL is set to ON
set(OPENTELEMETRY_INSTALL ON)
The error stays the same.
- Append the "opentelemetry-cpp_BINARY_DIR" to the CMAKE_PREFIX_PATH, at this point and add this above the find_package() command.
list(APPEND CMAKE_PREFIX_PATH "${opentelemetry-cpp_BINARY_DIR}/cmake/opentelemetry-cpp")
find_package(opentelemetry-cpp CONFIG REQUIRED)
The above change, changed the error to:
CMake Error at build/_deps/opentelemetry-cpp-build/cmake/opentelemetry-cpp/opentelemetry-cpp-config.cmake:197 (include):
include could not find requested file:
/home/rocky/build-environment/build/_deps/opentelemetry-cpp-build/cmake/opentelemetry-cpp/find-package-support-functions.cmake
Call Stack (most recent call first):
src/CMakeLists.txt:27 (find_package)
CMake Error at build/_deps/opentelemetry-cpp-build/cmake/opentelemetry-cpp/opentelemetry-cpp-config.cmake:200 (get_installed_components):
Unknown CMake command "get_installed_components".
Call Stack (most recent call first):
src/CMakeLists.txt:27 (find_package)
- Adding the "opentelemetry-cpp_SOURCE_DIR/cmake" to the CMAKE_MODULE_PATH not solved the above error
list(APPEND CMAKE_MODULE_PATH ${opentelemetry-cpp_SOURCE_DIR}/cmake)
message("OPENTELEMETRY SOURCE DIR: " "${opentelemetry-cpp_SOURCE_DIR}/cmake}")
list(APPEND CMAKE_PREFIX_PATH "${opentelemetry-cpp_BINARY_DIR}/cmake/opentelemetry-cpp")
find_package(opentelemetry-cpp CONFIG REQUIRED)
Same error as bullet '5'
What is the expected behavior?
Tha the find_package() command is found without having to set OPENTELEMETRY_INSTALL to ON and that, once founded the function "find-package-support-functions.cmake" included be in a location that the opentelemetry-cpp-config.cmake can parse.
What is the actual behavior?
Missing opentelemetry-cpp-config.cmake file and errors trying to include the find-package-support-functions.cmake with the code to expose the targets to my CMAKE project
Additional context
NA
Tip: React with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding +1
or me too
, to help us triage it. Learn more here.