Moved all features which aren't used through CONFIG+=xyz and are loaded
using the load(private/xyz) function to the qmake/features/private/
folder.
Currently, the qmake/features/ folder contains only features which
should be used using the CONFIG+= qmake variable.
- removed using of QDateTime methods using plain Qt::TimeSpec
- set QT_DISABLE_DEPRECATED_UP_TO to 0x060900 (also 0x061000 works)
- maintained Qt v5 and <v6.5 code still 😬 (next step will be to drop
Qt v5 🎉)
- updated auto tests
- updated docs
- updated comments
See:
8c8d6ff7b6
vcpkg workaround bugfix for QtSql module and static builds (need on
Windows and Linux too, MSYS2 doesn't support compiling libmysql).
Source of this problem starts in the QtSql6 QMYSQL driver package config
file at:
packages/qtbase_x64-windows-static/share/Qt6Sql/Qt6QMYSQLDriverPluginTargets.cmake
QMYSQL driver uses FindMySQL.cmake find module instead of the
unofficial-libmysql CMake package. The libmysql provided by vcpkg is
de-vendored so it doesn't contain OpenSSL, zstd, zlib inside.
It propagate strict compiler/linker options and Qt definitions using the
TinyOrm::CommonConfig interface library to the user code (highly
recommended; can also be set with the TINYORM_STRICT_MODE environment
variable).
- updated vcpkg ports
- updated docs
Removed the tiny_autoconf, it's still enabled by default, and instead
added the disable_autoconf qmake configuration feature.
This change was made to follow name and logic convention of another
qmake configuration options.
- updated docs
The tiny_autoconf and tiny_dotenv qmake CONFIG were added in the TinyORM
v0.34.0. These new features allow to auto-configure TinyORM, and with
their help, the conf.pri files can be skipped entirely. The
tiny_autoconf is designed to find the vcpkg installation and tiny_dotenv
to include the .env and .env.$$QMAKE_PLATFORM files in the project's
root folder. They can be configured using qmake and environment
variables, and they also contain some guessing logic if these variables
are not defined.
These are qmake and environment variables that affect the
auto-configuration feature:
- TINY_VCPKG_ROOT - path to the vcpkg installation folder (if not
defined then it tries to use the VCPKG_ROOT environment variable)
- TINY_VCPKG_TRIPLET - vcpkg triplet to use
(vcpkg/installed/$$TINY_VCPKG_TRIPLET/); if not defined then it tries
to guess the vcpkg triplet on the base of the current compiler and OS
(QMAKESPEC)
- TINY_MYSQL_ROOT - path to the MySQL installation folder (if not
defined then it tries to guess the MySQL installation folder:
$$(ProgramFiles)/MySQL/MySQL Server (8.1|8.0|5.7)/)
You can set these variables in the .env or .conf files (recommended), in
the qmake file (or wherever you want), or as environment variables.
These variables are set after the auto-configuration is done:
- TINY_VCPKG_INCLUDE - path to vcpkg include folder
(vcpkg/installed/<triplet>/include/)
- TINY_MYSQL_INCLUDE - path to the MySQL include folder (MySQL Server
8.1/include/)
- TINY_MYSQL_LIB - path to the MySQL lib folder (MySQL Server
8.1/include/)
The TINY_MYSQL_INCLUDE and TINY_MYSQL_LIB are only set on win32 except
mingw.
Previously, it was the QtTimeZoneType::DontConvert that implied the
Qt::LocalTime timezone spec.
Setting this to the Qt::UTC by default is the only way to have the
maximum level of interoperability between TinyORM and other libraries
and services.
- updated comments in docs and source code