MINIFICPP-1282 Use GNUInstallDirs for more reliable determination of installed lib/lib64 directories
Signed-off-by: Arpad Boda <aboda@apache.org>
This closes #834
diff --git a/cmake/BundledLibSSH2.cmake b/cmake/BundledLibSSH2.cmake
index f78aff1..b86da0c 100644
--- a/cmake/BundledLibSSH2.cmake
+++ b/cmake/BundledLibSSH2.cmake
@@ -22,15 +22,11 @@
set(PC "${Patch_EXECUTABLE}" -p1 -i "${SOURCE_DIR}/thirdparty/libssh2/libssh2-CMAKE_MODULE_PATH.patch")
# Define byproducts
- get_property(LIB64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
- if ("${LIB64}" STREQUAL "TRUE" AND (NOT WIN32 AND NOT APPLE))
- set(LIBSUFFIX 64)
- endif()
-
if (WIN32)
set(BYPRODUCT "lib/libssh2.lib")
else()
- set(BYPRODUCT "lib${LIBSUFFIX}/libssh2.a")
+ include(GNUInstallDirs)
+ set(BYPRODUCT "${CMAKE_INSTALL_LIBDIR}/libssh2.a")
endif()
# Set build options
diff --git a/cmake/BundledLibcURL.cmake b/cmake/BundledLibcURL.cmake
index b4224c2..88f325e 100644
--- a/cmake/BundledLibcURL.cmake
+++ b/cmake/BundledLibcURL.cmake
@@ -22,16 +22,11 @@
endif()
# Define byproducts
- get_property(LIB64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
-
- if ("${LIB64}" STREQUAL "TRUE" AND (NOT WIN32 AND NOT APPLE))
- set(LIBSUFFIX 64)
- endif()
-
if (WIN32)
set(BYPRODUCT "lib/libcurl.lib")
else()
- set(BYPRODUCT "lib${LIBSUFFIX}/libcurl.a")
+ include(GNUInstallDirs)
+ set(BYPRODUCT "${CMAKE_INSTALL_LIBDIR}/libcurl.a")
endif()
# Set build options
diff --git a/cmake/BundledOpen62541.cmake b/cmake/BundledOpen62541.cmake
index 5ce80ff..e055d39 100644
--- a/cmake/BundledOpen62541.cmake
+++ b/cmake/BundledOpen62541.cmake
@@ -20,16 +20,11 @@
set(PC "${Patch_EXECUTABLE}" -p1 -i "${SOURCE_DIR}/thirdparty/open62541/open62541.patch")
# Define byproducts
- get_property(LIB64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
-
- if ("${LIB64}" STREQUAL "TRUE" AND (NOT WIN32 AND NOT APPLE))
- set(LIBSUFFIX 64)
- endif()
-
if (WIN32)
set(BYPRODUCT "lib/open62541.lib")
else()
- set(BYPRODUCT "lib${LIBSUFFIX}/libopen62541.a")
+ include(GNUInstallDirs)
+ set(BYPRODUCT "${CMAKE_INSTALL_LIBDIR}/libopen62541.a")
endif()
# Set build options
@@ -73,4 +68,4 @@
if(WIN32)
set_property(TARGET open62541::open62541 APPEND PROPERTY INTERFACE_LINK_LIBRARIES Ws2_32.lib Iphlpapi.lib)
endif()
-endfunction(use_bundled_open62541)
\ No newline at end of file
+endfunction(use_bundled_open62541)
diff --git a/cmake/BundledPahoMqttC.cmake b/cmake/BundledPahoMqttC.cmake
index ed82b15..2dd5d23 100644
--- a/cmake/BundledPahoMqttC.cmake
+++ b/cmake/BundledPahoMqttC.cmake
@@ -20,15 +20,11 @@
set(PC "${Patch_EXECUTABLE}" -p1 -i "${SOURCE_DIR}/thirdparty/paho.mqtt.c/paho.mqtt.c.patch")
# Define byproducts
- get_property(LIB64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
- if ("${LIB64}" STREQUAL "TRUE" AND (NOT WIN32 AND NOT APPLE))
- set(LIBSUFFIX 64)
- endif()
-
if (WIN32)
set(BYPRODUCT "lib/libpaho-mqtt3cs-static.lib")
else()
- set(BYPRODUCT "lib${LIBSUFFIX}/libpaho-mqtt3cs-static.a")
+ include(GNUInstallDirs)
+ set(BYPRODUCT "${CMAKE_INSTALL_LIBDIR}/libpaho-mqtt3cs-static.a")
endif()
# Set build options
diff --git a/cmake/BundledRocksDB.cmake b/cmake/BundledRocksDB.cmake
index a4196e6..dd2d24c 100644
--- a/cmake/BundledRocksDB.cmake
+++ b/cmake/BundledRocksDB.cmake
@@ -22,15 +22,11 @@
set(PC "${Patch_EXECUTABLE}" -p1 -i "${SOURCE_DIR}/thirdparty/rocksdb/rocksdb-BUILD.patch" && "${Patch_EXECUTABLE}" -p1 -i "${SOURCE_DIR}/thirdparty/rocksdb/channel-mutex-mutable.patch")
# Define byproducts
- get_property(LIB64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
- if ("${LIB64}" STREQUAL "TRUE" AND (NOT WIN32 AND NOT APPLE))
- set(LIBSUFFIX 64)
- endif()
-
if (WIN32)
set(BYPRODUCT "lib/rocksdb.lib")
else()
- set(BYPRODUCT "lib${LIBSUFFIX}/librocksdb.a")
+ include(GNUInstallDirs)
+ set(BYPRODUCT "${CMAKE_INSTALL_LIBDIR}/librocksdb.a")
endif()
# Set build options
diff --git a/extensions/sql/CMakeLists.txt b/extensions/sql/CMakeLists.txt
index 94d6ede..41ad6e7 100644
--- a/extensions/sql/CMakeLists.txt
+++ b/extensions/sql/CMakeLists.txt
@@ -30,17 +30,15 @@
add_library(minifi-sql STATIC ${SOURCES})
set_property(TARGET minifi-sql PROPERTY POSITION_INDEPENDENT_CODE ON)
-# Get whether we should use lib64/ library paths
-get_property(LIB64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
-
if(WIN32)
find_package(ODBC REQUIRED)
else()
# Build iODBC
# Define byproducts
- if(LIB64 AND NOT APPLE)
- set(IODBC_BYPRODUCT "lib64/libiodbc.a")
+ if(NOT APPLE)
+ include(GNUInstallDirs)
+ set(IODBC_BYPRODUCT "${CMAKE_INSTALL_LIBDIR}/libiodbc.a")
else()
set(IODBC_BYPRODUCT "lib/libiodbc.a")
endif()
@@ -92,7 +90,10 @@
# Define byproducts
if(NOT APPLE AND CMAKE_SIZEOF_VOID_P EQUAL 8)
- set(LIBSUFFIX 64)
+ include(GNUInstallDirs)
+ set(LIBDIR "${CMAKE_INSTALL_LIBDIR}")
+else()
+ set(LIBDIR "lib")
endif()
if (WIN32)
@@ -102,8 +103,8 @@
endif()
set(SOCI_BYPRODUCTS
- "lib${LIBSUFFIX}/libsoci_core${BYPRODUCT_SUFFIX}"
- "lib${LIBSUFFIX}/libsoci_odbc${BYPRODUCT_SUFFIX}"
+ "${LIBDIR}/libsoci_core${BYPRODUCT_SUFFIX}"
+ "${LIBDIR}/libsoci_odbc${BYPRODUCT_SUFFIX}"
)
set(SOCI_BYPRODUCT_DIR "${CMAKE_CURRENT_BINARY_DIR}/thirdparty/soci-install")