From eafa7972628a12ed8cbd9d292e4d9e382dff4fb5 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 30 Jan 2022 01:43:44 +0100 Subject: [PATCH] lmdb: Avoid installing lmdb-safe when building it as part of this project * Build lmdb-safe always as static library * Disable install targets of lmdb-safe --- CMakeLists.txt | 3 +++ libpkg/CMakeLists.txt | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 14c9110..816fdd2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,7 +24,10 @@ if (INCLUDE_TABULATE_PROJECT) endif () option(INCLUDE_LMDB_SAFE_PROJECT "includes the CMake project of lmdb-safe" ON) if (INCLUDE_LMDB_SAFE_PROJECT) + set(META_NO_INSTALL_TARGETS ON) + set(LMDB_SAFE_BUILD_SHARED_LIBS OFF CACHE BOOL "whether to build lmdb-safe as shared library") add_subdirectory(3rdparty/lmdb-safe) + unset(META_NO_INSTALL_TARGETS) endif () add_subdirectory(libpkg) link_directories(${LIBPKG_BINARY_DIR}) diff --git a/libpkg/CMakeLists.txt b/libpkg/CMakeLists.txt index c963c83..34c93a3 100644 --- a/libpkg/CMakeLists.txt +++ b/libpkg/CMakeLists.txt @@ -63,6 +63,13 @@ use_reflective_rapidjson(VISIBILITY PUBLIC) # find lmdb-safe find_package(lmdb-safe${CONFIGURATION_PACKAGE_SUFFIX} REQUIRED) use_lmdb_safe() +if (INCLUDE_LMDB_SAFE_PROJECT) + set(BUNDLED_TARGETS "${LMDB_SAFE_LIB}") + if (NOT LMDB_SAFE_BUILD_SHARED_LIBS) + target_compile_options("${LMDB_SAFE_LIB}" PRIVATE -fPIC) + endif () + use_pkg_config_module(PKG_CONFIG_MODULES "lmdb") +endif () # find 3rd party libraries zlib use_zlib()