cmake: Enable building of the oci plugin
Change-Id: I003d6da10c7e47402fb373d3956817817328cf0f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Qt CMake Build Bot
This commit is contained in:
parent
4ee762cf25
commit
b2a11daaa1
48
cmake/FindOracle.cmake
Normal file
48
cmake/FindOracle.cmake
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
#.rst:
|
||||||
|
# FindOracle
|
||||||
|
# ---------
|
||||||
|
#
|
||||||
|
# Try to locate the oracle client library.
|
||||||
|
# If found, this will define the following variables:
|
||||||
|
#
|
||||||
|
# ``Oracle_FOUND``
|
||||||
|
# True if the oracle library is available
|
||||||
|
# ``Oracle_INCLUDE_DIRS``
|
||||||
|
# The oracle include directories
|
||||||
|
# ``Oracle_LIBRARIES``
|
||||||
|
# The oracle libraries for linking
|
||||||
|
#
|
||||||
|
# If ``Oracle_FOUND`` is TRUE, it will also define the following
|
||||||
|
# imported target:
|
||||||
|
#
|
||||||
|
# ``Oracle::Oracle``
|
||||||
|
# The oracle instant client library
|
||||||
|
|
||||||
|
find_path(Oracle_INCLUDE_DIRS
|
||||||
|
NAMES oci.h
|
||||||
|
HINTS ${Oracle_INCLUDE_DIR})
|
||||||
|
|
||||||
|
set(ORACLE_OCI_NAMES clntsh ociei oraociei12)
|
||||||
|
|
||||||
|
find_library(Oracle_LIBRARIES
|
||||||
|
NAMES NAMES ${ORACLE_OCI_NAMES}
|
||||||
|
HINTS ${Oracle_LIBRARY_DIR})
|
||||||
|
|
||||||
|
if (NOT Oracle_INCLUDE_DIRS STREQUAL "Oracle_INCLUDE_DIRS-NOTFOUND" AND NOT Oracle_LIBRARIES STREQUAL "Oracle_LIBRARIES-NOTFOUND")
|
||||||
|
set(Oracle_FOUND ON)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(Oracle_FOUND AND NOT TARGET Oracle::OCI)
|
||||||
|
add_library(Oracle::OCI UNKNOWN IMPORTED)
|
||||||
|
set_target_properties(Oracle::OCI PROPERTIES
|
||||||
|
IMPORTED_LOCATION "${Oracle_LIBRARIES}"
|
||||||
|
INTERFACE_INCLUDE_DIRECTORIES "${Oracle_INCLUDE_DIRS}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
mark_as_advanced(Oracle_INCLUDE_DIRS Oracle_LIBRARIES)
|
||||||
|
|
||||||
|
include(FeatureSummary)
|
||||||
|
set_package_properties(Oracle PROPERTIES
|
||||||
|
URL "https://www.oracle.com"
|
||||||
|
DESCRIPTION "Oracle client library")
|
||||||
|
|
@ -31,7 +31,7 @@ if(QT_FEATURE_sql_tds)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(QT_FEATURE_sql_oci)
|
if(QT_FEATURE_sql_oci)
|
||||||
# TODO add_subdirectory(oci)
|
add_subdirectory(oci)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(QT_FEATURE_sql_db2)
|
if(QT_FEATURE_sql_db2)
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
qt_find_package(DB2 PROVIDED_TARGETS DB2::DB2)
|
qt_find_package(DB2 PROVIDED_TARGETS DB2::DB2)
|
||||||
qt_find_package(MySQL PROVIDED_TARGETS MySQL::MySQL)
|
qt_find_package(MySQL PROVIDED_TARGETS MySQL::MySQL)
|
||||||
qt_find_package(PostgreSQL PROVIDED_TARGETS PostgreSQL::PostgreSQL)
|
qt_find_package(PostgreSQL PROVIDED_TARGETS PostgreSQL::PostgreSQL)
|
||||||
|
qt_find_package(Oracle PROVIDED_TARGETS Oracle::OCI)
|
||||||
qt_find_package(ODBC PROVIDED_TARGETS ODBC::ODBC)
|
qt_find_package(ODBC PROVIDED_TARGETS ODBC::ODBC)
|
||||||
qt_find_package(SQLite3 PROVIDED_TARGETS SQLite::SQLite3)
|
qt_find_package(SQLite3 PROVIDED_TARGETS SQLite::SQLite3)
|
||||||
|
|
||||||
@ -33,7 +34,7 @@ qt_feature("sql_mysql" PRIVATE
|
|||||||
)
|
)
|
||||||
qt_feature("sql_oci" PRIVATE
|
qt_feature("sql_oci" PRIVATE
|
||||||
LABEL "OCI (Oracle)"
|
LABEL "OCI (Oracle)"
|
||||||
CONDITION libs.oci OR FIXME
|
CONDITION Oracle_FOUND
|
||||||
)
|
)
|
||||||
qt_feature("sql_odbc" PRIVATE
|
qt_feature("sql_odbc" PRIVATE
|
||||||
LABEL "ODBC"
|
LABEL "ODBC"
|
||||||
|
35
src/plugins/sqldrivers/oci/CMakeLists.txt
Normal file
35
src/plugins/sqldrivers/oci/CMakeLists.txt
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
# Generated from oci.pro.
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
|
## qsqloci Plugin:
|
||||||
|
#####################################################################
|
||||||
|
|
||||||
|
add_qt_plugin(qsqloci
|
||||||
|
TYPE sqldrivers
|
||||||
|
CLASS_NAME QOCIDriverPlugin
|
||||||
|
SOURCES
|
||||||
|
main.cpp
|
||||||
|
qsql_oci.cpp qsql_oci_p.h
|
||||||
|
DEFINES
|
||||||
|
QT_NO_CAST_FROM_ASCII
|
||||||
|
QT_NO_CAST_TO_ASCII
|
||||||
|
LIBRARIES
|
||||||
|
Qt::CorePrivate
|
||||||
|
Qt::SqlPrivate
|
||||||
|
PUBLIC_LIBRARIES
|
||||||
|
Oracle::OCI
|
||||||
|
Qt::Core
|
||||||
|
Qt::Sql
|
||||||
|
)
|
||||||
|
|
||||||
|
#### Keys ignored in scope 1:.:.:oci.pro:<TRUE>:
|
||||||
|
# OTHER_FILES = "oci.json"
|
||||||
|
# PLUGIN_CLASS_NAME = "QOCIDriverPlugin"
|
||||||
|
|
||||||
|
## Scopes:
|
||||||
|
#####################################################################
|
||||||
|
|
||||||
|
extend_target(qsqloci CONDITION APPLE
|
||||||
|
LINK_OPTIONS
|
||||||
|
"-Wl,-flat_namespace,-U,_environ"
|
||||||
|
)
|
@ -223,6 +223,7 @@ _library_map = [
|
|||||||
LibraryMapping('opengl', 'OpenGL', 'OpenGL::GL', resultVariable='OpenGL_OpenGL'),
|
LibraryMapping('opengl', 'OpenGL', 'OpenGL::GL', resultVariable='OpenGL_OpenGL'),
|
||||||
LibraryMapping('openssl_headers', 'OpenSSL', 'OpenSSL::SSL_nolink', resultVariable='OPENSSL_INCLUDE_DIR', appendFoundSuffix=False),
|
LibraryMapping('openssl_headers', 'OpenSSL', 'OpenSSL::SSL_nolink', resultVariable='OPENSSL_INCLUDE_DIR', appendFoundSuffix=False),
|
||||||
LibraryMapping('openssl', 'OpenSSL', 'OpenSSL::SSL'),
|
LibraryMapping('openssl', 'OpenSSL', 'OpenSSL::SSL'),
|
||||||
|
LibraryMapping('oci', 'Oracle', 'Oracle::OCI'),
|
||||||
LibraryMapping('pcre2', 'WrapPCRE2', 'WrapPCRE2::WrapPCRE2', extra = ['REQUIRED']),
|
LibraryMapping('pcre2', 'WrapPCRE2', 'WrapPCRE2::WrapPCRE2', extra = ['REQUIRED']),
|
||||||
LibraryMapping('posix_iconv', None, None),
|
LibraryMapping('posix_iconv', None, None),
|
||||||
LibraryMapping('pps', 'PPS', 'PPS::PPS'),
|
LibraryMapping('pps', 'PPS', 'PPS::PPS'),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user