gnucash maint: Fix LIBDBI_DRIVERS_DIR generation.
John Ralls
jralls at code.gnucash.org
Thu May 7 16:05:23 EDT 2020
Updated via https://github.com/Gnucash/gnucash/commit/601aec8c (commit)
from https://github.com/Gnucash/gnucash/commit/dc8f1057 (commit)
commit 601aec8ca008f56df0e6a31de0da6e4cb2954283
Author: John Ralls <jralls at ceridwen.us>
Date: Thu May 7 13:02:54 2020 -0700
Fix LIBDBI_DRIVERS_DIR generation.
Reusing the variable in a get_filename_component call caused the
function to recurse to /, not very useful.
Also re-do GNC_DBD_DIR with no default but to take its value from the
command line or environment.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3f8831576..ec4facdd4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -96,7 +96,9 @@ set(LOCALEDIR ${DATAROOTDIR}/locale CACHE STRING "locale-dependent data")
set(GNC_HELPDIR ${DATADIR} CACHE STRING "where to store help files")
set(DATADIRNAME share)
set(GNC_SYSTEM_XDG_DATA_DIRS /usr/local/share /usr/share)
-set(GNC_DBD_DIR ${CMAKE_PREFIX_LIBDIR}/dbd CACHE PATH "specify location of libdbi drivers")
+if (NOT DEFINED GNC_DBD_DIR)
+ set(GNC_DBD_DIR $ENV{GNC_DBD_DIR} CACHE PATH "Hint for location of libdbi-drivers.")
+endif()
set(PKGLIBDIR ${CMAKE_INSTALL_LIBDIR}/gnucash)
set(TEST_MYSQL_URL "" CACHE STRING "MySQL database URL for testing")
set(TEST_PGSQL_URL "" CACHE STRING "PgSQL database URL for testing")
@@ -470,11 +472,11 @@ set(PKG_CONFIG_EXECUTABLE ${GNC_PKG_CONFIG_EXE})
# libdbi
find_path (LIBDBI_INCLUDE_PATH dbi/dbi.h)
find_library (LIBDBI_LIBRARY dbi)
-find_library (LIBDBI_DRIVERS_DIR
+find_library (LIBDBI_DRIVERS
NAMES dbdmysql dbdpgsql dbdsqlite3 NAMES_PER_DIR
PATH_SUFFIXES dbd libdbi-drivers/dbd
- HINTS LIBDBI_LIBRARY
- PATHS GNC_DBD_DIR
+ HINTS ${LIBDBI_LIBRARY}
+ PATHS ${GNC_DBD_DIR}
DOC "Libdbi Drivers Directory")
if (WITH_SQL)
if (NOT LIBDBI_INCLUDE_PATH)
@@ -484,10 +486,10 @@ if (WITH_SQL)
message (SEND_ERROR "Library libdbi was not found")
endif()
set(HAVE_DBI_DBI_H 1)
- if (NOT LIBDBI_DRIVERS_DIR)
+ if (NOT LIBDBI_DRIVERS)
message (SEND_ERROR "No libdbi drivers found, SQL tests will fail.")
else()
- get_filename_component(drivers_dir ${LIBDBI_DRIVERS_DIR} DIRECTORY)
+ get_filename_component(drivers_dir ${LIBDBI_DRIVERS} DIRECTORY)
set(LIBDBI_DRIVERS_DIR ${drivers_dir} CACHE FILEPATH "Directory containing the libdbi driver modules." FORCE)
endif()
endif()
Summary of changes:
CMakeLists.txt | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
More information about the gnucash-changes
mailing list