123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- #[==[
- Provides the following variables:
- * `ODBC_INCLUDE_DIRS`: Include directories necessary to use ODBC.
- * `ODBC_LIBRARIES`: Libraries necessary to use ODBC.
- * A `ODBC::ODBC` imported target.
- #]==]
- # No .pc files are shipped with ODBC on Windows.
- set(_ODBC_use_pkgconfig 0)
- if (NOT WIN32)
- find_package(PkgConfig)
- if (PkgConfig_FOUND)
- set(_ODBC_use_pkgconfig 1)
- endif ()
- endif ()
- if (_ODBC_use_pkgconfig)
- pkg_check_modules(_iodbc "libiodbc" QUIET IMPORTED_TARGET)
- unset(_odbc_target)
- if (NOT _iodbc_FOUND)
- pkg_check_modules(_unixodbc "odbc" QUIET IMPORTED_TARGET)
- if (_unixodbc_FOUND)
- set(_odbc_target "_unixodbc")
- endif ()
- else ()
- set(_odbc_target "_iodbc")
- endif ()
- set(ODBC_FOUND 0)
- if (_odbc_target)
- set(ODBC_FOUND 1)
- set(ODBC_INCLUDE_DIRS ${${_odbc_target}_INCLUDE_DIRS})
- set(ODBC_LIBRARIES ${${_odbc_target}_LINK_LIBRARIES})
- if (NOT TARGET ODBC::ODBC)
- add_library(ODBC::ODBC INTERFACE IMPORTED)
- target_link_libraries(ODBC::ODBC
- INTERFACE "PkgConfig::${_odbc_target}")
- endif ()
- endif ()
- unset(_odbc_target)
- else ()
- find_path(ODBC_INCLUDE_DIR
- NAMES sql.h
- PATHS
- "C:/Program Files/ODBC"
- "C:/ODBC"
- PATH_SUFFIXES include include/odbc
- DOC "Location of sql.h")
- mark_as_advanced(ODBC_INCLUDE_DIR)
- find_library(ODBC_LIBRARY
- NAMES odbc iodbc unixodbc odbc32
- PATHS
- "C:/Program Files/ODBC"
- "C:/ODBC"
- PATH_SUFFIXES lib lib/debug
- DOC "Location of the ODBC library")
- mark_as_advanced(ODBC_LIBRARY)
- include(FindPackageHandleStandardArgs)
- find_package_handle_standard_args(ODBC
- REQUIRED_VARS ODBC_INCLUDE_DIR ODBC_LIBRARY)
- if (ODBC_FOUND)
- set(ODBC_INCLUDE_DIRS "${ODBC_INCLUDE_DIR}")
- set(ODBC_LIBRARIES "${ODBC_LIBRARY}")
- if (NOT TARGET ODBC::ODBC)
- add_library(ODBC::ODBC UNKNOWN IMPORTED)
- set_target_properties(ODBC::ODBC PROPERTIES
- IMPORTED_LOCATION "${ODBC_LIBRARY}"
- INTERFACE_INCLUDE_DIRECTORIES "${ODBC_INCLUDE_DIR}")
- endif ()
- endif ()
- endif ()
- unset(_ODBC_use_pkgconfig)
|