From f0e894ff100768c60983e6ac70c214e845bb5fb0 Mon Sep 17 00:00:00 2001 From: Taylor Braun-Jones Date: Wed, 11 Sep 2013 09:20:13 -0600 Subject: [PATCH] Check for ODBC headers in addition to checking for odbc_config tool --- cmake/FindODBC.cmake | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/cmake/FindODBC.cmake b/cmake/FindODBC.cmake index cc1c6f721..15b527aa4 100644 --- a/cmake/FindODBC.cmake +++ b/cmake/FindODBC.cmake @@ -5,6 +5,19 @@ find_program(UNIX_ODBC_CONFIG odbc_config /usr/local/bin PATHS) +# Check that we can find the ODBC headers in `odbc_config --include-prefix` +# location If the headers cannot be found, set UNIX_ODBC_CONFIG to +# UNIX_ODBC_CONFIG-NOTFOUND since the odbc_config tool is essentially useless +# if `odbc_config --include-prefix` doesn't actually point to ODBC headers +if(NOT ${UNIX_ODBC_CONFIG} MATCHES "UNIX_ODBC_CONFIG-NOTFOUND") + execute_process(COMMAND ${UNIX_ODBC_CONFIG} --include-prefix + OUTPUT_VARIABLE UNIX_ODBC_INCLUDE_PREFIX + OUTPUT_STRIP_TRAILING_WHITESPACE) + if(NOT EXISTS ${UNIX_ODBC_INCLUDE_PREFIX}/sqlext.h) + set(UNIX_ODBC_CONFIG "UNIX_ODBC_CONFIG-NOTFOUND") + endif(NOT EXISTS ${UNIX_ODBC_INCLUDE_PREFIX}/sqlext.h) +endif(NOT ${UNIX_ODBC_CONFIG} MATCHES "UNIX_ODBC_CONFIG-NOTFOUND") + if(${UNIX_ODBC_CONFIG} MATCHES "UNIX_ODBC_CONFIG-NOTFOUND") message(STATUS "Couldn't find unixODBC") else(${UNIX_ODBC_CONFIG} MATCHES "UNIX_ODBC_CONFIG-NOTFOUND")