mirror of
https://github.com/libevent/libevent.git
synced 2025-01-09 00:56:20 +08:00
acfac7ae4a
The generated configurations for both CMake and pkg-config included absolute paths to dependencies (OpenSSL, MbedTLS). This is contrary to the general CMake advise to create relocatable packages [1]. Additionally, when building both mbedtls and libevent via CMake's FetchContent in the same project, loading the project would fail with INTERFACE_INCLUDE_DIRECTORIES property contains path: "/home/user/project/cmake-build/_deps/mbedtls-build/include" which is prefixed in the source directory. The required changes include: - Adding the outer includes only to the BUILD_INTERFACE solves the makes the CMake paths relocatable and thus solves the FetchContent problem. - Updates to libevent_*.pc.in fixes the relocatable issues for pkg-config and properly declares currently missing dependencies. - Using components for linking to OpenSSL (requiring CMake 3.4) and MbedTLS. The new MbedTLS target names now match the component names of the MbedTLS' CMake project. - Use the Threads CMake library reference instead of a direct reference to support both built-in pthread and -lpthread. v2 (azat): get back CMAKE_REQUIRED_LIBRARIES [1] https://cmake.org/cmake/help/v3.25/manual/cmake-packages.7.html#creating-relocatable-packages
15 lines
377 B
PkgConfig
15 lines
377 B
PkgConfig
#libevent pkg-config source file
|
|
|
|
prefix=@prefix@
|
|
exec_prefix=@exec_prefix@
|
|
libdir=@libdir@
|
|
includedir=@includedir@
|
|
|
|
Name: libevent_mbedtls
|
|
Description: libevent_mbedtls adds mbedtls-based TLS support to libevent
|
|
Version: @VERSION@
|
|
Requires: libevent_core
|
|
Libs: -L${libdir} -levent_mbedtls@CMAKE_DEBUG_POSTFIX@
|
|
Libs.private: -lmbedtls -lmbedx509 @LIBS@
|
|
Cflags: -I${includedir}
|