Warning, /sdk/codevis/thirdparty/soci/cmake/modules/FindDB2.cmake is written in an unsupported language. File is not indexed.

0001 ###############################################################################
0002 # CMake module to search for DB2 client library
0003 #
0004 # On success, the macro sets the following variables:
0005 # DB2_FOUND = if the library found
0006 # DB2_LIBRARY = full path to the library
0007 # DB2_LIBRARIES = full path to the library
0008 # DB2_INCLUDE_DIR = where to find the library headers
0009 #
0010 # Copyright (c) 2013 Denis Chapligin
0011 #
0012 # Redistribution and use is allowed according to the terms of the BSD license.
0013 # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
0014 #
0015 ###############################################################################
0016 
0017 if(UNIX)
0018   set(DB2_INSTALL_PATHS
0019     /opt/ibm/db2/V11.5
0020     /opt/ibm/db2/V10.1
0021     /opt/ibm/db2/V9.7
0022     /opt/ibm/db2/V9.5
0023     /opt/ibm/db2/V9.1
0024     /opt/ibm/clidriver
0025     /opt/clidriver)
0026 
0027   if(CMAKE_SIZEOF_VOID_P EQUAL 4)
0028     set(DB2_LIBDIRS "lib32" "lib")
0029   else()
0030     set(DB2_LIBDIRS "lib64" "lib")
0031   endif()
0032 
0033   set(DB2_FIND_INCLUDE_PATHS)
0034   set(DB2_FIND_LIB_PATHS)
0035   foreach(db2_install_path ${DB2_INSTALL_PATHS})
0036     if (IS_DIRECTORY ${db2_install_path}/include)
0037       set(DB2_FIND_INCLUDE_PATHS
0038         ${DB2_FIND_INCLUDE_PATHS}
0039         ${db2_install_path}/include)
0040     endif()
0041     foreach(db2_libdir ${DB2_LIBDIRS})
0042       if (IS_DIRECTORY ${db2_install_path}/${db2_libdir})
0043         set(DB2_FIND_LIB_PATHS
0044           ${DB2_FIND_LIB_PATHS}
0045           ${db2_install_path}/${db2_libdir})
0046       endif()
0047     endforeach(db2_libdir)
0048   endforeach(db2_install_path)
0049 elseif(WIN32)
0050   if (CMAKE_CL_64) # 64-bit build, DB2 64-bit installed
0051     set(DB2_FIND_INCLUDE_PATHS $ENV{ProgramW6432}/IBM/SQLLIB/include)
0052     set(DB2_FIND_LIB_PATHS     $ENV{ProgramW6432}/IBM/SQLLIB/lib)
0053   else() # 32-bit build, DB2 64-bit or DB2 32-bit installed
0054 
0055     if(EXISTS "$ENV{ProgramW6432}/IBM/SQLLIB/lib")
0056       # On 64-bit Windows with DB2 64-bit installed:
0057       # LIB environment points to {DB2}/IBM/SQLLIB/lib with64-bit db2api.lib,
0058       # this flag prevents checking paths in LIB, so Win32 version can be detected
0059       set(DB2_FIND_LIB_NO_LIB NO_SYSTEM_ENVIRONMENT_PATH)
0060 
0061     endif()
0062 
0063     set(DB2_FIND_INCLUDE_PATHS
0064       $ENV{ProgramW6432}/IBM/SQLLIB/include
0065       $ENV{ProgramFiles}/IBM/SQLLIB/include)
0066     set(DB2_FIND_LIB_PATHS
0067       $ENV{ProgramFiles}/IBM/SQLLIB/lib
0068       $ENV{ProgramFiles}/IBM/SQLLIB/lib/win32
0069       $ENV{ProgramW6432}/IBM/SQLLIB/lib/win32)
0070   endif()
0071 endif()
0072 
0073 find_path(DB2_INCLUDE_DIR sqlcli1.h
0074   $ENV{DB2_INCLUDE_DIR}
0075   $ENV{DB2_DIR}/include
0076   $ENV{DB2_HOME}
0077   $ENV{IBM_DB_INCLUDE}
0078   ${DB2_FIND_INCLUDE_PATHS})
0079 
0080 find_library(DB2_LIBRARY
0081   NAMES db2 db2api
0082   PATHS
0083   $ENV{DB2LIB}
0084   $ENV{IBM_DB_LIB}
0085   ${DB2_FIND_LIB_PATHS}
0086   ${DB2_FIND_LIB_NO_LIB})
0087 
0088 if(DB2_LIBRARY)
0089   get_filename_component(DB2_LIBRARY_DIR ${DB2_LIBRARY} PATH)
0090 endif()
0091 
0092 if(DB2_INCLUDE_DIR AND DB2_LIBRARY_DIR)
0093   set(DB2_FOUND TRUE)
0094 endif()
0095 
0096 set(DB2_LIBRARIES ${DB2_LIBRARY})
0097 
0098 # Handle the QUIETLY and REQUIRED arguments and set DB2_FOUND to TRUE
0099 # if all listed variables are TRUE
0100 include(FindPackageHandleStandardArgs)
0101 find_package_handle_standard_args(DB2
0102   DEFAULT_MSG
0103   DB2_INCLUDE_DIR
0104   DB2_LIBRARIES)
0105 
0106 mark_as_advanced(DB2_INCLUDE_DIR DB2_LIBRARIES)