xref: /OK3568_Linux_fs/buildroot/package/leveldb/0002-CMake-install-libmemenv.a.patch (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1From 2fa960098e5b6f9daa9f7d6cab27188566859be8 Mon Sep 17 00:00:00 2001
2From: Bernd Kuhls <bernd.kuhls@t-online.de>
3Date: Sat, 12 Oct 2019 14:43:46 +0200
4Subject: [PATCH] CMake: install libmemenv.a
5
6Needed for qt5webkit
7https://git.busybox.net/buildroot/commit/?id=8a10d9ce311c6cb0490d76921cae55618c258354
8https://git.busybox.net/buildroot/commit/?id=16f847340d07dce620e4c3fc0a099aa79898d86a
9
10Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
11---
12 CMakeLists.txt | 26 +++++++++++++++++++++++++-
13 1 file changed, 25 insertions(+), 1 deletion(-)
14
15diff --git a/CMakeLists.txt b/CMakeLists.txt
16index a65afbf..83b2425 100644
17--- a/CMakeLists.txt
18+++ b/CMakeLists.txt
19@@ -187,6 +187,30 @@ target_sources(leveldb
20     "${LEVELDB_PUBLIC_INCLUDE_DIR}/write_batch.h"
21 )
22
23+set(libmemenv_a_sources
24+    "${PROJECT_SOURCE_DIR}/helpers/memenv/memenv.cc"
25+    "${PROJECT_SOURCE_DIR}/helpers/memenv/memenv.h"
26+    )
27+add_library(memenv STATIC ${libmemenv_a_sources})
28+target_compile_definitions(memenv
29+  PRIVATE
30+    # Used by include/export.h when building shared libraries.
31+    LEVELDB_COMPILE_LIBRARY
32+    # Used by port/port.h.
33+    ${LEVELDB_PLATFORM_NAME}=1
34+)
35+if (NOT HAVE_CXX17_HAS_INCLUDE)
36+  target_compile_definitions(memenv
37+    PRIVATE
38+      LEVELDB_HAS_PORT_CONFIG_H=1
39+  )
40+endif(NOT HAVE_CXX17_HAS_INCLUDE)
41+target_include_directories(memenv
42+  PUBLIC
43+    $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
44+    $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
45+)
46+
47 if (WIN32)
48   target_sources(leveldb
49     PRIVATE
50@@ -418,7 +436,7 @@ endif(LEVELDB_BUILD_BENCHMARKS)
51
52 if(LEVELDB_INSTALL)
53   include(GNUInstallDirs)
54-  install(TARGETS leveldb
55+  install(TARGETS leveldb memenv
56     EXPORT leveldbTargets
57     RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
58     LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
59@@ -444,6 +462,12 @@ if(LEVELDB_INSTALL)
60     DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/leveldb
61   )
62
63+  install(
64+    FILES
65+      "${PROJECT_SOURCE_DIR}/helpers/memenv/memenv.h"
66+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/helpers/memenv
67+  )
68+
69   include(CMakePackageConfigHelpers)
70   write_basic_package_version_file(
71       "${PROJECT_BINARY_DIR}/leveldbConfigVersion.cmake"
72--
732.20.1
74
75