| # Locate odbcinst include paths and libraries |
| include(FindPackageHandleStandardArgs) |
| |
| # This module defines |
| # ODBC_INCLUDE_DIR, where to find odbc.h, etc. |
| # ODBC_LIBRARIES, the libraries to link against to use odbc. |
| # ODBC_FOUND, set to 'yes' if found |
| if(WIN32) |
| set(ODBC_LIBRARIES odbc32.lib user32.lib) |
| try_compile(ODBC_FOUND "${CMAKE_BINARY_DIR}/find-odbc" |
| "${CMAKE_CURRENT_LIST_DIR}/SQLAllocHandleTest.cpp" |
| LINK_LIBRARIES ${ODBC_LIBRARIES}) |
| else() |
| option(ODBC_STATIC "Link to the odbc static library" OFF) |
| if(NOT ODBC_STATIC) # 'pkg-config --static odbc' does not provide libodbc.a file path |
| find_package(PkgConfig) |
| pkg_check_modules(odbc odbc) |
| else() |
| set(odbc_FOUND 0) |
| endif() |
| #message("odbc_FOUND=${odbc_FOUND}") |
| |
| if(odbc_FOUND) |
| find_path(ODBC_INCLUDE_DIR |
| NAMES odbcinst.h |
| HINTS ${ODBC_INCLUDE_DIRS} |
| PATH_SUFFIXES odbc) |
| if (ODBC_STATIC OR NOT BUILD_SHARED_LIBS) |
| set(ODBC_LIBRARIES ${odbc_STATIC_LINK_LIBRARIES}) |
| else() |
| set(ODBC_LIBRARIES ${odbc_LINK_LIBRARIES}) |
| endif() |
| else() |
| find_path(ODBC_INCLUDE_DIR odbcinst.h) |
| if (ODBC_STATIC OR NOT BUILD_SHARED_LIBS) |
| find_library(ODBC_LIBRARIES NAMES libodbc.a HINTS ${ODBC_LIBRARY_DIRS} ) |
| else() |
| find_library(ODBC_LIBRARIES NAMES odbc HINTS ${ODBC_LIBRARY_DIRS} ) |
| endif() |
| endif() |
| |
| #message("ODBC_INCLUDE_DIR=${ODBC_INCLUDE_DIR}") |
| #message("ODBC_LIBRARIES=${ODBC_LIBRARIES}") |
| find_package_handle_standard_args(ODBC |
| ODBC_LIBRARIES) |
| endif() |