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")