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

0001 ###############################################################################
0002 #
0003 # CMake module to search for Oracle client library (OCI)
0004 #
0005 # On success, the macro sets the following variables:
0006 # ORACLE_FOUND       = if the library found
0007 # ORACLE_LIBRARY     = full path to the library
0008 # ORACLE_LIBRARIES   = full path to the library
0009 # ORACLE_INCLUDE_DIR = where to find the library headers also defined,
0010 #                       but not for general use are
0011 # ORACLE_VERSION     = version of library which was found, e.g. "1.2.5"
0012 #
0013 # Copyright (c) 2009-2013 Mateusz Loskot <mateusz@loskot.net>
0014 #
0015 # Developed with inspiration from Petr Vanek <petr@scribus.info>
0016 # who wrote similar macro for TOra - http://torasql.com/
0017 #
0018 # Module source: http://github.com/mloskot/workshop/tree/master/cmake/
0019 #
0020 # Redistribution and use is allowed according to the terms of the BSD license.
0021 # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
0022 #
0023 ###############################################################################
0024 
0025 # First check for CMAKE  variable
0026 if(NOT ORACLE_HOME)
0027   # If ORACLE_HOME is not defined check for env var and if exists set from env var
0028   if(EXISTS $ENV{ORACLE_HOME})
0029     set(ORACLE_HOME $ENV{ORACLE_HOME})
0030   endif()
0031 endif()
0032 
0033 message(STATUS "ORACLE_HOME=${ORACLE_HOME}")
0034 
0035 find_path(ORACLE_INCLUDE_DIR
0036   NAMES oci.h
0037   PATHS
0038   ${ORACLE_HOME}/rdbms/public
0039   ${ORACLE_HOME}/include
0040   ${ORACLE_HOME}/sdk/include  # Oracle SDK
0041   ${ORACLE_HOME}/OCI/include # Oracle XE on Windows
0042   # instant client from rpm
0043   /usr/include/oracle/*/client${LIB_SUFFIX})
0044 
0045 set(ORACLE_VERSIONS 21 20 19 18 12 11 10)
0046 set(ORACLE_OCI_NAMES clntsh libclntsh oci) # Dirty trick might help on OSX, see issues/89
0047 set(ORACLE_OCCI_NAMES libocci occi)
0048 set(ORACLE_NNZ_NAMES ociw32)
0049 foreach(loop_var IN LISTS ORACLE_VERSIONS)
0050   set(ORACLE_OCCI_NAMES ${ORACLE_OCCI_NAMES} oraocci${loop_var})
0051   set(ORACLE_NNZ_NAMES ${ORACLE_NNZ_NAMES} nnz${loop_var} libnnz${loop_var})
0052 endforeach(loop_var)
0053 
0054 set(ORACLE_LIB_DIR
0055   ${ORACLE_HOME}
0056   ${ORACLE_HOME}/lib
0057   ${ORACLE_HOME}/sdk/lib       # Oracle SDK
0058   ${ORACLE_HOME}/sdk/lib/msvc
0059   ${ORACLE_HOME}/OCI/lib/msvc # Oracle XE on Windows
0060   # Instant client from rpm
0061   /usr/lib/oracle/*/client${LIB_SUFFIX}/lib)
0062 
0063 find_library(ORACLE_OCI_LIBRARY
0064   NAMES ${ORACLE_OCI_NAMES} PATHS ${ORACLE_LIB_DIR})
0065 find_library(ORACLE_OCCI_LIBRARY
0066   NAMES ${ORACLE_OCCI_NAMES} PATHS ${ORACLE_LIB_DIR})
0067 find_library(ORACLE_NNZ_LIBRARY
0068   NAMES ${ORACLE_NNZ_NAMES} PATHS ${ORACLE_LIB_DIR})
0069 
0070 set(ORACLE_LIBRARY
0071   ${ORACLE_OCI_LIBRARY}
0072   ${ORACLE_OCCI_LIBRARY}
0073   ${ORACLE_NNZ_LIBRARY})
0074 
0075 if(NOT WIN32)
0076   set(ORACLE_LIBRARY ${ORACLE_LIBRARY} ${ORACLE_CLNTSH_LIBRARY})
0077 endif(NOT WIN32)
0078 
0079 set(ORACLE_LIBRARIES ${ORACLE_LIBRARY})
0080 
0081 # Handle the QUIETLY and REQUIRED arguments and set ORACLE_FOUND to TRUE
0082 # if all listed variables are TRUE
0083 include(FindPackageHandleStandardArgs)
0084 find_package_handle_standard_args(Oracle DEFAULT_MSG ORACLE_LIBRARY ORACLE_INCLUDE_DIR)
0085 
0086 if(NOT ORACLE_FOUND)
0087         message(STATUS "None of the supported Oracle versions (${ORACLE_VERSIONS}) could be found, consider updating ORACLE_VERSIONS if the version you use is not among them.")
0088 endif()
0089 
0090 mark_as_advanced(ORACLE_INCLUDE_DIR ORACLE_LIBRARY)