From a0f391cafc260a4babe0b776244af3eff31b5acf Mon Sep 17 00:00:00 2001 From: Andrea Pappacoda Date: Mon, 30 May 2022 12:46:40 -0700 Subject: [PATCH] build: fix pkg-config file generation (#9953) Summary: - Instead of hardcoding "lib" and "include" in `libdir` and `includedir`, use the values from [`GNUInstallDirs`](https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html). - Use `PROJECT_DESCRIPTION` and `PROJECT_HOMEPAGE_URL` instead of their `CMAKE_` conterparts to fix pkg-config generation when rocksdb is not the top-level project (see [`project()`](https://cmake.org/cmake/help/latest/command/project.html)). - Drop explicit `CMAKE_CURRENT_SOURCE_DIR` and `CMAKE_CURRENT_BINARY_DIR` in [`configure_file()`](https://cmake.org/cmake/help/latest/command/configure_file.html) as that's implied by default (and quite intuitive). See https://github.com/facebook/rocksdb/issues/9945 CC: trynity Pull Request resolved: https://github.com/facebook/rocksdb/pull/9953 Reviewed By: ajkr Differential Revision: D36716373 Pulled By: jay-zhuang fbshipit-source-id: 57840eeb4453099fa1fe861dc03366085dbca704 --- CMakeLists.txt | 4 ++-- rocksdb.pc.in | 9 ++++----- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 19ecdbc7c47..3b6cb9e16c3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1122,8 +1122,8 @@ if(NOT WIN32 OR ROCKSDB_INSTALL_ON_WINDOWS) ) configure_file( - ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pc.in - ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc + ${PROJECT_NAME}.pc.in + ${PROJECT_NAME}.pc @ONLY ) diff --git a/rocksdb.pc.in b/rocksdb.pc.in index 0bbb625fe96..5217a4518f5 100644 --- a/rocksdb.pc.in +++ b/rocksdb.pc.in @@ -1,11 +1,10 @@ prefix="@CMAKE_INSTALL_PREFIX@" -exec_prefix="${prefix}" -libdir="${prefix}/lib" -includedir="${prefix}/include" +includedir="${prefix}/@CMAKE_INSTALL_INCLUDEDIR@" +libdir="${prefix}/@CMAKE_INSTALL_LIBDIR@" Name: @PROJECT_NAME@ -Description: @CMAKE_PROJECT_DESCRIPTION@ -URL: @CMAKE_PROJECT_HOMEPAGE_URL@ +Description: @PROJECT_DESCRIPTION@ +URL: @PROJECT_HOMEPAGE_URL@ Version: @PROJECT_VERSION@ Cflags: -I"${includedir}" Libs: -L"${libdir}" -lrocksdb