Commit Graph

84 Commits

Author SHA1 Message Date
silverqx 3181d46ca4 qmake/cmake disabled -Weffc++, it's outdated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110186
2024-03-17 11:18:11 +01:00
silverqx 139df1d2a8 qmake/cmake disabled QT_USE_QSTRINGBUILDER 2024-03-17 10:09:03 +01:00
silverqx 71e039c12b cmake added todo task 2024-02-24 13:08:36 +01:00
silverqx 658c380d97 cmake renamed function 2024-02-05 16:27:48 +01:00
silverqx 97df9ef263 cmake fixtypo 2024-02-05 16:27:48 +01:00
silverqx 1dc316d6e1 cmake added Compatible Interface Property
Added the SOVERSION TinyOrm property to the Compatible Interface.
2024-02-05 16:27:47 +01:00
silverqx 04a96c6f19 cmake enhanced TinyResourceAndManifest.cmake
- added support for MODULE_LIBRARY
2024-02-05 16:27:40 +01:00
silverqx ffcfe60711 cmake avoided possible disabled PCH
Restrict disabling PCH if the ccache is used as the compiler launcher
with the MSVC compiler.
2023-10-20 18:29:52 +02:00
silverqx dfd253d2c5 cmake case-insensitive CMAKE_BUILD_TYPE
Refactored to case-insensitive CMAKE_BUILD_TYPE everywhere.
2023-10-20 18:27:28 +02:00
silverqx b4685e88a7 cmake added verbose message 2023-10-20 18:24:26 +02:00
silverqx 99d5fd38ec cmake added comments 2023-10-20 18:20:04 +02:00
silverqx 34c6501c49 cmake added new unsupported build 2023-10-20 14:11:35 +02:00
silverqx b11a6ea596 cmake renamed variable 2023-10-20 14:09:42 +02:00
silverqx fa11fb3082 added comment and updated NOTES.txt 2023-10-17 15:26:12 +02:00
silverqx 4398537ab4 cmake avoid duplicate call 2023-10-17 15:26:03 +02:00
silverqx e1cb18dbaa cmake updated comment 2023-10-17 15:26:03 +02:00
silverqx 32782c1015 cmake added missing QT_NO_DEBUG_OUTPUT 2023-09-10 12:06:46 +02:00
silverqx 5e4c0a3645 cmake formatting 2023-09-10 12:06:45 +02:00
silverqx 002889d65e cmake added STRICT_MODE option
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
2023-09-10 12:06:44 +02:00
silverqx 9db5df53b2 cmake fixtypo in comments 2023-09-10 12:06:43 +02:00
silverqx 9171f18460 cmake fixtypo in message-s 2023-09-10 12:06:43 +02:00
silverqx 9916a1109f cmake moved todo tasks
[skip ci]
2023-09-10 12:06:39 +02:00
silverqx 32eb398bf6 added commented external:templates-
I can make working Qt6 MSVC build but it produces lot of warnings from
the Qt itself eg. for Qt5, and I don't even tried Linux g++/clang++.

So I'm leaving it disabled for now.
2023-08-18 17:52:39 +02:00
silverqx e07c770d09 cmake bugfix /guard:cf with clang-cl 16 2023-06-02 12:40:09 +02:00
silverqx 85dddfbcaf fixtypo cmake comments 2023-01-17 16:52:46 +01:00
silverqx ca41b5007c cmake mark_as_advanced() 2023-01-17 16:44:31 +01:00
silverqx 5bbc6a5670 updated -fno-pch-timestamp for Clang with ccache 2023-01-17 16:44:31 +01:00
silverqx 6f3ecbf388 added -fno-pch-timestamp for Clang with ccache 2023-01-17 13:44:03 +01:00
silverqx e775e81995 cmake bugfix MSYS2 Qt 6 2023-01-15 13:45:13 +01:00
silverqx da1fe3a73b cmake revisited ccache fixes logic
Revisited because the clang-cl with the MSVC compiler started having
100% cache hits. Previous versions didn't, now the versions are
Clang 15, MSVC 17.4, and ccache 4.7.4.
2023-01-13 15:19:26 +01:00
silverqx 7caf406c83 cmake moved function up 2023-01-13 13:15:53 +01:00
silverqx 39e3e6cb6e cmake added support for cmp0141 with ccache
Added support for the MSVC debug information format flags selected by
an abstraction added in the CMake 3.25 if the compiler launcher is
the ccache.

In the CMake >=3.25 the CMAKE_MSVC_DEBUG_INFORMATION_FORMAT will be
set to the "$<$<CONFIG:Debug,RelWithDebInfo>:Embedded>" if the compiler
launcher is the ccache.

In the CMake <3.25 the old replace /Zi by /Z7 by the build config type
in the CMAKE_C/CXX_FLAGS_DEBUG/RELWITHDEBINFO CMake flags.
2022-12-01 16:13:52 +01:00
silverqx 3fc9d1d4e3 used Q_ macros for keywords everywhere
Also added CONFIG += no_keywords for qmake and the QT_NO_KEYWORDS
for Cmake.
2022-10-27 15:25:09 +02:00
silverqx 886d13077f cmake issue warning for clang-cl msvc with ccache 2022-07-17 13:13:34 +02:00
silverqx 4fd8d7fd12 bugfix cmake BOOL variable
[skip ci]
2022-07-16 09:25:12 +02:00
silverqx eaf4c24409 updated comment
[skip ci]
2022-07-14 10:43:26 +02:00
silverqx 3ece1faa88 added cmake ccache support on Windows
The ccache can be enable using the CMAKE_CXX_COMPILER_LAUNCHER.
2022-07-13 23:09:24 +02:00
silverqx 0808c44f97 cmake enabled /sdl for MSVC debug builds 2022-06-08 21:49:27 +02:00
silverqx 717613e848 cmake unified if conditions 2022-06-05 13:40:46 +02:00
silverqx 24e359df50 cmake added fatal error to unsupported builds
Added a new nice message for MSYS2 clang shared build with inline
constants.

 - updated NOTES.txt
2022-06-04 21:53:17 +02:00
silverqx 4f1c931eae added support for clang-cl
Be able to build with clang-cl with MSVC 2019/2022 but only with
inline constants.

 - supported by both CMake and qmake 🎉
 - updated docs support compilers

qmake specific:

 - enhanced and fixed tiny_toolchain_requirement
 - added clang-cl min. required version to tiny_toolchain_requirement
 - enhanced winconf.pri
 - updated conf.pri.examples
 - added a new feature file the tiny_system_headers.prf, it unifies
   tagging system headers

cmake specific:

 - also added clang-cl min. required version as minReqClangClVersion
 - for clang-cl set the INLINE_CONSTANTS to ON and don't show this
   CMake option
2022-06-04 09:23:53 +02:00
silverqx 3b05cd1bed used own tom migrations in unit tests 🎉 2022-05-12 12:25:22 +02:00
silverqx 2f455f7f4a fixed RC files encoding on Windows 🙌🎆
Use utf8 on MinGW and ANSI with msvc.

The core of the problem is in the $$cat() and write_file() qmake
functions they don't know process UTF-8 encoded files, they use
the ANSI encoding.
2022-05-05 10:31:29 +02:00
silverqx 92775f444c divided Orm::Utils
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
2022-01-01 14:28:42 +01:00
silverqx 869362bc7a added DISABLE_THREAD_LOCAL macro
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.
2021-12-30 17:12:29 +01:00
silverqx eec136d9ce cmake reverted commented .rc file
It is needed, it was mistake.
2021-12-08 12:27:37 +01:00
silverqx 9aee6d4bed fixed clang-tidy diagnostics 2021-12-08 12:27:35 +01:00
silverqx 09592a7732 added GitHub Actions Linux, MSYS2 UCRT64, MSVC
- 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.
2021-12-08 12:27:25 +01:00
silverqx 3c3609a5b5 bugfix cmake removed LINKER: prefix 2021-11-12 18:11:40 +01:00
silverqx a894bb2ed2 added Wuninitialized 2021-10-21 17:46:35 +02:00