While ORM can be disabled, Orm::Utils has been split into Orm::Utils
and Orm::Tiny::Utils (Orm::Tiny::TinyUtils alias).
So when ORM is disabled then utils used only in the ORM will be
excluded from a final build.
- bugfix cmake undefined ORM option in TinySources
Overrides default detection logic for thread_local and disable it
forcefully.
In qmake can be configured by "CONFIG+=disable_thread_local".
For Cmake DISABLE_THREAD_LOCAL option was added.
- initial g++/clang build, ctest on MSYS2 UCRT64 on Windows Server 2022
- initial cmake build/ctest on Ubuntu 20.40
- initial cmake build/ctest on MSVC on Windows Server 2019
changed driver to QPSQL in tst_databasemanager
This avoids crash when QMYSQL driver's dll is unavailable.
QMYSQL driver is not shipped by default by Qt Windows MSVC installer.
- added TINY_UNPARSED_ARGUMENTS checks for all cmake_parse_arguments()
- bugfix bad PARSE_ARGV index for cmake_parse_arguments()
- added unset() to macros
Enhanced qmake/cmake builds during testing of all Win32 build types.
- throw fatal error for unsupported build types
- cmake do not show INLINE_CONSTANTS option for MinGW clang shared
build because it causes crashes
For the static build is always used inline constants.
For the shared build is used extern constants by default and this
default can be overridden by a new cmake option INLINE_CONSTANTS.
- renamed project folder tests/utils to tests/TinyUtils
- bugfix missed INTERFACE TINYUTILS_LINKING_SHARED in TinyUtils target
- renamed export macro defines for TinyUtils from UTILS_ to TINYUTILS_
- renamed utils_global.hpp to export.hpp in TinyUtils
- added WINVER macro
- updated NTDDI_WINNT and similar macros
- removed TINYORM_LINKING_SHARED from TinyTestCommon.cmake, it is in
the INTERFACE from TinyOrm target
Synchronize changes made to the Windows RC and manifest files related
code for qmake.
Also removed TinyOrm_mingw.rc file, RC file for MinGW is injected
through the main TinyOrm.rc.in file, I had to do it this way because is
not possible to pass more RC files by qmake's RC_FILE variable, cmake
can do this without problems.
Discarded configuration of the version header file by version.hpp.in,
instead the project version is obtained from version.hpp file.
- bugfix removed unused parameters in tiny_resource_and_manifest()
- cmake appended version to TinyUtils
- bugfix debug file flag in Windows RC files
- added Windows RC and manifest files for TinyUtils library
- build checkFileVersion_*() tests only on MSVC and when shared library
build is on
Discarded configuration of the version header file by version.hpp.in,
instead the project version is obtained from version.hpp file.
- unified function return values, used out_ variables
- unified cmake_parse_arguments() calls, used PARSE_ARGV everywhere
Removed TINY_ORIGINAL_FILENAME from version.hpp.in, instead used
configure_file() by help with file(GENERATE ...) and $<TARGET_FILE_NAME>
to obtain original filename and process TinyOrm.rc.in file.
- changed prefix for all macros to TINYORM_ in the version.hpp header
file to minimize conflicts
- removed tiny_init_target_version_ext(), so version number will be
appended on WIN32 for shared libraries and also for static archives
- used CMAKE_SYSTEM_NAME instead of WIN32
Added support for OriginalFilename in Windows RC file for multi-config
generators.
- changed InternalName in Windows RC file to TinyOrm (from tinyorm)
- added TINY_VERSION_NUM to the version.hpp file
Primary change is to correctly match build types for the build tree
and to correctly map build types when package registry contains more
builds.
Also for install tree, link only debug builds against for MSVC, to
avoid MSVC crashes.
These changes was made up in the package version config files.
Build types are requirements like a package version is.
Code responsible for this is in the TinyPackageConfigHelpers.cmake
module that is also installed with package for a install tree, or copied
to the build tree for a build tree.
- provided meaningful defaults for CMAKE_MAP_IMPORTED_CONFIG_<CONFIG>
- set up meaningful defaults also for TinyOrm:TinyOrm target in the
package config file for MAP_IMPORTED_CONFIG_<CONFIG>
- added many new debug message in package config and config version
files
- added nice status message in the package config file about found
TinyOrm package, example of the output:
Found package TinyOrm 0.1.0.0 Release (requested 0.1.0) at
/xyz/XyzConfig.cmake
- all generated content in the build tree is written to the
TINY_BUILD_GENDIR (generated version header and cmake config/version
files)
- added new MATCH_EQUAL_EXPORTED_BUILDTREE option - Exported package
configuration from the build tree is considered to match only when
the build type is equal
- added CMake Guidelines to the NOTES.txt
- updated tiny_file_version_and_manifest() function, it takes 2 paths
now, _in and _out
- added new global variable TINY_IS_MULTI_CONFIG
- added p, pn, ps functions to CsDebug module
- made TINYORM_MYSQL_PING private
- added CMAKE_MODULE_PATH to the package config if MYSQL_PING enabled
- changed paths to build folders, separate folders for cmake/qmake
- refactored target_optional_compile_definitions()
- bugfix tiny_init_cmake_variables()
- moved TinyOrmTargets.cmake for build tree to the parent folder
- disabled 4702 warning for msvc
- whitespaces in cmake files if ( vs if(