QxPrecompiled.h 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. /****************************************************************************
  2. **
  3. ** https://www.qxorm.com/
  4. ** Copyright (C) 2013 Lionel Marty (contact@qxorm.com)
  5. **
  6. ** This file is part of the QxOrm library
  7. **
  8. ** This software is provided 'as-is', without any express or implied
  9. ** warranty. In no event will the authors be held liable for any
  10. ** damages arising from the use of this software
  11. **
  12. ** Commercial Usage
  13. ** Licensees holding valid commercial QxOrm licenses may use this file in
  14. ** accordance with the commercial license agreement provided with the
  15. ** Software or, alternatively, in accordance with the terms contained in
  16. ** a written agreement between you and Lionel Marty
  17. **
  18. ** GNU General Public License Usage
  19. ** Alternatively, this file may be used under the terms of the GNU
  20. ** General Public License version 3.0 as published by the Free Software
  21. ** Foundation and appearing in the file 'license.gpl3.txt' included in the
  22. ** packaging of this file. Please review the following information to
  23. ** ensure the GNU General Public License version 3.0 requirements will be
  24. ** met : http://www.gnu.org/copyleft/gpl.html
  25. **
  26. ** If you are unsure which license is appropriate for your use, or
  27. ** if you have questions regarding the use of this file, please contact :
  28. ** contact@qxorm.com
  29. **
  30. ****************************************************************************/
  31. #ifndef _QX_ORM_PRECOMPILED_HEADER_H_
  32. #define _QX_ORM_PRECOMPILED_HEADER_H_
  33. #ifdef _MSC_VER
  34. #pragma once
  35. #endif
  36. #ifdef _MSC_VER
  37. #if (_MSC_VER < 1800) // MSVC 2012 and below
  38. #ifndef _VARIADIC_MAX
  39. #define _VARIADIC_MAX 10 // to manage correctly std::tuple
  40. #endif // _VARIADIC_MAX
  41. #endif // (_MSC_VER < 1800)
  42. #endif // _MSC_VER
  43. #ifdef _MSC_VER
  44. #pragma warning(disable:4503) /* -- Disable 4503 warning because of boost template -- */
  45. #pragma warning(disable:4100) /* -- Disable warning 'unreferenced formal parameter' -- */
  46. #pragma warning(disable:4996)
  47. #pragma warning(disable:4661)
  48. #endif // _MSC_VER
  49. #include <iostream>
  50. #include <algorithm>
  51. #include <string>
  52. #include <vector>
  53. #include <list>
  54. #include <map>
  55. #include <set>
  56. #include <functional>
  57. #include <type_traits>
  58. #include <memory>
  59. #include <unordered_map>
  60. #include <unordered_set>
  61. #include <tuple>
  62. #include <QtCore/qglobal.h>
  63. #include <QtCore/qobject.h>
  64. #include <QtCore/qdebug.h>
  65. #include <QtCore/qstring.h>
  66. #include <QtCore/qstringlist.h>
  67. #include <QtCore/qvector.h>
  68. #include <QtCore/qlist.h>
  69. #include <QtCore/qmap.h>
  70. #include <QtCore/qset.h>
  71. #include <QtCore/qhash.h>
  72. #include <QtCore/qthread.h>
  73. #include <QtCore/qmutex.h>
  74. #include <QtCore/qdir.h>
  75. #include <QtCore/qfile.h>
  76. #include <QtCore/qdatetime.h>
  77. #include <QtCore/qvariant.h>
  78. #include <QtCore/qpair.h>
  79. #ifdef _MSC_VER
  80. #pragma warning(push)
  81. #pragma warning(disable:4396)
  82. #endif // _MSC_VER
  83. #ifndef _QX_ENABLE_BOOST
  84. #ifdef _QX_ENABLE_BOOST_SERIALIZATION
  85. #define _QX_ENABLE_BOOST
  86. #endif // _QX_ENABLE_BOOST_SERIALIZATION
  87. #endif // _QX_ENABLE_BOOST
  88. #ifdef _QX_ENABLE_BOOST
  89. #define BOOST_ALL_NO_LIB /* -- Disable auto-link feature provided by boost -- */
  90. #include <boost/config.hpp>
  91. #include <boost/version.hpp>
  92. #include <boost/scoped_ptr.hpp>
  93. #include <boost/shared_ptr.hpp>
  94. #include <boost/weak_ptr.hpp>
  95. #include <boost/intrusive_ptr.hpp>
  96. #include <boost/unordered_map.hpp>
  97. #include <boost/unordered_set.hpp>
  98. #include <boost/tuple/tuple.hpp>
  99. #include <boost/tuple/tuple_comparison.hpp>
  100. #include <boost/tuple/tuple_io.hpp>
  101. #include <boost/optional.hpp>
  102. #include <boost/none.hpp>
  103. #include <boost/serialization/force_include.hpp>
  104. #endif // _QX_ENABLE_BOOST
  105. #ifdef BOOST_DLLEXPORT
  106. #undef BOOST_DLLEXPORT
  107. #define BOOST_DLLEXPORT /* Nothing */
  108. #endif // BOOST_DLLEXPORT
  109. #ifdef _QX_ENABLE_BOOST_SERIALIZATION
  110. #ifdef _MSC_VER
  111. #include <boost/serialization/serialization.hpp> /* -- To avoid warning 4100 => header in precompiled header -- */
  112. #include <boost/archive/detail/iserializer.hpp>
  113. #include <boost/archive/detail/oserializer.hpp>
  114. #endif // _MSC_VER
  115. #endif // _QX_ENABLE_BOOST_SERIALIZATION
  116. #ifdef _MSC_VER
  117. #pragma warning(pop)
  118. #endif // _MSC_VER
  119. #include <QxCommon/QxConfig.h>
  120. #include <QxCommon/QxMacro.h>
  121. #endif // _QX_ORM_PRECOMPILED_HEADER_H_