mirror of
https://github.com/silverqx/TinyORM.git
synced 2025-12-18 09:04:09 -06:00
60 lines
1.9 KiB
Plaintext
60 lines
1.9 KiB
Plaintext
---
|
|
sidebar_position: 2
|
|
sidebar_label: 🚀 Supported Compilers
|
|
hide_table_of_contents: true
|
|
description: Platform requirements, supported compilers and build systems for TinyORM C++ library.
|
|
keywords: [c++ orm, supported compilers, supported build systems, tinyorm]
|
|
---
|
|
|
|
# Supported Compilers
|
|
|
|
Following compilers are backed up by the GitHub Action [workflows](https://github.com/silverqx/TinyORM/tree/main/.github/workflows) (CI pipelines), these workflows also include more then __3378 unit tests__ 😮💥.
|
|
|
|
<div id="supported-compilers">
|
|
|
|
#### `Windows >=10` {#windows-10}
|
|
|
|
- MSVC 2019 `>=16.9`
|
|
- MSVC 2022 `>=17`
|
|
- MSYS2 UCRT64 GCC `11.2` - `14.2`
|
|
- MSYS2 UCRT64 Clang `>=15`
|
|
- Clang-cl `>=15` with MSVC 2019/2022
|
|
|
|
#### `Linux`
|
|
|
|
- GCC `11.2` - `14.2`
|
|
- Clang `>=15` <small className='darker'>(libstdc++ only)</small>
|
|
|
|
</div>
|
|
|
|
:::tip
|
|
You can compile TinyORM with the MSVC 2022 even if Qt doesn't provide binaries for the MSVC 2022, you can link against Qt MSVC 2019 binaries without any limitations.
|
|
:::
|
|
|
|
:::info
|
|
Qt finally provides __MSVC 2022__ binaries from __Qt v6.8__ (after 2.5 years 🤔), what are good news. There will be no MSVC 2019 binaries from Qt v6.8. Everything will work normally and __no explicit actions__ are needed.
|
|
:::
|
|
|
|
:::warning
|
|
The `macOS` and Clang with `libc++` are not supported.
|
|
:::
|
|
|
|
## Supported build systems
|
|
|
|
- `CMake` `>=3.22` <small className='darker'>(policies <= CMP0128 default to NEW)</small>
|
|
- `qmake` distributed by the Qt Framework
|
|
|
|
##### Make tools
|
|
|
|
- `jom` - highly recommended with the `qmake` build system on Windows <small className='darker'>(replacement for nmake)</small>
|
|
- `ninja` - recommended for `CMake` as the make file generator
|
|
|
|
##### Parallel building
|
|
|
|
You can control parallel building using the following environment variables.
|
|
|
|
- CMake - `CMAKE_BUILD_PARALLEL_LEVEL` eg. to `10`
|
|
- jom - `JOMFLAGS` eg. to `j11`
|
|
- make - `MAKEFLAGS` eg. to `-j10`
|
|
- vcpkg - `VCPKG_MAX_CONCURRENCY` eg. to `10`
|