--- 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__ 😮💥.
#### `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` (libstdc++ only)
:::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` (policies <= CMP0128 default to NEW) - `qmake` distributed by the Qt Framework ##### Make tools - `jom` - highly recommended with the `qmake` build system on Windows (replacement for nmake) - `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`