mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-25 00:11:13 +00:00
51752fa14b
libevent2's cmake use absolute path, then cmake cannot find it when cross compiling: ``` -- Found libevent include directory: /builder/staging_dir/target-mips_24kc_musl/usr/include -- Found libevent component: /builder/staging_dir/target-mips_24kc_musl/usr/lib/libevent_core.so -- Found libevent component: /builder/staging_dir/target-mips_24kc_musl/usr/lib/libevent_extra.so -- Found libevent component: /builder/staging_dir/target-mips_24kc_musl/usr/lib/libevent_openssl.so -- Found libevent 2.1.12 in /builder/staging_dir/target-mips_24kc_musl/usr CMake Error at /builder/staging_dir/target-mips_24kc_musl/usr/lib/cmake/libevent/LibeventTargets-shared.cmake:102 (message): The imported target "libevent::core" references the file "/usr/lib/libevent_core-2.1.so.7.0.1" but this file does not exist. Possible reasons include: * The file was deleted, renamed, or moved to another location. * An install or uninstall procedure did not complete successfully. * The installation package was faulty and contained "/builder/staging_dir/target-mips_24kc_musl/usr/lib/cmake/libevent/LibeventTargets-shared.cmake" but not all the files it references. Call Stack (most recent call first): /builder/staging_dir/target-mips_24kc_musl/usr/lib/cmake/libevent/LibeventConfig.cmake:168 (include) CMakeLists.txt:34 (find_package) ``` This patch make cmake use relative imported path, so it can find libevent. Signed-off-by: Liu Dongmiao <liudongmiao@gmail.com>
59 lines
2.2 KiB
Diff
59 lines
2.2 KiB
Diff
From 81c6b8823c1b58d7837e827bb1098aa5f9e5956b Mon Sep 17 00:00:00 2001
|
|
From: "Jeremy W. Murphy" <jeremy.william.murphy@gmail.com>
|
|
Date: Tue, 16 May 2023 05:07:36 +1000
|
|
Subject: [PATCH] cmake: Only use relative paths for install DESTINATION option
|
|
(#1405)
|
|
|
|
As described in #1404, the explicit use of CMAKE_INSTALL_PREFIX conflicts with using command-line --prefix.
|
|
|
|
This simply removes all explicit use of CMAKE_INSTALL_PREFIX.
|
|
|
|
Otherwise this path will be duplicated:
|
|
|
|
$ cmake -DCMAKE_BUILD_TYPE=debug -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_INSTALL_PREFIX=inst ..
|
|
$ DESTDIR=inst ninja install
|
|
...
|
|
-- Installing: inst/src/le/libevent/.cmake-debug/inst/include/event2/util.h
|
|
-- Installing: inst/src/le/libevent/.cmake-debug/inst/include/event2/ws.h
|
|
...
|
|
|
|
Fixes: #1404
|
|
Co-authored-by: Jeremy Murphy <jeremymu@blackmagicdesign.com>
|
|
---
|
|
CMakeLists.txt | 3 +--
|
|
cmake/AddEventLibrary.cmake | 4 ++--
|
|
2 files changed, 3 insertions(+), 4 deletions(-)
|
|
|
|
--- a/CMakeLists.txt
|
|
+++ b/CMakeLists.txt
|
|
@@ -1452,8 +1452,7 @@ endif()
|
|
# Installation preparation.
|
|
#
|
|
|
|
-set(EVENT_INSTALL_CMAKE_DIR
|
|
- "${CMAKE_INSTALL_PREFIX}/lib/cmake/libevent")
|
|
+set(EVENT_INSTALL_CMAKE_DIR "lib/cmake/libevent")
|
|
|
|
export(PACKAGE libevent)
|
|
|
|
--- a/cmake/AddEventLibrary.cmake
|
|
+++ b/cmake/AddEventLibrary.cmake
|
|
@@ -31,7 +31,7 @@ macro(generate_pkgconfig LIB_NAME)
|
|
configure_file("lib${LIB_NAME}.pc.in" "lib${LIB_NAME}.pc" @ONLY)
|
|
install(
|
|
FILES "${CMAKE_CURRENT_BINARY_DIR}/lib${LIB_NAME}.pc"
|
|
- DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig"
|
|
+ DESTINATION "lib/pkgconfig"
|
|
)
|
|
endmacro()
|
|
|
|
@@ -150,7 +150,7 @@ macro(add_event_library LIB_NAME)
|
|
set_target_properties(
|
|
"${LIB_NAME}_shared" PROPERTIES
|
|
OUTPUT_NAME "${LIB_NAME}-${EVENT_PACKAGE_RELEASE}.${CURRENT_MINUS_AGE}"
|
|
- INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib"
|
|
+ INSTALL_NAME_DIR "lib"
|
|
LINK_FLAGS "-compatibility_version ${COMPATIBILITY_VERSION} -current_version ${COMPATIBILITY_VERSION}.${EVENT_ABI_LIBVERSION_REVISION}")
|
|
else()
|
|
math(EXPR CURRENT_MINUS_AGE "${EVENT_ABI_LIBVERSION_CURRENT}-${EVENT_ABI_LIBVERSION_AGE}")
|