qt5base-lts/cmake/FindDB2.cmake
Alexey Edelev e74fd6897b Adjust database packages FindFoo.cmake files to CMake convention
Replace package _LIBRARIES by _LIBRARY and _INCLUDE_DIRS by
_INCLUDE_DIR. Move find_package_handle_standard_args for Oracle and DB2,
since this call should set _FOUND variable but not separate condition.

Fixes: QTBUG-89866
Change-Id: I54be2c2c4d7ba4b849a27139702861ecd937c444
Reviewed-by: Craig Scott <craig.scott@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2021-01-19 13:17:55 +00:00

63 lines
1.5 KiB
CMake

#.rst:
# FindDB2
# ---------
#
# Try to locate the db2 client library.
# If found, this will define the following variables:
#
# ``DB2_FOUND``
# True if the db2 library is available
# ``DB2_INCLUDE_DIRS``
# The db2 include directories
# ``DB2_LIBRARIES``
# The db2 libraries for linking
#
# If ``DB2_FOUND`` is TRUE, it will also define the following
# imported target:
#
# ``DB2::DB2``
# The db2 client library
if (NOT DEFINED DB2_INCLUDE_DIR)
find_path(DB2_INCLUDE_DIR
NAMES sqlcli1.h
HINTS ENV DB2_HOME
PATH_SUFFIXES include)
else()
find_path(DB2_INCLUDE_DIR
NAMES sqlcli1.h
HINTS ${DB2_INCLUDE_DIR})
endif()
if (NOT DEFINED DB2_LIBRARY_DIR)
find_library(DB2_LIBRARY
NAMES db2
HINTS ENV DB2LIB)
else()
find_library(DB2_LIBRARY
NAMES db2
HINTS ${DB2_LIBRARY_DIR})
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(DB2 DEFAULT_MSG DB2_INCLUDE_DIR DB2_LIBRARY)
if(DB2_FOUND)
set(DB2_INCLUDE_DIRS "${DB2_INCLUDE_DIR}")
set(DB2_LIBRARIES "${DB2_LIBRARY}")
if(NOT TARGET DB2::DB2)
add_library(DB2::DB2 UNKNOWN IMPORTED)
set_target_properties(DB2::DB2 PROPERTIES
IMPORTED_LOCATION "${DB2_LIBRARIES}"
INTERFACE_INCLUDE_DIRECTORIES "${DB2_INCLUDE_DIRS}")
endif()
endif()
mark_as_advanced(DB2_INCLUDE_DIR DB2_LIBRARY)
include(FeatureSummary)
set_package_properties(DB2 PROPERTIES
URL "https://www.ibm.com"
DESCRIPTION "IBM DB2 client library")