Commit 620b51d2 authored by Michael Meskes's avatar Michael Meskes
Browse files

Imported Upstream version 2.1.3

parent 47bd180a
......@@ -7,11 +7,12 @@ OPTION(WANT_INTERNAL_QSCINTILLA "Use internal/bundled QScintilla2 source" OFF)
OPTION(ENABLE_ORACLE "Enable/Disable Oracle support at all. Including detection" ON)
OPTION(ENABLE_PGSQL "Enable/Disable PostgreSQL support. Including detection" ON)
OPTION(ENABLE_DB2 "Enable/Disable DB2 support. Including detection" ON)
OPTION(ENABLE_TERADATA "Enable/Disable Teradata support." OFF)
OPTION(WANT_RPM "Enable additional RPM related stuff. Additional make package_rpm target" ON)
OPTION(WANT_BUNDLE "Enable Mac OS X bundle build" OFF)
OPTION(WANT_BUNDLE_STANDALONE "Do not copy required libs and tools into bundle (WANT_BUNDLE)" ON)
OPTION(USE_TROTL "Use trotl OCI wrapper library" OFF)
OPTION(USE_PCH "Use percompiled headers" OFF)
OPTION(USE_PCH "Use percompiled headers" ON)
#Set our CMake minimum version
#Require 2.4.2 for Qt finding
......@@ -21,9 +22,18 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.4.5 FATAL_ERROR)
# handle new cmake versions correctly
if(COMMAND cmake_policy)
cmake_policy(SET CMP0003 NEW)
cmake_policy(SET CMP0005 OLD) # FIXME change it to new when there will be cmake 2.6.x in most distros
cmake_policy(SET CMP0011 NEW)
if (POLICY CMP0003)
cmake_policy(SET CMP0003 NEW)
endif (POLICY CMP0003)
if (POLICY CMP0005)
cmake_policy(SET CMP0005 OLD) # FIXME change it to new when there will be cmake 2.6.x in most distros
endif (POLICY CMP0005)
if (POLICY CMP0011)
cmake_policy(SET CMP0011 NEW)
endif (POLICY CMP0011)
if (POLICY CMP0015)
cmake_policy(SET CMP0015 NEW)
endif (POLICY CMP0015)
endif(COMMAND cmake_policy)
......@@ -51,7 +61,7 @@ PROJECT(TOra)
#where VERSION_SUFFIX is of the form "", "cvs" or "Ncvs" (N being the minor patch level)
SET (VERSION_MAJOR "2")
SET (VERSION_MINOR "1")
SET (VERSION_PATCH "2")
SET (VERSION_PATCH "3")
SET (VERSION_SUFFIX "")
SET (VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}${VERSION_SUFFIX})
MESSAGE(STATUS "TOra ${VERSION} will be built to install into ${CMAKE_INSTALL_PREFIX}")
......@@ -128,17 +138,27 @@ ENDIF (CMAKE_COMPILER_IS_GNUCC)
IF(WANT_DEBUG)
SET(CMAKE_BUILD_TYPE Debug)
ADD_DEFINITIONS("-DDEBUG")
# Boost headers are required to compile with -DDEBUG (see tologger.h)
FIND_PACKAGE(Boost)
IF (Boost_FOUND)
MESSAGE(STATUS "Found Boost libraries for debug build")
include_directories(${Boost_INCLUDE_DIRS})
else (Boost_FOUND)
MESSAGE(FATAL "Boost libs not found. It's mandatory to build with debugging")
ENDIF (Boost_FOUND)
ELSE(WANT_DEBUG)
SET(CMAKE_BUILD_TYPE RELEASE)
ENDIF(WANT_DEBUG)
# Lets disable Wall warnings due the MSVC too much talkative
# output. Wall can slow down compiletion up to hours and
# my boxes can boil eggs too.
# MSVC, MSVC_IDE, MSVC60, MSVC70, MSVC71, MSVC80, CMAKE_COMPILER_2005
IF (MSVC)
SET (CXX_WARNINGS "")
ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE)
ELSE (MSVC)
SET (CXX_WARNINGS "-Wall")
ENDIF (MSVC)
......@@ -150,7 +170,6 @@ IF (WIN32 AND NOT DEFINED WANT_INTERNAL_QSCINTILLA)
SET(CMAKE_C_FLAGS_RELEASE "/DQSCINTILLA_DLL ${CMAKE_C_FLAGS_RELEASE}")
ENDIF (WIN32 AND NOT DEFINED WANT_INTERNAL_QSCINTILLA)
##############################################################################################################
########## Find Dependencies ##########
......@@ -202,7 +221,7 @@ IF (NOT ENABLE_ORACLE)
ADD_DEFINITIONS("-DTO_NO_ORACLE")
ELSE (NOT ENABLE_ORACLE)
FIND_PACKAGE(Oracle)
FIND_PACKAGE(Oracle COMPONENTS CLNTSH XML)
IF(ORACLE_FOUND)
MESSAGE("Oracle OCI Library Found OK")
# what else is hidden in the ifdef hell?!
......@@ -246,15 +265,25 @@ ELSE (NOT ENABLE_DB2)
ADD_DEFINITIONS(-DHAVE_DB2)
ELSE (DB2_FOUND)
MESSAGE(" ")
MESSAGE(WARNING " No DB2 client libraries have been found.")
MESSAGE(WARNING " TOra can be build without it - without DB2 support.")
MESSAGE(WARNING " Specify -DDB2_PATH_INCLUDES=path")
MESSAGE(WARNING " and -DDB2_PATH_LIB=path manually")
MESSAGE(STATUS " No DB2 client libraries have been found.")
MESSAGE(STATUS " TOra can be build without it - without DB2 support.")
MESSAGE(STATUS " Specify -DDB2_PATH_INCLUDES=path")
MESSAGE(STATUS " and -DDB2_PATH_LIB=path manually")
MESSAGE(" ")
ENDIF (DB2_FOUND)
ENDIF (NOT ENABLE_DB2)
IF (NOT ENABLE_TERADATA)
MESSAGE(STATUS "Teradata support disabled (enable with -DENABLE_TERADATA=on)")
ELSE (NOT ENABLE_TERADATA)
FIND_PACKAGE(TERADATA)
IF (TERADATA_FOUND)
MESSAGE(STATUS "Teradata found")
ENDIF (TERADATA_FOUND)
ENDIF (NOT ENABLE_TERADATA)
##############################################################################################################
########## Include Setup ##########
......@@ -331,20 +360,24 @@ INSTALL(FILES
ENDIF (NOT WANT_BUNDLE)
# packaging related stuff
#SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Toolkit for Oracle")
# SET(CPACK_PACKAGE_NAME ${CMAKE_PROJECT_NAME})
string(TOLOWER ${CMAKE_PROJECT_NAME} CPACK_PACKAGE_NAME)
#SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README")
#SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING")
SET(CPACK_PACKAGE_VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
SET(CPACK_SOURCE_GENERATOR "TGZ;TBZ2")
#SET(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}")
SET(CPACK_SOURCE_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}")
SET(CPACK_IGNORE_FILES "/CVS/;/\\\\.svn/;\\\\.swp$;\\\\.#;/#;\\\\.tar.gz$;/CMakeFiles/;CMakeCache.txt;refresh-copyright-and-license.pl")
SET(CPACK_SOURCE_IGNORE_FILES ${CPACK_IGNORE_FILES})
INCLUDE(CPack)
# simulate autotools' "make dist"
add_custom_target(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source)
IF (WANT_RPM)
# packaging related stuff
#SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Toolkit for Oracle")
SET(CPACK_PACKAGE_NAME ${CMAKE_PROJECT_NAME})
#SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README")
#SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING")
SET(CPACK_PACKAGE_VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
SET(CPACK_SOURCE_GENERATOR "TGZ")
#SET(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}")
SET(CPACK_SOURCE_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}")
SET(CPACK_IGNORE_FILES "/CVS/;/\\\\.svn/;\\\\.swp$;\\\\.#;/#;\\\\.tar.gz$;/CMakeFiles/;CMakeCache.txt")
SET(CPACK_SOURCE_IGNORE_FILES ${CPACK_IGNORE_FILES})
INCLUDE(CPack)
# Check for SVN
FIND_PACKAGE(Subversion)
IF(NOT Subversion_FOUND)
......
tora (2.1.3-1) unstable; urgency=lowercase
Features:
* Terradata support
* AWR performance report tool
* xml formatting for memo editor/display
* Improved support for displaying routines in MySQL. From now on it will
display full routine creation script including arguments, return type etc.
* close buttons in tabs implemented
* connection dialog: test connection button
* F4 describe under cursor in PL/SQL editor
* RFE #2949032 tab with directories into the schema browser
* RFE #2916092 - column "percentage free" in the storage manage
Bugfixes:
* Build fixes (macosx, windows, cmake, rpm, oci stub)
* Do not update current schema on focus if schema had already been changed
* Enable syntax colouring only if "Syntax highlighting" was selected in preferences
* Fix for pl/sql editor in the case of TYPE BODY
* Add SCI_LEXER, fixes highlight issue on ubuntu
* Full implementation of bug #2477760 - data shown in storage manager is
not sortable
* Check/drop MySQL routine before creating one.
* A problem when in MySQL "show create ..." returns different number of
columns for users with different permissions
* Rollback segments tool shows a lot of duplicate columns. "Initial", "next"
columns have a lot of "(((((((" characters. Tree view is replaced with
toresulttable. Less code, mem-leaks fixes
* Fix crash when entering a dot after a forward slash in editor
* Fixed #514310: When switching to a different schema, or refreshing the
current schema in schema browser, the detail window still displays the info
for the last item selected
* Updated sql that includes user role access
* Patch #3022103: TOra fails to build with Qt 4.7. by Felix Geyer
* Fix directory browser for trotl
* Apply patch for column labels from John Vandenberg
* Fixed #3023700 When i right click on a dblink in the database browser, they
are entry, drop index, create index, modify index instead of dblink entry
Development:
* Various Trotl improvements and fixes
* toResultCombo can use a query returning more than one colum
- toResultCombo can use a query returning more than one colum, 1st column
is desplayed, the others are kept as a vector of QVariants. This is used in
AWR tool to keep mapping between diplayed snap time and the snap id. (I
know that in QT4 I should use MVC, in the future, mayby)
- toResulCombe can have selectPolicy. It can be set to either:
None - default behaviour, does nothing
First - select the first Combo field
LastButOne -
Last -
* Example tool window
tora (2.1.2-1) unstable; urgency=low
* Improved: Add editor option for uppler/lowercase object names
......
......@@ -4,8 +4,10 @@ Installation Instructions
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
2006, 2007, 2008, 2009 Free Software Foundation, Inc.
This file is free documentation; the Free Software Foundation gives
unlimited permission to copy, distribute and modify it.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. This file is offered as-is,
without warranty of any kind.
Basic Installation
==================
......@@ -13,7 +15,11 @@ Basic Installation
Briefly, the shell commands `./configure; make; make install' should
configure, build, and install this package. The following
more-detailed instructions are generic; see the `README' file for
instructions specific to this package.
instructions specific to this package. Some packages provide this
`INSTALL' file but do not implement all of the features documented
below. The lack of an optional feature in a given package is not
necessarily a bug. More recommendations for GNU packages can be found
in *note Makefile Conventions: (standards)Makefile Conventions.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
......@@ -42,7 +48,7 @@ may remove or edit it.
you want to change it or regenerate `configure' using a newer version
of `autoconf'.
The simplest way to compile this package is:
The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system.
......@@ -53,12 +59,22 @@ The simplest way to compile this package is:
2. Type `make' to compile the package.
3. Optionally, type `make check' to run any self-tests that come with
the package.
the package, generally using the just-built uninstalled binaries.
4. Type `make install' to install the programs and any data files and
documentation.
5. You can remove the program binaries and object files from the
documentation. When installing into a prefix owned by root, it is
recommended that the package be configured and built as a regular
user, and only the `make install' phase executed with root
privileges.
5. Optionally, type `make installcheck' to repeat any self-tests, but
this time using the binaries in their final installed location.
This target does not install anything. Running this target as a
regular user, particularly if the prior `make install' required
root privileges, verifies that the installation completed
correctly.
6. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
......@@ -67,8 +83,15 @@ The simplest way to compile this package is:
all sorts of other programs in order to regenerate files that came
with the distribution.
6. Often, you can also type `make uninstall' to remove the installed
files again.
7. Often, you can also type `make uninstall' to remove the installed
files again. In practice, not all packages have tested that
uninstallation works correctly, even though it is required by the
GNU Coding Standards.
8. Some packages, particularly those that use Automake, provide `make
distcheck', which can by used by developers to test that all other
targets like `make install' and `make uninstall' work correctly.
This target is generally not run by end users.
Compilers and Options
=====================
......@@ -93,7 +116,8 @@ same time, by placing the object files for each architecture in their
own directory. To do this, you can use GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'.
source code in the directory that `configure' is in and in `..'. This
is known as a "VPATH" build.
With a non-GNU `make', it is safer to compile the package for one
architecture at a time in the source code directory. After you have
......@@ -120,7 +144,8 @@ Installation Names
By default, `make install' installs the package's commands under
`/usr/local/bin', include files under `/usr/local/include', etc. You
can specify an installation prefix other than `/usr/local' by giving
`configure' the option `--prefix=PREFIX'.
`configure' the option `--prefix=PREFIX', where PREFIX must be an
absolute file name.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
......@@ -131,15 +156,46 @@ Documentation and other data files still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like `--bindir=DIR' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them.
you can set and what kinds of files go in them. In general, the
default for these options is expressed in terms of `${prefix}', so that
specifying just `--prefix' will affect all of the other directory
specifications that were not explicitly provided.
The most portable way to affect installation locations is to pass the
correct locations to `configure'; however, many packages provide one or
both of the following shortcuts of passing variable assignments to the
`make install' command line to change installation locations without
having to reconfigure or recompile.
The first method involves providing an override variable for each
affected directory. For example, `make install
prefix=/alternate/directory' will choose an alternate location for all
directory configuration variables that were expressed in terms of
`${prefix}'. Any directories that were specified during `configure',
but not in terms of `${prefix}', must each be overridden at install
time for the entire installation to be relocated. The approach of
makefile variable overrides for each directory variable is required by
the GNU Coding Standards, and ideally causes no recompilation.
However, some platforms have known limitations with the semantics of
shared libraries that end up requiring recompilation when using this
method, particularly noticeable in packages that use GNU Libtool.
The second method involves providing the `DESTDIR' variable. For
example, `make install DESTDIR=/alternate/directory' will prepend
`/alternate/directory' before all installation names. The approach of
`DESTDIR' overrides is not required by the GNU Coding Standards, and
does not work on platforms that have drive letters. On the other hand,
it does better at avoiding recompilation issues, and works well even
when some directory options were not specified in terms of `${prefix}'
at `configure' time.
Optional Features
=================
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Optional Features
=================
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
......@@ -152,6 +208,13 @@ find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
Some packages offer the ability to configure how verbose the
execution of `make' will be. For these packages, running `./configure
--enable-silent-rules' sets the default to minimal output, which can be
overridden with `make V=1'; while running `./configure
--disable-silent-rules' sets the default to verbose, which can be
overridden with `make V=0'.
Particular systems
==================
......@@ -288,7 +351,7 @@ operates.
`configure' can determine that directory automatically.
`--prefix=DIR'
Use DIR as the installation prefix. *Note Installation Names::
Use DIR as the installation prefix. *note Installation Names::
for more details, including other options available for fine-tuning
the installation locations.
......
......@@ -93,6 +93,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/m4/ax_cflags_gcc_option.m4 \
$(top_srcdir)/config/m4/pcre.m4 \
$(top_srcdir)/config/m4/postgresql.m4 \
$(top_srcdir)/config/m4/qtkde.m4 \
$(top_srcdir)/config/m4/teradata.m4 \
$(top_srcdir)/config/m4/tora.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
......@@ -221,6 +222,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PCRE_CFLAGS = @PCRE_CFLAGS@
......@@ -238,6 +240,9 @@ SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
TERADATA_CXXFLAGS = @TERADATA_CXXFLAGS@
TERADATA_LDFLAGS = @TERADATA_LDFLAGS@
TERADATA_LIBS = @TERADATA_LIBS@
UIC = @UIC@
VERSION = @VERSION@
WIN_CXXFLAGS = @WIN_CXXFLAGS@
......
2.1.3:
2010-09-20: Bugfix release. See ChangeLog for full details
2.1.2:
2009-10-14: Added win32 cross compile scripts/patches/notes from ZippyDufus <zippydufus@yahoo.com>
......
......@@ -48,6 +48,12 @@ work must be released under the GPL license as well.
TOra is supported for running with an Oracle 8.1.7 or newer
client installation. It has been verified to work with Oracle 10g and 11g.
WINDOWS / ORACLE NOTICE: The windows build of tora includes a stub Oracle DLL to
enable the product to work with other database engines even if oracle is not
installed. If you have Oracle client installed, and want oracle support in TOra to
function, remove the oci.dll file from the TOra installation directory after
installing it.
In addition, TOra also supports postgres and mysql if your Qt library
is compiled with that support.
......
......@@ -9,6 +9,11 @@ cmake [options] build_dir
where "build_dir" can be e.g.: . for TOra source root directory
or manually created directory to keep build files out of SVN copy.
Make targets:
* make
* make install
* make dist
Options:
Cmake installs TOra into /usr/local as default. You can change it
......
......@@ -9,17 +9,27 @@ Edit CMakeLists.txt file to set the version number for CMake
Edit the NEWS file to set a release date
Commit, and then copy trunk to an appropriately named tag, such as:
svn copy -m "tag before starting 2.1.0 release process" https://tora.svn.sourceforge.net/svnroot/tora/trunk/tora https://tora.svn.sourceforge.net/svnroot/tora/tags/tora-2-1-0
VER=2.1.0
USR=nneul
svn copy -m "tag before starting $VER release process" https://tora.svn.sourceforge.net/svnroot/tora/trunk/tora https://tora.svn.sourceforge.net/svnroot/tora/tags/tora-$VER
configure
make dist
sftp nneul,tora@frs.sourceforge.net
cd /home/pfs/project/t/to/tora/tora/2.1.0
put tora-2.1.0.tar.gz
sftp $USR,tora@frs.sourceforge.net
cd /home/pfs/project/t/to/tora/tora
mkdir $VER
chmod 775 $VER
cd /home/pfs/project/t/to/tora/tora/$VER
put tora-$VER.tar.gz
or
scp tora-2.1.0.tar.gz nneul,tora@frs.sourceforge.net:/home/frs/project/t/to/tora/tora/2.1.0/
scp tora-$VER.tar.gz $USR,tora@frs.sourceforge.net:/home/frs/project/t/to/tora/tora/$VER/
For each uploaded release source tarball or binary, also upload a .md5sum and .sha1sum file for
the upload in the same directory.
add new release to the 'tora' package
......
......@@ -75,6 +75,10 @@ cmake -G "NMake Makefiles" -DWANT_INTERNAL_QSCINTILLA=1 -DCMAKE_INSTALL_PREFIX=c
building with internal qscintilla is easier for beginners ;)
prepare for longer headache (if you're a windows devel newbie)
If you build qscintilla externally, follow the directions to make a staticlib.
Otherwise you get mysterious linker unresolved external symbols
even though depends.exe can see them. Meh, Windows.
nmake
Issuing nmake will actually run the build process itself.
......
......@@ -13,8 +13,8 @@
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.63],,
[m4_warning([this file was generated for autoconf 2.63.
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],,
[m4_warning([this file was generated for autoconf 2.65.
You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically `autoreconf'.])])
......@@ -960,4 +960,5 @@ m4_include([config/m4/oracle.m4])
m4_include([config/m4/pcre.m4])
m4_include([config/m4/postgresql.m4])
m4_include([config/m4/qtkde.m4])
m4_include([config/m4/teradata.m4])
m4_include([config/m4/tora.m4])
......@@ -4,6 +4,10 @@
# ORACLE_HAS_XML - Oracle has XDK support(thick client installed)
# ORACLE_INCLUDES - where to find oci.h
# ORACLE_LIBRARIES - the libraries to link against to use Oracle OCI
#
# Components: CLNTSH, OCCI, XML, OCIEI
# CLNTSH is enabled by default
# for example: FIND_PACKAGE(Oracle REQUIRED CLNTSH OCCI)
#
# copyright (c) 2007 Petr Vanek <petr@scribus.info>
# copyright (c) 2009 Ivan Brezina <ibre5041@ibrezina.net>
......@@ -14,6 +18,25 @@ SET(ORACLE_FOUND "NO")
SET(ORACLE_HAS_XML "NO")
SET(ORACLE_HOME $ENV{ORACLE_HOME})
# "components" handling. It enables to find various independent libraries,
IF( Oracle_FIND_COMPONENTS )
FOREACH( component ${Oracle_FIND_COMPONENTS} )
STRING( TOUPPER ${component} _COMPONENT )
SET( ORACLE_USE_${_COMPONENT} 1 )
ENDFOREACH( component )
# legacy behaviour
IF (NOT ORACLE_USE_CLNTSH)
SET(ORACLE_USE_CLNTSH 1)
ENDIF (NOT ORACLE_USE_CLNTSH)
# it looks like it's mandatory on macosx
IF (APPLE)
SET(ORACLE_USE_OCIEI 1)
ENDIF (APPLE)
ENDIF( Oracle_FIND_COMPONENTS )
IF (ORACLE_PATH_INCLUDES)
SET (ORACLE_INCLUDES_LOCATION ${ORACLE_PATH_INCLUDES})
......@@ -27,6 +50,8 @@ ELSE (ORACLE_PATH_INCLUDES)
${ORACLE_HOME}/sdk/include
# xe on windows
${ORACLE_HOME}/OCI/include
# InstantClient on WinXP
${ORACLE_HOME}/sdk/lib/msvc/
)
ENDIF (ORACLE_PATH_INCLUDES)
......@@ -49,50 +74,96 @@ FIND_PATH(
NO_DEFAULT_PATH NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH
)
FIND_PATH(
ORACLE_INCLUDES_XML
xml.h
${ORACLE_INCLUDES_LOCATION}
NO_DEFAULT_PATH NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH
)
FIND_LIBRARY(
ORACLE_LIBRARY_CLNTSH
NAMES libclntsh clntsh oci
PATHS ${ORACLE_LIB_LOCATION}
NO_DEFAULT_PATH NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH
)
FIND_LIBRARY(
ORACLE_LIBRARY_XML
NAMES libxml xml libxml10 xml10 libxml11 xml11 oraxml10 oraxml11
PATHS ${ORACLE_LIB_LOCATION}
NO_DEFAULT_PATH NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH
)
SET(FORCE_ERROR 0)
SET (ORACLE_LIBRARY ${ORACLE_LIBRARY_CLNTSH})
IF (APPLE)
IF (ORACLE_USE_CLNTSH)
FIND_LIBRARY(
ORACLE_LIBRARY_CLNTSH
NAMES libclntsh clntsh oci
PATHS ${ORACLE_LIB_LOCATION}
# NO_DEFAULT_PATH NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH
)
IF (NOT ORACLE_LIBRARY_CLNTSH)
IF (Oracle_FIND_REQUIRED)
SET(FORCE_ERROR "CLNTSH")
ENDIF (Oracle_FIND_REQUIRED)
set(ORACLE_LIBRARY_CLNTSH "")
ENDIF (NOT ORACLE_LIBRARY_CLNTSH)
ENDIF (ORACLE_USE_CLNTSH)
#set (ORACLE_LIBRARY_OCCI "")
IF (ORACLE_USE_OCCI)
FIND_LIBRARY(
ORACLE_LIBRARY_OCCI
NAMES libocci occi
PATHS ${ORACLE_LIB_LOCATION}
NO_DEFAULT_PATH NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH
)
IF (NOT ORACLE_LIBRARY_OCCI)
IF (Oracle_FIND_REQUIRED)
SET(FORCE_ERROR "OCCI")
ENDIF (Oracle_FIND_REQUIRED)
set (ORACLE_LIBRARY_OCCI "")
ENDIF (NOT ORACLE_LIBRARY_OCCI)
ENDIF (ORACLE_USE_OCCI)
IF (ORACLE_USE_XML)
FIND_PATH(
ORACLE_INCLUDES_XML
xml.h
${ORACLE_INCLUDES_LOCATION}
NO_DEFAULT_PATH NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH
)
IF (NOT ORACLE_INCLUDES_XML)
IF (Oracle_FIND_REQUIRED)
SET(FORCE_ERROR "XML")
ENDIF (Oracle_FIND_REQUIRED)
set (ORACLE_INCLUDES_XML "")
ENDIF (NOT ORACLE_INCLUDES_XML)
FIND_LIBRARY(
ORACLE_LIBRARY_XML
NAMES libxml xml libxml10 xml10 libxml11 xml11 oraxml10 oraxml11
PATHS ${ORACLE_LIB_LOCATION}
NO_DEFAULT_PATH NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH
)
IF (NOT ORACLE_LIBRARY_XML)
IF (Oracle_FIND_REQUIRED)
SET(FORCE_ERROR "XML")
endif (Oracle_FIND_REQUIRED)
set (ORACLE_LIBRARY_XML "")