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,11 +31,11 @@ if(QT_FEATURE_sql_tds)
|
||||
endif()
|
||||
|
||||
if(QT_FEATURE_sql_oci)
|
||||
# TODO add_subdirectory(oci)
|
||||
add_subdirectory(oci)
|
||||
endif()
|
||||
|
||||
if(QT_FEATURE_sql_db2)
|
||||
add_subdirectory(db2)
|
||||
add_subdirectory(db2)
|
||||
endif()
|
||||
|
||||
if(QT_FEATURE_sql_sqlite)
|
||||
|
@ -9,6 +9,7 @@
|
||||
qt_find_package(DB2 PROVIDED_TARGETS DB2::DB2)
|
||||
qt_find_package(MySQL PROVIDED_TARGETS MySQL::MySQL)
|
||||
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(SQLite3 PROVIDED_TARGETS SQLite::SQLite3)
|
||||
|
||||
@ -33,7 +34,7 @@ qt_feature("sql_mysql" PRIVATE
|
||||
)
|
||||
qt_feature("sql_oci" PRIVATE
|
||||
LABEL "OCI (Oracle)"
|
||||
CONDITION libs.oci OR FIXME
|
||||
CONDITION Oracle_FOUND
|
||||
)
|
||||
qt_feature("sql_odbc" PRIVATE
|
||||
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('openssl_headers', 'OpenSSL', 'OpenSSL::SSL_nolink', resultVariable='OPENSSL_INCLUDE_DIR', appendFoundSuffix=False),
|
||||
LibraryMapping('openssl', 'OpenSSL', 'OpenSSL::SSL'),
|
||||
LibraryMapping('oci', 'Oracle', 'Oracle::OCI'),
|
||||
LibraryMapping('pcre2', 'WrapPCRE2', 'WrapPCRE2::WrapPCRE2', extra = ['REQUIRED']),
|
||||
LibraryMapping('posix_iconv', None, None),
|
||||
LibraryMapping('pps', 'PPS', 'PPS::PPS'),
|
||||
|
Loading…
x
Reference in New Issue
Block a user