Files
logos-protocol/cpp/logos-protocolConfig.cmake.in

32 lines
1.5 KiB
CMake
Raw Permalink Normal View History

@PACKAGE_INIT@
# logos-protocolConfig.cmake — consumed by `find_package(logos-protocol)`.
#
# Re-resolves every transitive dependency of liblogos_protocol before
# importing the target, so downstream consumers get OpenSSL / Boost /
# nlohmann_json / Qt6 wired into their own link line automatically.
# Without this, a consumer linking the static archive directly would
# see "undefined reference to SSL_CTX_*" / "DSO missing from command
# line" because a STATIC archive doesn't carry transitive link info.
include(CMakeFindDependencyMacro)
find_dependency(Qt6 REQUIRED COMPONENTS Core RemoteObjects)
# `system` for boost::system::error_code (Boost.Asio) — see the
# matching note in cpp/CMakeLists.txt next to target_link_libraries.
# Boost.System is header-only, and Boost 1.89 removed the compiled
# boost_system library outright -- so requiring it as a COMPONENT hard-fails
# there ("Could not find a package configuration file provided by
# boost_system"). Boost 1.87 does still need the explicit request, because it
# only exports the Boost::system target when the component is asked for.
# Request it optionally; the imported target below already carries whichever
# of Boost::system / Boost::headers this build actually linked against.
find_dependency(Boost REQUIRED)
find_package(Boost QUIET OPTIONAL_COMPONENTS system)
find_dependency(OpenSSL REQUIRED)
find_dependency(nlohmann_json REQUIRED)
include("${CMAKE_CURRENT_LIST_DIR}/logos-protocolTargets.cmake")
check_required_components(logos-protocol)