Files
TinyORM/docs/supported-compilers.mdx
2023-03-29 16:15:11 +02:00

51 lines
1.5 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 __2796 unit tests__ 😮💥.
<div id="supported-compilers">
#### `Windows >=10` {#windows-10}
- MSVC 2019 `>=16.9`
- MSVC 2022 `>=17`
- MSYS2 UCRT64 GCC `10.2` - `12.2`
- MSYS2 UCRT64 Clang `12` - `15`
- clang-cl `>=14` with MSVC 2019/2022
#### `Linux`
- GCC `10.2` - `12.1`
- Clang `11` - `14`
</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.
:::
## 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`
- vcpkg - `VCPKG_MAX_CONCURRENCY` eg. to `10`