![]() |
QxOrm
1.4.2
C++ Object Relational Mapping library
|
00001 /**************************************************************************** 00002 ** 00003 ** http://www.qxorm.com/ 00004 ** Copyright (C) 2013 Lionel Marty (contact@qxorm.com) 00005 ** 00006 ** This file is part of the QxOrm library 00007 ** 00008 ** This software is provided 'as-is', without any express or implied 00009 ** warranty. In no event will the authors be held liable for any 00010 ** damages arising from the use of this software 00011 ** 00012 ** Commercial Usage 00013 ** Licensees holding valid commercial QxOrm licenses may use this file in 00014 ** accordance with the commercial license agreement provided with the 00015 ** Software or, alternatively, in accordance with the terms contained in 00016 ** a written agreement between you and Lionel Marty 00017 ** 00018 ** GNU General Public License Usage 00019 ** Alternatively, this file may be used under the terms of the GNU 00020 ** General Public License version 3.0 as published by the Free Software 00021 ** Foundation and appearing in the file 'license.gpl3.txt' included in the 00022 ** packaging of this file. Please review the following information to 00023 ** ensure the GNU General Public License version 3.0 requirements will be 00024 ** met : http://www.gnu.org/copyleft/gpl.html 00025 ** 00026 ** If you are unsure which license is appropriate for your use, or 00027 ** if you have questions regarding the use of this file, please contact : 00028 ** contact@qxorm.com 00029 ** 00030 ****************************************************************************/ 00031 00032 #ifndef _QX_CONFIG_H_ 00033 #define _QX_CONFIG_H_ 00034 00035 #ifdef _MSC_VER 00036 #pragma once 00037 #endif 00038 00046 #define QX_VERSION 0x010402 00047 #define QX_VERSION_STR "1.4.2" 00048 00049 #ifndef _QX_MODE_DEBUG 00050 #ifndef _QX_MODE_RELEASE 00051 #ifdef QT_NO_DEBUG 00052 #define _QX_MODE_RELEASE 00053 #else // QT_NO_DEBUG 00054 #define _QX_MODE_DEBUG 00055 #endif // QT_NO_DEBUG 00056 #endif // _QX_MODE_RELEASE 00057 #endif // _QX_MODE_DEBUG 00058 00059 #ifndef _QX_ENABLE_BOOST_SERIALIZATION_BINARY 00060 #ifndef _QX_ENABLE_BOOST_SERIALIZATION_XML 00061 #ifndef _QX_ENABLE_BOOST_SERIALIZATION_POLYMORPHIC 00062 #ifndef _QX_ENABLE_BOOST_SERIALIZATION_TEXT 00063 #ifndef _QX_ENABLE_BOOST_SERIALIZATION_PORTABLE_BINARY 00064 #ifndef _QX_ENABLE_BOOST_SERIALIZATION_WIDE_BINARY 00065 #ifndef _QX_ENABLE_BOOST_SERIALIZATION_WIDE_TEXT 00066 #ifndef _QX_ENABLE_BOOST_SERIALIZATION_WIDE_XML 00067 #define _QX_ENABLE_BOOST_SERIALIZATION_BINARY 00068 #define _QX_ENABLE_BOOST_SERIALIZATION_XML 00069 #endif // _QX_ENABLE_BOOST_SERIALIZATION_WIDE_XML 00070 #endif // _QX_ENABLE_BOOST_SERIALIZATION_WIDE_TEXT 00071 #endif // _QX_ENABLE_BOOST_SERIALIZATION_WIDE_BINARY 00072 #endif // _QX_ENABLE_BOOST_SERIALIZATION_PORTABLE_BINARY 00073 #endif // _QX_ENABLE_BOOST_SERIALIZATION_TEXT 00074 #endif // _QX_ENABLE_BOOST_SERIALIZATION_POLYMORPHIC 00075 #endif // _QX_ENABLE_BOOST_SERIALIZATION_XML 00076 #endif // _QX_ENABLE_BOOST_SERIALIZATION_BINARY 00077 00078 #ifndef _QX_ENABLE_BOOST_SERIALIZATION 00079 #ifdef _QX_ENABLE_BOOST_SERIALIZATION_BINARY 00080 #undef _QX_ENABLE_BOOST_SERIALIZATION_BINARY 00081 #endif // _QX_ENABLE_BOOST_SERIALIZATION_BINARY 00082 #ifdef _QX_ENABLE_BOOST_SERIALIZATION_XML 00083 #undef _QX_ENABLE_BOOST_SERIALIZATION_XML 00084 #endif // _QX_ENABLE_BOOST_SERIALIZATION_XML 00085 #ifdef _QX_ENABLE_BOOST_SERIALIZATION_POLYMORPHIC 00086 #undef _QX_ENABLE_BOOST_SERIALIZATION_POLYMORPHIC 00087 #endif // _QX_ENABLE_BOOST_SERIALIZATION_POLYMORPHIC 00088 #ifdef _QX_ENABLE_BOOST_SERIALIZATION_TEXT 00089 #undef _QX_ENABLE_BOOST_SERIALIZATION_TEXT 00090 #endif // _QX_ENABLE_BOOST_SERIALIZATION_TEXT 00091 #ifdef _QX_ENABLE_BOOST_SERIALIZATION_PORTABLE_BINARY 00092 #undef _QX_ENABLE_BOOST_SERIALIZATION_PORTABLE_BINARY 00093 #endif // _QX_ENABLE_BOOST_SERIALIZATION_PORTABLE_BINARY 00094 #ifdef _QX_ENABLE_BOOST_SERIALIZATION_WIDE_BINARY 00095 #undef _QX_ENABLE_BOOST_SERIALIZATION_WIDE_BINARY 00096 #endif // _QX_ENABLE_BOOST_SERIALIZATION_WIDE_BINARY 00097 #ifdef _QX_ENABLE_BOOST_SERIALIZATION_WIDE_TEXT 00098 #undef _QX_ENABLE_BOOST_SERIALIZATION_WIDE_TEXT 00099 #endif // _QX_ENABLE_BOOST_SERIALIZATION_WIDE_TEXT 00100 #ifdef _QX_ENABLE_BOOST_SERIALIZATION_WIDE_XML 00101 #undef _QX_ENABLE_BOOST_SERIALIZATION_WIDE_XML 00102 #endif // _QX_ENABLE_BOOST_SERIALIZATION_WIDE_XML 00103 #endif // _QX_ENABLE_BOOST_SERIALIZATION 00104 00105 #ifdef _QX_ENABLE_BOOST_SERIALIZATION_POLYMORPHIC 00106 #define _QX_SERIALIZE_POLYMORPHIC 1 00107 #else // _QX_ENABLE_BOOST_SERIALIZATION_POLYMORPHIC 00108 #define _QX_SERIALIZE_POLYMORPHIC 0 00109 #endif // _QX_ENABLE_BOOST_SERIALIZATION_POLYMORPHIC 00110 00111 #ifdef _QX_ENABLE_BOOST_SERIALIZATION_BINARY 00112 #define _QX_SERIALIZE_BINARY (! _QX_SERIALIZE_POLYMORPHIC && 1) 00113 #else // _QX_ENABLE_BOOST_SERIALIZATION_BINARY 00114 #define _QX_SERIALIZE_BINARY (! _QX_SERIALIZE_POLYMORPHIC && 0) 00115 #endif // _QX_ENABLE_BOOST_SERIALIZATION_BINARY 00116 00117 #ifdef _QX_ENABLE_BOOST_SERIALIZATION_TEXT 00118 #define _QX_SERIALIZE_TEXT (! _QX_SERIALIZE_POLYMORPHIC && 1) 00119 #else // _QX_ENABLE_BOOST_SERIALIZATION_TEXT 00120 #define _QX_SERIALIZE_TEXT (! _QX_SERIALIZE_POLYMORPHIC && 0) 00121 #endif // _QX_ENABLE_BOOST_SERIALIZATION_TEXT 00122 00123 #ifdef _QX_ENABLE_BOOST_SERIALIZATION_XML 00124 #define _QX_SERIALIZE_XML (! _QX_SERIALIZE_POLYMORPHIC && 1) 00125 #else // _QX_ENABLE_BOOST_SERIALIZATION_XML 00126 #define _QX_SERIALIZE_XML (! _QX_SERIALIZE_POLYMORPHIC && 0) 00127 #endif // _QX_ENABLE_BOOST_SERIALIZATION_XML 00128 00129 #ifdef _QX_ENABLE_BOOST_SERIALIZATION_PORTABLE_BINARY 00130 #define _QX_SERIALIZE_PORTABLE_BINARY (! _QX_SERIALIZE_POLYMORPHIC && 1) 00131 #else // _QX_ENABLE_BOOST_SERIALIZATION_PORTABLE_BINARY 00132 #define _QX_SERIALIZE_PORTABLE_BINARY (! _QX_SERIALIZE_POLYMORPHIC && 0) 00133 #endif // _QX_ENABLE_BOOST_SERIALIZATION_PORTABLE_BINARY 00134 00135 #ifdef _QX_ENABLE_BOOST_SERIALIZATION_WIDE_BINARY 00136 #define _QX_SERIALIZE_WIDE_BINARY (! _QX_SERIALIZE_POLYMORPHIC && 1) 00137 #else // _QX_ENABLE_BOOST_SERIALIZATION_WIDE_BINARY 00138 #define _QX_SERIALIZE_WIDE_BINARY (! _QX_SERIALIZE_POLYMORPHIC && 0) 00139 #endif // _QX_ENABLE_BOOST_SERIALIZATION_WIDE_BINARY 00140 00141 #ifdef _QX_ENABLE_BOOST_SERIALIZATION_WIDE_TEXT 00142 #define _QX_SERIALIZE_WIDE_TEXT (! _QX_SERIALIZE_POLYMORPHIC && 1) 00143 #else // _QX_ENABLE_BOOST_SERIALIZATION_WIDE_TEXT 00144 #define _QX_SERIALIZE_WIDE_TEXT (! _QX_SERIALIZE_POLYMORPHIC && 0) 00145 #endif // _QX_ENABLE_BOOST_SERIALIZATION_WIDE_TEXT 00146 00147 #ifdef _QX_ENABLE_BOOST_SERIALIZATION_WIDE_XML 00148 #define _QX_SERIALIZE_WIDE_XML (! _QX_SERIALIZE_POLYMORPHIC && 1) 00149 #else // _QX_ENABLE_BOOST_SERIALIZATION_WIDE_XML 00150 #define _QX_SERIALIZE_WIDE_XML (! _QX_SERIALIZE_POLYMORPHIC && 0) 00151 #endif // _QX_ENABLE_BOOST_SERIALIZATION_WIDE_XML 00152 00153 #define _QX_AUTO_REGISTER_REPOSITORY 0 00154 #define _QX_USE_MEM_LEAK_DETECTION 0 00155 #define _QX_USE_EXPORT_DLL_BOOST_SERIALIZATION_SINGLETON 1 00156 #define _QX_USE_BOOST_SERIALIZE_REGISTER_HELPER 0 00157 #define _QX_USE_MODIFY_BOOST_SERIALIZATION_EXPORT_HPP 0 00158 #define _QX_WRITE_BOOST_CLASS_EXPORT_IN_HPP_FILE 0 00159 #define _QX_WRITE_BOOST_CLASS_EXPORT_IN_CPP_FILE 1 00160 #define _QX_INCLUDE_BOOST_SERIALIZE_EXPORT_HPP_INTO_QX_MEM_LEAK_HPP 1 00161 #define _QX_INCLUDE_BOOST_SERIALIZE_ARCHIVE_IMPL_IPP 0 00162 #define _QX_MEM_LEAK_ONLY_KNOWN_SRC_FILE 1 00163 #define _QX_SUPPORT_BOOST_SERIALIZE_SHARED_PTR_132 0 00164 #define _QX_USE_QX_CONVERT_EXPORT 0 00165 #define _QX_USE_GCC_EXPORT_ALL_SYMBOLS 1 00166 #define _QX_USE_GCC_VISIBILITY 0 00167 #define _QX_USE_ASSERT 1 00168 #define _QX_SUPPORT_COVARIANT_RETURN_TYPE 1 00169 #define _QX_USE_QX_SINGLETON_X 1 00170 00171 #ifdef _MSC_VER 00172 /* -- Link error with VC++ 9.0 => Qt uses "-Zc:wchar_t-" option to compile and boost serialization library is compiled without this option -- */ 00173 #define _QX_USE_SERIALIZE_POLYMORPHIC_PATCH (_QX_SERIALIZE_POLYMORPHIC && 1) 00174 #else // _MSC_VER 00175 #define _QX_USE_SERIALIZE_POLYMORPHIC_PATCH 0 00176 #endif // _MSC_VER 00177 00178 #if (BOOST_VERSION < 105100) 00179 #ifndef BOOST_NO_CXX11_TEMPLATE_ALIASES 00180 #define BOOST_NO_CXX11_TEMPLATE_ALIASES 00181 #endif // BOOST_NO_CXX11_TEMPLATE_ALIASES 00182 #endif // (BOOST_VERSION < 105100) 00183 00184 #ifdef _QX_CPP_11_SMART_PTR 00185 #ifndef BOOST_NO_CXX11_SMART_PTR 00186 #include <memory> 00187 #ifndef BOOST_NO_CXX11_TEMPLATE_ALIASES 00188 template <typename T> using qx_shared_ptr = std::shared_ptr<T>; 00189 #define qx_static_pointer_cast std::static_pointer_cast 00190 #else // BOOST_NO_CXX11_TEMPLATE_ALIASES 00191 #define qx_shared_ptr std::shared_ptr 00192 #define qx_static_pointer_cast std::static_pointer_cast 00193 #endif // BOOST_NO_CXX11_TEMPLATE_ALIASES 00194 #define QX_SHARED_PTR_DEFINED 00195 #endif // BOOST_NO_CXX11_SMART_PTR 00196 #endif // _QX_CPP_11_SMART_PTR 00197 00198 #ifndef QX_SHARED_PTR_DEFINED 00199 #include <boost/shared_ptr.hpp> 00200 #ifndef BOOST_NO_CXX11_TEMPLATE_ALIASES 00201 template <typename T> using qx_shared_ptr = boost::shared_ptr<T>; 00202 #define qx_static_pointer_cast boost::static_pointer_cast 00203 #else // BOOST_NO_CXX11_TEMPLATE_ALIASES 00204 #define qx_shared_ptr boost::shared_ptr 00205 #define qx_static_pointer_cast boost::static_pointer_cast 00206 #endif // BOOST_NO_CXX11_TEMPLATE_ALIASES 00207 #else // QX_SHARED_PTR_DEFINED 00208 #undef QX_SHARED_PTR_DEFINED 00209 #endif // QX_SHARED_PTR_DEFINED 00210 00211 #if (QT_VERSION < 0x050000) 00212 #ifndef _QX_NO_JSON 00213 #define _QX_NO_JSON 00214 #endif // _QX_NO_JSON 00215 #endif // (QT_VERSION < 0x050000) 00216 00217 #endif // _QX_CONFIG_H_