0002-CMake-install-libmemenv.a.patch 2.2 KB

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