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)