diff --git a/404.html b/404.html index 69f5815bb..38b43fd04 100644 --- a/404.html +++ b/404.html @@ -14,7 +14,7 @@ - + diff --git a/assets/js/6629c45f.43d6f39e.js b/assets/js/6629c45f.77316fdc.js similarity index 99% rename from assets/js/6629c45f.43d6f39e.js rename to assets/js/6629c45f.77316fdc.js index 5c706d682..0429e56f6 100644 --- a/assets/js/6629c45f.43d6f39e.js +++ b/assets/js/6629c45f.77316fdc.js @@ -1 +1 @@ -"use strict";(self.webpackChunktinyorm_org=self.webpackChunktinyorm_org||[]).push([[820],{72:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tinyormSidebar":[{"type":"link","label":"\ud83d\udd25 Prologue","href":"/","docId":"README","unlisted":false},{"type":"link","label":"\ud83d\udd27 Dependencies","href":"/dependencies","docId":"dependencies","unlisted":false},{"type":"link","label":"\ud83d\ude80 Supported Compilers","href":"/supported-compilers","docId":"supported-compilers","unlisted":false},{"type":"category","label":"\u2728 Database","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Getting Started","href":"/database/getting-started","docId":"database/getting-started","unlisted":false},{"type":"link","label":"Query Builder","href":"/database/query-builder","docId":"database/query-builder","unlisted":false},{"type":"link","label":"Migrations","href":"/database/migrations","docId":"database/migrations","unlisted":false},{"type":"link","label":"Seeding","href":"/database/seeding","docId":"database/seeding","unlisted":false}]},{"type":"category","label":"\ud83c\udf89 TinyORM","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Getting Started","href":"/tinyorm/getting-started","docId":"tinyorm/getting-started","unlisted":false},{"type":"link","label":"Relationships","href":"/tinyorm/relationships","docId":"tinyorm/relationships","unlisted":false},{"type":"link","label":"Collections","href":"/tinyorm/collections","docId":"tinyorm/collections","unlisted":false},{"type":"link","label":"Casts","href":"/tinyorm/casts","docId":"tinyorm/casts","unlisted":false},{"type":"link","label":"Serialization","href":"/tinyorm/serialization","docId":"tinyorm/serialization","unlisted":false}]},{"type":"category","label":"\ud83e\uddec TinyDrivers","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Getting Started","href":"/tinydrivers/getting-started","docId":"tinydrivers/getting-started","unlisted":false}]},{"type":"category","label":"\ud83d\udea7 Building","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"TinyORM","href":"/building/tinyorm","docId":"building/tinyorm","unlisted":false},{"type":"link","label":"Hello world","href":"/building/hello-world","docId":"building/hello-world","unlisted":false},{"type":"link","label":"Migrations","href":"/building/migrations","docId":"building/migrations","unlisted":false}]},{"type":"link","label":"\ud83d\udcc4 Features Summary","href":"/features-summary","docId":"features-summary","unlisted":false},{"type":"link","label":"\u2764\ufe0f Sponsors","href":"/sponsors","docId":"sponsors","unlisted":false}]},"docs":{"building/hello-world":{"id":"building/hello-world","title":"Building: Hello world","description":"Hello world example created in the terminal and QtCreator IDE.","sidebar":"tinyormSidebar"},"building/migrations":{"id":"building/migrations","title":"Building: Migrations","description":"How to compile the TinyORM migrations (tom) C++ console application on Windows and Linux.","sidebar":"tinyormSidebar"},"building/tinyorm":{"id":"building/tinyorm","title":"Building: TinyORM","description":"How to compile the TinyORM C++ library on Windows and Linux.","sidebar":"tinyormSidebar"},"database/getting-started":{"id":"database/getting-started","title":"Database: Getting Started","description":"TinyORM makes interacting with a database extremely simple using raw SQL, a fluent query builder, and the TinyORM. It provides first-party support for four databases MySQL/MariaDB, PostgreSQL, and SQLite.","sidebar":"tinyormSidebar"},"database/migrations":{"id":"database/migrations","title":"Database: Migrations","description":"Migrations are like version control for your database, allowing your team to define and share the application\'s database schema definition. Migrations use the Schema facade that provides database agnostic support for creating and manipulating tables across all of TinyORM\'s supported database systems.","sidebar":"tinyormSidebar"},"database/query-builder":{"id":"database/query-builder","title":"Database: Query Builder","description":"TinyORM\'s database query builder provides a convenient, fluent interface to creating and running database queries. It can be used to perform most database operations in your application. The query builder uses QSqlQuery parameter binding to protect your application against SQL injection attacks. There is no need to clean or sanitize strings passed to the query builder as query bindings.","sidebar":"tinyormSidebar"},"database/seeding":{"id":"database/seeding","title":"Database: Seeding","description":"TinyORM includes the ability to seed your database with data using seed classes. The DatabaseSeeder class is considered as the root seeder. From this class, you may use the `call` method to run other seed classes, allowing you to control the seeding order.","sidebar":"tinyormSidebar"},"dependencies":{"id":"dependencies","title":"Dependencies","description":"Library dependencies are MySQL Connector/C 8, range-v3 >=0.11.0, tabulate and the Qt framework version used during development was 5.15.2 and >=6.2. The code was developed on MSVC 16.9-16.11, MSVC 17.2-17.9, GCC 10.2-13.2, and Clang 11-16.","sidebar":"tinyormSidebar"},"features-summary":{"id":"features-summary","title":"Features Summary","description":"List that fastly summarizes all TinyORM features.","sidebar":"tinyormSidebar"},"README":{"id":"README","title":"Prologue","description":"TinyORM is a modern C++ ORM library that makes interacting with a database extremely simple. It depends on the QtCore and QtSql libraries. The code is written in the modern C++20 way and is heavily tested with 3366 unit and functional tests.","sidebar":"tinyormSidebar"},"sponsors":{"id":"sponsors","title":"Sponsors","description":"How to sponsor and support the TinyORM project.","sidebar":"tinyormSidebar"},"supported-compilers":{"id":"supported-compilers","title":"Supported Compilers","description":"Platform requirements, supported compilers and build systems for TinyORM C++ library.","sidebar":"tinyormSidebar"},"tinydrivers/getting-started":{"id":"tinydrivers/getting-started","title":"TinyDrivers: Getting Started","description":"The TinyDrivers library is an underlying SQL database layer for TinyORM. It can be used instead of the QtSql module, can be swapped at compile time, and has 1:1 API as the QtSql module. Swapping is controlled by the qmake and CMake build system options. It was designed to drop the QtSql dependency while maintaining backward compatibility and without the need for any code changes after the swap.","sidebar":"tinyormSidebar"},"tinyorm/casts":{"id":"tinyorm/casts","title":"TinyORM: Casting","description":"Attribute casting allows you to transform TinyORM attribute values when you retrieve them on model instances. For example, you may want to convert a `datetime` string that is stored in your database to the `QDateTime` instance when it is accessed via your TinyORM model.","sidebar":"tinyormSidebar"},"tinyorm/collections":{"id":"tinyorm/collections","title":"TinyORM: Collections","description":"The ModelsCollection is specialized container which provides a fluent, convenient wrapper for working with vector of models. Is much more powerful than vectors and expose a variety of map / reduce operations that may be chained using an intuitive interface. All TinyORM methods that return more than one model result will return instances of the ModelsCollection class.","sidebar":"tinyormSidebar"},"tinyorm/getting-started":{"id":"tinyorm/getting-started","title":"TinyORM: Getting Started","description":"TinyORM is an object-relational mapper (ORM) that makes it enjoyable to interact with your database. When using TinyORM, each database table has a corresponding \\"Model\\" that is used to interact with that table. In addition to retrieving records from the database table, TinyORM models allow you to insert, update, and delete records from the table as well.","sidebar":"tinyormSidebar"},"tinyorm/relationships":{"id":"tinyorm/relationships","title":"TinyORM: Relationships","description":"TinyORM relationships are defined as methods on your TinyORM model classes. Since relationships also serve as powerful query builders, defining relationships as methods provides powerful method chaining and querying capabilities.","sidebar":"tinyormSidebar"},"tinyorm/serialization":{"id":"tinyorm/serialization","title":"TinyORM: Serialization","description":"TinyORM models serialization allows you to serialize models and collection of models including all nested relations to JSON. It also supports converting to vectors or maps and allows controlling a custom date format during serialization.","sidebar":"tinyormSidebar"}}}}')}}]); \ No newline at end of file +"use strict";(self.webpackChunktinyorm_org=self.webpackChunktinyorm_org||[]).push([[820],{72:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tinyormSidebar":[{"type":"link","label":"\ud83d\udd25 Prologue","href":"/","docId":"README","unlisted":false},{"type":"link","label":"\ud83d\udd27 Dependencies","href":"/dependencies","docId":"dependencies","unlisted":false},{"type":"link","label":"\ud83d\ude80 Supported Compilers","href":"/supported-compilers","docId":"supported-compilers","unlisted":false},{"type":"category","label":"\u2728 Database","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Getting Started","href":"/database/getting-started","docId":"database/getting-started","unlisted":false},{"type":"link","label":"Query Builder","href":"/database/query-builder","docId":"database/query-builder","unlisted":false},{"type":"link","label":"Migrations","href":"/database/migrations","docId":"database/migrations","unlisted":false},{"type":"link","label":"Seeding","href":"/database/seeding","docId":"database/seeding","unlisted":false}]},{"type":"category","label":"\ud83c\udf89 TinyORM","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Getting Started","href":"/tinyorm/getting-started","docId":"tinyorm/getting-started","unlisted":false},{"type":"link","label":"Relationships","href":"/tinyorm/relationships","docId":"tinyorm/relationships","unlisted":false},{"type":"link","label":"Collections","href":"/tinyorm/collections","docId":"tinyorm/collections","unlisted":false},{"type":"link","label":"Casts","href":"/tinyorm/casts","docId":"tinyorm/casts","unlisted":false},{"type":"link","label":"Serialization","href":"/tinyorm/serialization","docId":"tinyorm/serialization","unlisted":false}]},{"type":"category","label":"\ud83e\uddec TinyDrivers","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Getting Started","href":"/tinydrivers/getting-started","docId":"tinydrivers/getting-started","unlisted":false}]},{"type":"category","label":"\ud83d\udea7 Building","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"TinyORM","href":"/building/tinyorm","docId":"building/tinyorm","unlisted":false},{"type":"link","label":"Hello world","href":"/building/hello-world","docId":"building/hello-world","unlisted":false},{"type":"link","label":"Migrations","href":"/building/migrations","docId":"building/migrations","unlisted":false}]},{"type":"link","label":"\ud83d\udcc4 Features Summary","href":"/features-summary","docId":"features-summary","unlisted":false},{"type":"link","label":"\u2764\ufe0f Sponsors","href":"/sponsors","docId":"sponsors","unlisted":false}]},"docs":{"building/hello-world":{"id":"building/hello-world","title":"Building: Hello world","description":"Hello world example created in the terminal and QtCreator IDE.","sidebar":"tinyormSidebar"},"building/migrations":{"id":"building/migrations","title":"Building: Migrations","description":"How to compile the TinyORM migrations (tom) C++ console application on Windows and Linux.","sidebar":"tinyormSidebar"},"building/tinyorm":{"id":"building/tinyorm","title":"Building: TinyORM","description":"How to compile the TinyORM C++ library on Windows and Linux.","sidebar":"tinyormSidebar"},"database/getting-started":{"id":"database/getting-started","title":"Database: Getting Started","description":"TinyORM makes interacting with a database extremely simple using raw SQL, a fluent query builder, and the TinyORM. It provides first-party support for four databases MySQL/MariaDB, PostgreSQL, and SQLite.","sidebar":"tinyormSidebar"},"database/migrations":{"id":"database/migrations","title":"Database: Migrations","description":"Migrations are like version control for your database, allowing your team to define and share the application\'s database schema definition. Migrations use the Schema facade that provides database agnostic support for creating and manipulating tables across all of TinyORM\'s supported database systems.","sidebar":"tinyormSidebar"},"database/query-builder":{"id":"database/query-builder","title":"Database: Query Builder","description":"TinyORM\'s database query builder provides a convenient, fluent interface to creating and running database queries. It can be used to perform most database operations in your application. The query builder uses QSqlQuery parameter binding to protect your application against SQL injection attacks. There is no need to clean or sanitize strings passed to the query builder as query bindings.","sidebar":"tinyormSidebar"},"database/seeding":{"id":"database/seeding","title":"Database: Seeding","description":"TinyORM includes the ability to seed your database with data using seed classes. The DatabaseSeeder class is considered as the root seeder. From this class, you may use the `call` method to run other seed classes, allowing you to control the seeding order.","sidebar":"tinyormSidebar"},"dependencies":{"id":"dependencies","title":"Dependencies","description":"Library dependencies are MySQL Connector/C 8, range-v3 >=0.11.0, tabulate and the Qt framework version used during development was 5.15.2 and >=6.2. The code was developed on MSVC 16.9-16.11, MSVC 17.2-17.9, GCC 10.2-14.1, and Clang 11-16.","sidebar":"tinyormSidebar"},"features-summary":{"id":"features-summary","title":"Features Summary","description":"List that fastly summarizes all TinyORM features.","sidebar":"tinyormSidebar"},"README":{"id":"README","title":"Prologue","description":"TinyORM is a modern C++ ORM library that makes interacting with a database extremely simple. It depends on the QtCore and QtSql libraries. The code is written in the modern C++20 way and is heavily tested with 3366 unit and functional tests.","sidebar":"tinyormSidebar"},"sponsors":{"id":"sponsors","title":"Sponsors","description":"How to sponsor and support the TinyORM project.","sidebar":"tinyormSidebar"},"supported-compilers":{"id":"supported-compilers","title":"Supported Compilers","description":"Platform requirements, supported compilers and build systems for TinyORM C++ library.","sidebar":"tinyormSidebar"},"tinydrivers/getting-started":{"id":"tinydrivers/getting-started","title":"TinyDrivers: Getting Started","description":"The TinyDrivers library is an underlying SQL database layer for TinyORM. It can be used instead of the QtSql module, can be swapped at compile time, and has 1:1 API as the QtSql module. Swapping is controlled by the qmake and CMake build system options. It was designed to drop the QtSql dependency while maintaining backward compatibility and without the need for any code changes after the swap.","sidebar":"tinyormSidebar"},"tinyorm/casts":{"id":"tinyorm/casts","title":"TinyORM: Casting","description":"Attribute casting allows you to transform TinyORM attribute values when you retrieve them on model instances. For example, you may want to convert a `datetime` string that is stored in your database to the `QDateTime` instance when it is accessed via your TinyORM model.","sidebar":"tinyormSidebar"},"tinyorm/collections":{"id":"tinyorm/collections","title":"TinyORM: Collections","description":"The ModelsCollection is specialized container which provides a fluent, convenient wrapper for working with vector of models. Is much more powerful than vectors and expose a variety of map / reduce operations that may be chained using an intuitive interface. All TinyORM methods that return more than one model result will return instances of the ModelsCollection class.","sidebar":"tinyormSidebar"},"tinyorm/getting-started":{"id":"tinyorm/getting-started","title":"TinyORM: Getting Started","description":"TinyORM is an object-relational mapper (ORM) that makes it enjoyable to interact with your database. When using TinyORM, each database table has a corresponding \\"Model\\" that is used to interact with that table. In addition to retrieving records from the database table, TinyORM models allow you to insert, update, and delete records from the table as well.","sidebar":"tinyormSidebar"},"tinyorm/relationships":{"id":"tinyorm/relationships","title":"TinyORM: Relationships","description":"TinyORM relationships are defined as methods on your TinyORM model classes. Since relationships also serve as powerful query builders, defining relationships as methods provides powerful method chaining and querying capabilities.","sidebar":"tinyormSidebar"},"tinyorm/serialization":{"id":"tinyorm/serialization","title":"TinyORM: Serialization","description":"TinyORM models serialization allows you to serialize models and collection of models including all nested relations to JSON. It also supports converting to vectors or maps and allows controlling a custom date format during serialization.","sidebar":"tinyormSidebar"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/d459b1c4.ebc2aae3.js b/assets/js/d459b1c4.aab47a1e.js similarity index 98% rename from assets/js/d459b1c4.ebc2aae3.js rename to assets/js/d459b1c4.aab47a1e.js index 969fca74e..482781422 100644 --- a/assets/js/d459b1c4.ebc2aae3.js +++ b/assets/js/d459b1c4.aab47a1e.js @@ -1 +1 @@ -"use strict";(self.webpackChunktinyorm_org=self.webpackChunktinyorm_org||[]).push([[27],{7893:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>t,contentTitle:()=>d,default:()=>h,frontMatter:()=>l,metadata:()=>o,toc:()=>c});var s=n(4848),r=n(8453);const l={sidebar_position:2,sidebar_label:"\ud83d\ude80 Supported Compilers",hide_table_of_contents:!0,description:"Platform requirements, supported compilers and build systems for TinyORM C++ library.",keywords:["c++ orm","supported compilers","supported build systems","tinyorm"]},d="Supported Compilers",o={id:"supported-compilers",title:"Supported Compilers",description:"Platform requirements, supported compilers and build systems for TinyORM C++ library.",source:"@site/docs/supported-compilers.mdx",sourceDirName:".",slug:"/supported-compilers",permalink:"/supported-compilers",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,sidebar_label:"\ud83d\ude80 Supported Compilers",hide_table_of_contents:!0,description:"Platform requirements, supported compilers and build systems for TinyORM C++ library.",keywords:["c++ orm","supported compilers","supported build systems","tinyorm"]},sidebar:"tinyormSidebar",previous:{title:"\ud83d\udd27 Dependencies",permalink:"/dependencies"},next:{title:"Getting Started",permalink:"/database/getting-started"}},t={},c=[{value:"Windows >=10",id:"windows-10",level:4},{value:"Linux",id:"linux",level:4},{value:"Supported build systems",id:"supported-build-systems",level:2},{value:"Make tools",id:"make-tools",level:5},{value:"Parallel building",id:"parallel-building",level:5}];function a(e){const i={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h4:"h4",h5:"h5",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.h1,{id:"supported-compilers",children:"Supported Compilers"}),"\n",(0,s.jsxs)(i.p,{children:["Following compilers are backed up by the GitHub Action ",(0,s.jsx)(i.a,{href:"https://github.com/silverqx/TinyORM/tree/main/.github/workflows",children:"workflows"})," (CI pipelines), these workflows also include more then ",(0,s.jsx)(i.strong,{children:"3366 unit tests"})," \ud83d\ude2e\ud83d\udca5."]}),"\n",(0,s.jsxs)("div",{id:"supported-compilers",children:[(0,s.jsx)(i.h4,{id:"windows-10",children:(0,s.jsx)(i.code,{children:"Windows >=10"})}),(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:["MSVC 2019 ",(0,s.jsx)(i.code,{children:">=16.9"})]}),"\n",(0,s.jsxs)(i.li,{children:["MSVC 2022 ",(0,s.jsx)(i.code,{children:">=17"})]}),"\n",(0,s.jsxs)(i.li,{children:["MSYS2 UCRT64 GCC ",(0,s.jsx)(i.code,{children:"10.2"})," - ",(0,s.jsx)(i.code,{children:"13.2"})]}),"\n",(0,s.jsxs)(i.li,{children:["MSYS2 UCRT64 Clang ",(0,s.jsx)(i.code,{children:">=15"})]}),"\n",(0,s.jsxs)(i.li,{children:["clang-cl ",(0,s.jsx)(i.code,{children:">=15"})," with MSVC 2019/2022"]}),"\n"]}),(0,s.jsx)(i.h4,{id:"linux",children:(0,s.jsx)(i.code,{children:"Linux"})}),(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:["GCC ",(0,s.jsx)(i.code,{children:"10.2"})," - ",(0,s.jsx)(i.code,{children:"13.2"})]}),"\n",(0,s.jsxs)(i.li,{children:["Clang ",(0,s.jsx)(i.code,{children:">=15"})," ",(0,s.jsx)("small",{className:"darker",children:"(libstdc++ only)"})]}),"\n"]})]}),"\n",(0,s.jsx)(i.admonition,{type:"tip",children:(0,s.jsx)(i.p,{children:"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."})}),"\n",(0,s.jsx)(i.admonition,{type:"warning",children:(0,s.jsxs)(i.p,{children:["The ",(0,s.jsx)(i.code,{children:"macOS"})," and Clang with ",(0,s.jsx)(i.code,{children:"libc++"})," are not supported."]})}),"\n",(0,s.jsx)(i.h2,{id:"supported-build-systems",children:"Supported build systems"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"CMake"})," ",(0,s.jsx)(i.code,{children:">=3.22"})," ",(0,s.jsx)("small",{className:"darker",children:"(policies <= CMP0128 default to NEW)"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"qmake"})," distributed by the Qt Framework"]}),"\n"]}),"\n",(0,s.jsx)(i.h5,{id:"make-tools",children:"Make tools"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"jom"})," - highly recommended with the ",(0,s.jsx)(i.code,{children:"qmake"})," build system on Windows ",(0,s.jsx)("small",{className:"darker",children:"(replacement for nmake)"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ninja"})," - recommended for ",(0,s.jsx)(i.code,{children:"CMake"})," as the make file generator"]}),"\n"]}),"\n",(0,s.jsx)(i.h5,{id:"parallel-building",children:"Parallel building"}),"\n",(0,s.jsx)(i.p,{children:"You can control parallel building using the following environment variables."}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:["CMake - ",(0,s.jsx)(i.code,{children:"CMAKE_BUILD_PARALLEL_LEVEL"})," eg. to ",(0,s.jsx)(i.code,{children:"10"})]}),"\n",(0,s.jsxs)(i.li,{children:["jom - ",(0,s.jsx)(i.code,{children:"JOMFLAGS"})," eg. to ",(0,s.jsx)(i.code,{children:"j11"})]}),"\n",(0,s.jsxs)(i.li,{children:["make - ",(0,s.jsx)(i.code,{children:"MAKEFLAGS"})," eg. to ",(0,s.jsx)(i.code,{children:"-j10"})]}),"\n",(0,s.jsxs)(i.li,{children:["vcpkg - ",(0,s.jsx)(i.code,{children:"VCPKG_MAX_CONCURRENCY"})," eg. to ",(0,s.jsx)(i.code,{children:"10"})]}),"\n"]})]})}function h(e={}){const{wrapper:i}={...(0,r.R)(),...e.components};return i?(0,s.jsx)(i,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},8453:(e,i,n)=>{n.d(i,{R:()=>d,x:()=>o});var s=n(6540);const r={},l=s.createContext(r);function d(e){const i=s.useContext(l);return s.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function o(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:d(e.components),s.createElement(l.Provider,{value:i},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunktinyorm_org=self.webpackChunktinyorm_org||[]).push([[27],{7893:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>t,contentTitle:()=>d,default:()=>h,frontMatter:()=>l,metadata:()=>o,toc:()=>c});var s=n(4848),r=n(8453);const l={sidebar_position:2,sidebar_label:"\ud83d\ude80 Supported Compilers",hide_table_of_contents:!0,description:"Platform requirements, supported compilers and build systems for TinyORM C++ library.",keywords:["c++ orm","supported compilers","supported build systems","tinyorm"]},d="Supported Compilers",o={id:"supported-compilers",title:"Supported Compilers",description:"Platform requirements, supported compilers and build systems for TinyORM C++ library.",source:"@site/docs/supported-compilers.mdx",sourceDirName:".",slug:"/supported-compilers",permalink:"/supported-compilers",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,sidebar_label:"\ud83d\ude80 Supported Compilers",hide_table_of_contents:!0,description:"Platform requirements, supported compilers and build systems for TinyORM C++ library.",keywords:["c++ orm","supported compilers","supported build systems","tinyorm"]},sidebar:"tinyormSidebar",previous:{title:"\ud83d\udd27 Dependencies",permalink:"/dependencies"},next:{title:"Getting Started",permalink:"/database/getting-started"}},t={},c=[{value:"Windows >=10",id:"windows-10",level:4},{value:"Linux",id:"linux",level:4},{value:"Supported build systems",id:"supported-build-systems",level:2},{value:"Make tools",id:"make-tools",level:5},{value:"Parallel building",id:"parallel-building",level:5}];function a(e){const i={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h4:"h4",h5:"h5",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.h1,{id:"supported-compilers",children:"Supported Compilers"}),"\n",(0,s.jsxs)(i.p,{children:["Following compilers are backed up by the GitHub Action ",(0,s.jsx)(i.a,{href:"https://github.com/silverqx/TinyORM/tree/main/.github/workflows",children:"workflows"})," (CI pipelines), these workflows also include more then ",(0,s.jsx)(i.strong,{children:"3366 unit tests"})," \ud83d\ude2e\ud83d\udca5."]}),"\n",(0,s.jsxs)("div",{id:"supported-compilers",children:[(0,s.jsx)(i.h4,{id:"windows-10",children:(0,s.jsx)(i.code,{children:"Windows >=10"})}),(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:["MSVC 2019 ",(0,s.jsx)(i.code,{children:">=16.9"})]}),"\n",(0,s.jsxs)(i.li,{children:["MSVC 2022 ",(0,s.jsx)(i.code,{children:">=17"})]}),"\n",(0,s.jsxs)(i.li,{children:["MSYS2 UCRT64 GCC ",(0,s.jsx)(i.code,{children:"10.2"})," - ",(0,s.jsx)(i.code,{children:"14.1"})]}),"\n",(0,s.jsxs)(i.li,{children:["MSYS2 UCRT64 Clang ",(0,s.jsx)(i.code,{children:">=15"})]}),"\n",(0,s.jsxs)(i.li,{children:["clang-cl ",(0,s.jsx)(i.code,{children:">=15"})," with MSVC 2019/2022"]}),"\n"]}),(0,s.jsx)(i.h4,{id:"linux",children:(0,s.jsx)(i.code,{children:"Linux"})}),(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:["GCC ",(0,s.jsx)(i.code,{children:"10.2"})," - ",(0,s.jsx)(i.code,{children:"13.2"})]}),"\n",(0,s.jsxs)(i.li,{children:["Clang ",(0,s.jsx)(i.code,{children:">=15"})," ",(0,s.jsx)("small",{className:"darker",children:"(libstdc++ only)"})]}),"\n"]})]}),"\n",(0,s.jsx)(i.admonition,{type:"tip",children:(0,s.jsx)(i.p,{children:"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."})}),"\n",(0,s.jsx)(i.admonition,{type:"warning",children:(0,s.jsxs)(i.p,{children:["The ",(0,s.jsx)(i.code,{children:"macOS"})," and Clang with ",(0,s.jsx)(i.code,{children:"libc++"})," are not supported."]})}),"\n",(0,s.jsx)(i.h2,{id:"supported-build-systems",children:"Supported build systems"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"CMake"})," ",(0,s.jsx)(i.code,{children:">=3.22"})," ",(0,s.jsx)("small",{className:"darker",children:"(policies <= CMP0128 default to NEW)"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"qmake"})," distributed by the Qt Framework"]}),"\n"]}),"\n",(0,s.jsx)(i.h5,{id:"make-tools",children:"Make tools"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"jom"})," - highly recommended with the ",(0,s.jsx)(i.code,{children:"qmake"})," build system on Windows ",(0,s.jsx)("small",{className:"darker",children:"(replacement for nmake)"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ninja"})," - recommended for ",(0,s.jsx)(i.code,{children:"CMake"})," as the make file generator"]}),"\n"]}),"\n",(0,s.jsx)(i.h5,{id:"parallel-building",children:"Parallel building"}),"\n",(0,s.jsx)(i.p,{children:"You can control parallel building using the following environment variables."}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:["CMake - ",(0,s.jsx)(i.code,{children:"CMAKE_BUILD_PARALLEL_LEVEL"})," eg. to ",(0,s.jsx)(i.code,{children:"10"})]}),"\n",(0,s.jsxs)(i.li,{children:["jom - ",(0,s.jsx)(i.code,{children:"JOMFLAGS"})," eg. to ",(0,s.jsx)(i.code,{children:"j11"})]}),"\n",(0,s.jsxs)(i.li,{children:["make - ",(0,s.jsx)(i.code,{children:"MAKEFLAGS"})," eg. to ",(0,s.jsx)(i.code,{children:"-j10"})]}),"\n",(0,s.jsxs)(i.li,{children:["vcpkg - ",(0,s.jsx)(i.code,{children:"VCPKG_MAX_CONCURRENCY"})," eg. to ",(0,s.jsx)(i.code,{children:"10"})]}),"\n"]})]})}function h(e={}){const{wrapper:i}={...(0,r.R)(),...e.components};return i?(0,s.jsx)(i,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},8453:(e,i,n)=>{n.d(i,{R:()=>d,x:()=>o});var s=n(6540);const r={},l=s.createContext(r);function d(e){const i=s.useContext(l);return s.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function o(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:d(e.components),s.createElement(l.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e3ac21cb.61732115.js b/assets/js/e3ac21cb.4453d725.js similarity index 96% rename from assets/js/e3ac21cb.61732115.js rename to assets/js/e3ac21cb.4453d725.js index 831c6e468..59eb89187 100644 --- a/assets/js/e3ac21cb.61732115.js +++ b/assets/js/e3ac21cb.4453d725.js @@ -1 +1 @@ -"use strict";(self.webpackChunktinyorm_org=self.webpackChunktinyorm_org||[]).push([[467],{7759:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>s,default:()=>h,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var r=t(4848),d=t(8453);const i={sidebar_position:1,sidebar_label:"\ud83d\udd27 Dependencies",hide_table_of_contents:!0,description:"Library dependencies are MySQL Connector/C 8, range-v3 >=0.11.0, tabulate and the Qt framework version used during development was 5.15.2 and >=6.2. The code was developed on MSVC 16.9-16.11, MSVC 17.2-17.9, GCC 10.2-13.2, and Clang 11-16.",keywords:["c++ orm","dependencies","tinyorm"]},s="Dependencies",a={id:"dependencies",title:"Dependencies",description:"Library dependencies are MySQL Connector/C 8, range-v3 >=0.11.0, tabulate and the Qt framework version used during development was 5.15.2 and >=6.2. The code was developed on MSVC 16.9-16.11, MSVC 17.2-17.9, GCC 10.2-13.2, and Clang 11-16.",source:"@site/docs/dependencies.mdx",sourceDirName:".",slug:"/dependencies",permalink:"/dependencies",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,sidebar_label:"\ud83d\udd27 Dependencies",hide_table_of_contents:!0,description:"Library dependencies are MySQL Connector/C 8, range-v3 >=0.11.0, tabulate and the Qt framework version used during development was 5.15.2 and >=6.2. The code was developed on MSVC 16.9-16.11, MSVC 17.2-17.9, GCC 10.2-13.2, and Clang 11-16.",keywords:["c++ orm","dependencies","tinyorm"]},sidebar:"tinyormSidebar",previous:{title:"\ud83d\udd25 Prologue",permalink:"/"},next:{title:"\ud83d\ude80 Supported Compilers",permalink:"/supported-compilers"}},o={},l=[{value:"Required",id:"required",level:5},{value:"Optional",id:"optional",level:5},{value:"Install dependencies",id:"install-dependencies",level:3}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h3:"h3",h5:"h5",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,d.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"dependencies",children:"Dependencies"}),"\n",(0,r.jsx)(n.p,{children:"The code was developed on MSVC 16.9-16.11, MSVC 17.2-17.9, GCC 10.2-13.2, and Clang 11-18, so may be assumed it will work on future releases of these compilers. Minimum required ISO C++ standard is C++20.\nThe Qt framework version used during development was 5.15.2 and >=6.2."}),"\n",(0,r.jsx)(n.h5,{id:"required",children:"Required"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"minimum ISO C++ standard is C++20"}),"\n",(0,r.jsxs)(n.li,{children:[">= ",(0,r.jsx)(n.a,{href:"https://www.qt.io/download-qt-installer",children:"Qt Framework 5.15.2"})," - ",(0,r.jsx)(n.a,{href:"https://doc.qt.io/qt-5/qtcore-module.html",children:(0,r.jsx)(n.code,{children:"QtCore"})})," and ",(0,r.jsx)(n.a,{href:"https://doc.qt.io/qt-5/qtsql-index.html",children:(0,r.jsx)(n.code,{children:"QtSql"})})," modules"]}),"\n",(0,r.jsxs)(n.li,{children:[">= ",(0,r.jsx)(n.a,{href:"https://www.qt.io/download-qt-installer",children:"Qt Framework 6.2"})," - ",(0,r.jsx)(n.a,{href:"https://doc.qt.io/qt-6/qtcore-module.html",children:(0,r.jsx)(n.code,{children:"QtCore"})})," and ",(0,r.jsx)(n.a,{href:"https://doc.qt.io/qt-6/qtsql-index.html",children:(0,r.jsx)(n.code,{children:"QtSql"})})," modules"]}),"\n",(0,r.jsxs)(n.li,{children:[">= ",(0,r.jsx)(n.a,{href:"https://github.com/ericniebler/range-v3",children:"range-v3 0.11.0"})]}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/p-ranav/tabulate",children:"tabulate"})}),"\n"]}),"\n",(0,r.jsx)(n.admonition,{type:"warning",children:(0,r.jsxs)(n.p,{children:["Be aware that the standard support for the last release of the ",(0,r.jsx)(n.strong,{children:"Qt 5"})," series ended on ",(0,r.jsx)(n.strong,{children:"26. May 2023"}),". [",(0,r.jsx)(n.a,{href:"https://endoflife.date/qt",children:"1"}),"][",(0,r.jsx)(n.a,{href:"https://www.qt.io/blog/qt-5.15-support-ends",children:"2"}),"]"]})}),"\n",(0,r.jsx)(n.h5,{id:"optional",children:"Optional"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[">= ",(0,r.jsx)(n.a,{href:"https://dev.mysql.com/downloads/c-api/",children:"MySQL Connector/C 8"})," - used only for the ",(0,r.jsx)(n.a,{href:"https://dev.mysql.com/doc/c-api/8.3/en/mysql-ping.html",children:(0,r.jsx)(n.code,{children:"mysql_ping"})})," function and provided by ",(0,r.jsx)(n.a,{href:"https://dev.mysql.com/downloads/mysql/",children:"MySQL 8 Server"})]}),"\n"]}),"\n",(0,r.jsx)(n.admonition,{type:"info",children:(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.code,{children:"TinyORM"})," will support ",(0,r.jsx)(n.code,{children:"Qt"})," versions that aren't ",(0,r.jsx)(n.a,{href:"https://endoflife.date/qt",children:"end-of-life"}),"."]})}),"\n",(0,r.jsx)(n.admonition,{type:"note",children:(0,r.jsxs)(n.p,{children:["You can view the supported database servers in the ",(0,r.jsx)(n.a,{href:"/database/getting-started#introduction",children:"Database - Getting Started"})," section."]})}),"\n",(0,r.jsx)(n.h3,{id:"install-dependencies",children:"Install dependencies"}),"\n",(0,r.jsxs)(n.p,{children:["On ",(0,r.jsx)(n.code,{children:"Linux"}),", you can install dependencies with the package manager."]}),"\n",(0,r.jsxs)("small",{children:[(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",metastring:"title='MySQL C library'",children:"Arch - pacman -S mariadb-libs\nGentoo - emerge dev-db/mysql (package.use: -server -perl)\nUbuntu - apt install libmysqlclient-dev\n"})}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",metastring:"title='range-v3 library (header only)'",children:"Arch - pacman -S range-v3\nGentoo - emerge dev-cpp/range-v3\nUbuntu - apt install librange-v3-dev\n"})}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",metastring:"title='ccache'",children:"Arch - pacman -S ccache\nGentoo - emerge dev-util/ccache\nUbuntu - apt install ccache\n"})})]})]})}function h(e={}){const{wrapper:n}={...(0,d.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>a});var r=t(6540);const d={},i=r.createContext(d);function s(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:s(e.components),r.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunktinyorm_org=self.webpackChunktinyorm_org||[]).push([[467],{7759:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>s,default:()=>h,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var r=t(4848),d=t(8453);const i={sidebar_position:1,sidebar_label:"\ud83d\udd27 Dependencies",hide_table_of_contents:!0,description:"Library dependencies are MySQL Connector/C 8, range-v3 >=0.11.0, tabulate and the Qt framework version used during development was 5.15.2 and >=6.2. The code was developed on MSVC 16.9-16.11, MSVC 17.2-17.9, GCC 10.2-14.1, and Clang 11-16.",keywords:["c++ orm","dependencies","tinyorm"]},s="Dependencies",a={id:"dependencies",title:"Dependencies",description:"Library dependencies are MySQL Connector/C 8, range-v3 >=0.11.0, tabulate and the Qt framework version used during development was 5.15.2 and >=6.2. The code was developed on MSVC 16.9-16.11, MSVC 17.2-17.9, GCC 10.2-14.1, and Clang 11-16.",source:"@site/docs/dependencies.mdx",sourceDirName:".",slug:"/dependencies",permalink:"/dependencies",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,sidebar_label:"\ud83d\udd27 Dependencies",hide_table_of_contents:!0,description:"Library dependencies are MySQL Connector/C 8, range-v3 >=0.11.0, tabulate and the Qt framework version used during development was 5.15.2 and >=6.2. The code was developed on MSVC 16.9-16.11, MSVC 17.2-17.9, GCC 10.2-14.1, and Clang 11-16.",keywords:["c++ orm","dependencies","tinyorm"]},sidebar:"tinyormSidebar",previous:{title:"\ud83d\udd25 Prologue",permalink:"/"},next:{title:"\ud83d\ude80 Supported Compilers",permalink:"/supported-compilers"}},o={},l=[{value:"Required",id:"required",level:5},{value:"Optional",id:"optional",level:5},{value:"Install dependencies",id:"install-dependencies",level:3}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h3:"h3",h5:"h5",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,d.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"dependencies",children:"Dependencies"}),"\n",(0,r.jsx)(n.p,{children:"The code was developed on MSVC 16.9-16.11, MSVC 17.2-17.9, GCC 10.2-14.1, and Clang 11-18, so may be assumed it will work on future releases of these compilers. Minimum required ISO C++ standard is C++20.\nThe Qt framework version used during development was 5.15.2 and >=6.2."}),"\n",(0,r.jsx)(n.h5,{id:"required",children:"Required"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"minimum ISO C++ standard is C++20"}),"\n",(0,r.jsxs)(n.li,{children:[">= ",(0,r.jsx)(n.a,{href:"https://www.qt.io/download-qt-installer",children:"Qt Framework 5.15.2"})," - ",(0,r.jsx)(n.a,{href:"https://doc.qt.io/qt-5/qtcore-module.html",children:(0,r.jsx)(n.code,{children:"QtCore"})})," and ",(0,r.jsx)(n.a,{href:"https://doc.qt.io/qt-5/qtsql-index.html",children:(0,r.jsx)(n.code,{children:"QtSql"})})," modules"]}),"\n",(0,r.jsxs)(n.li,{children:[">= ",(0,r.jsx)(n.a,{href:"https://www.qt.io/download-qt-installer",children:"Qt Framework 6.2"})," - ",(0,r.jsx)(n.a,{href:"https://doc.qt.io/qt-6/qtcore-module.html",children:(0,r.jsx)(n.code,{children:"QtCore"})})," and ",(0,r.jsx)(n.a,{href:"https://doc.qt.io/qt-6/qtsql-index.html",children:(0,r.jsx)(n.code,{children:"QtSql"})})," modules"]}),"\n",(0,r.jsxs)(n.li,{children:[">= ",(0,r.jsx)(n.a,{href:"https://github.com/ericniebler/range-v3",children:"range-v3 0.11.0"})]}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/p-ranav/tabulate",children:"tabulate"})}),"\n"]}),"\n",(0,r.jsx)(n.admonition,{type:"warning",children:(0,r.jsxs)(n.p,{children:["Be aware that the standard support for the last release of the ",(0,r.jsx)(n.strong,{children:"Qt 5"})," series ended on ",(0,r.jsx)(n.strong,{children:"26. May 2023"}),". [",(0,r.jsx)(n.a,{href:"https://endoflife.date/qt",children:"1"}),"][",(0,r.jsx)(n.a,{href:"https://www.qt.io/blog/qt-5.15-support-ends",children:"2"}),"]"]})}),"\n",(0,r.jsx)(n.h5,{id:"optional",children:"Optional"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[">= ",(0,r.jsx)(n.a,{href:"https://dev.mysql.com/downloads/c-api/",children:"MySQL Connector/C 8"})," - used only for the ",(0,r.jsx)(n.a,{href:"https://dev.mysql.com/doc/c-api/8.3/en/mysql-ping.html",children:(0,r.jsx)(n.code,{children:"mysql_ping"})})," function and provided by ",(0,r.jsx)(n.a,{href:"https://dev.mysql.com/downloads/mysql/",children:"MySQL 8 Server"})]}),"\n"]}),"\n",(0,r.jsx)(n.admonition,{type:"info",children:(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.code,{children:"TinyORM"})," will support ",(0,r.jsx)(n.code,{children:"Qt"})," versions that aren't ",(0,r.jsx)(n.a,{href:"https://endoflife.date/qt",children:"end-of-life"}),"."]})}),"\n",(0,r.jsx)(n.admonition,{type:"note",children:(0,r.jsxs)(n.p,{children:["You can view the supported database servers in the ",(0,r.jsx)(n.a,{href:"/database/getting-started#introduction",children:"Database - Getting Started"})," section."]})}),"\n",(0,r.jsx)(n.h3,{id:"install-dependencies",children:"Install dependencies"}),"\n",(0,r.jsxs)(n.p,{children:["On ",(0,r.jsx)(n.code,{children:"Linux"}),", you can install dependencies with the package manager."]}),"\n",(0,r.jsxs)("small",{children:[(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",metastring:"title='MySQL C library'",children:"Arch - pacman -S mariadb-libs\nGentoo - emerge dev-db/mysql (package.use: -server -perl)\nUbuntu - apt install libmysqlclient-dev\n"})}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",metastring:"title='range-v3 library (header only)'",children:"Arch - pacman -S range-v3\nGentoo - emerge dev-cpp/range-v3\nUbuntu - apt install librange-v3-dev\n"})}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",metastring:"title='ccache'",children:"Arch - pacman -S ccache\nGentoo - emerge dev-util/ccache\nUbuntu - apt install ccache\n"})})]})]})}function h(e={}){const{wrapper:n}={...(0,d.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>a});var r=t(6540);const d={},i=r.createContext(d);function s(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:s(e.components),r.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.da83527e.js b/assets/js/runtime~main.369c0b5e.js similarity index 95% rename from assets/js/runtime~main.da83527e.js rename to assets/js/runtime~main.369c0b5e.js index 0fc8d82b3..23da24869 100644 --- a/assets/js/runtime~main.da83527e.js +++ b/assets/js/runtime~main.369c0b5e.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,t,r,o,n={},f={};function c(e){var a=f[e];if(void 0!==a)return a.exports;var t=f[e]={exports:{}};return n[e].call(t.exports,t,t.exports,c),t.exports}c.m=n,e=[],c.O=(a,t,r,o)=>{if(!t){var n=1/0;for(i=0;i=o)&&Object.keys(c.O).every((e=>c.O[e](t[b])))?t.splice(b--,1):(f=!1,o0&&e[i-1][2]>o;i--)e[i]=e[i-1];e[i]=[t,r,o]},c.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return c.d(a,{a:a}),a},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,c.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var o=Object.create(null);c.r(o);var n={};a=a||[null,t({}),t([]),t(t)];for(var f=2&r&&e;"object"==typeof f&&!~a.indexOf(f);f=t(f))Object.getOwnPropertyNames(f).forEach((a=>n[a]=()=>e[a]));return n.default=()=>e,c.d(o,n),o},c.d=(e,a)=>{for(var t in a)c.o(a,t)&&!c.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},c.f={},c.e=e=>Promise.all(Object.keys(c.f).reduce(((a,t)=>(c.f[t](e,a),a)),[])),c.u=e=>"assets/js/"+({27:"d459b1c4",48:"a94703ab",69:"e19c288b",82:"5b254f70",98:"a7bd4aaa",117:"3dd307b5",129:"8a8faf8d",138:"1a4e3797",153:"1222ea4e",170:"ba3d4959",258:"cb1e72f9",295:"21dc2778",304:"62a1276f",395:"0ab078a9",401:"17896441",467:"e3ac21cb",485:"59b1a96c",638:"7333c691",647:"5e95c892",742:"aba21aa0",755:"a4d3e054",820:"6629c45f",871:"fb313d4e",957:"c141421f",983:"feaee7f3",995:"cbe663fe"}[e]||e)+"."+{27:"ebc2aae3",48:"29c38115",69:"cae4e49f",82:"1b55ed2b",98:"80cc43c0",117:"7d5f3256",129:"488a21d5",138:"0583fddb",153:"2cd8af81",170:"0b166b7a",237:"d109f2ba",258:"0ad8566f",295:"95e24d3c",304:"87749e65",395:"eaba5272",401:"6473f609",416:"a3ad28f7",446:"d7af1da2",462:"0011555c",467:"61732115",485:"35b999b1",638:"02799d7f",647:"7024aad0",742:"cb1d9d7d",755:"fedc061b",820:"43d6f39e",871:"1478a8fb",913:"3fa60236",957:"2356f0d5",983:"0f0c7251",995:"ff133091"}[e]+".js",c.miniCssF=e=>{},c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),c.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),r={},o="tinyorm.org:",c.l=(e,a,t,n)=>{if(r[e])r[e].push(a);else{var f,b;if(void 0!==t)for(var d=document.getElementsByTagName("script"),i=0;i{f.onerror=f.onload=null,clearTimeout(s);var o=r[e];if(delete r[e],f.parentNode&&f.parentNode.removeChild(f),o&&o.forEach((e=>e(t))),a)return a(t)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:f}),12e4);f.onerror=l.bind(null,f.onerror),f.onload=l.bind(null,f.onload),b&&document.head.appendChild(f)}},c.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.p="/",c.gca=function(e){return e={17896441:"401",d459b1c4:"27",a94703ab:"48",e19c288b:"69","5b254f70":"82",a7bd4aaa:"98","3dd307b5":"117","8a8faf8d":"129","1a4e3797":"138","1222ea4e":"153",ba3d4959:"170",cb1e72f9:"258","21dc2778":"295","62a1276f":"304","0ab078a9":"395",e3ac21cb:"467","59b1a96c":"485","7333c691":"638","5e95c892":"647",aba21aa0:"742",a4d3e054:"755","6629c45f":"820",fb313d4e:"871",c141421f:"957",feaee7f3:"983",cbe663fe:"995"}[e]||e,c.p+c.u(e)},(()=>{var e={354:0,869:0};c.f.j=(a,t)=>{var r=c.o(e,a)?e[a]:void 0;if(0!==r)if(r)t.push(r[2]);else if(/^(354|869)$/.test(a))e[a]=0;else{var o=new Promise(((t,o)=>r=e[a]=[t,o]));t.push(r[2]=o);var n=c.p+c.u(a),f=new Error;c.l(n,(t=>{if(c.o(e,a)&&(0!==(r=e[a])&&(e[a]=void 0),r)){var o=t&&("load"===t.type?"missing":t.type),n=t&&t.target&&t.target.src;f.message="Loading chunk "+a+" failed.\n("+o+": "+n+")",f.name="ChunkLoadError",f.type=o,f.request=n,r[1](f)}}),"chunk-"+a,a)}},c.O.j=a=>0===e[a];var a=(a,t)=>{var r,o,n=t[0],f=t[1],b=t[2],d=0;if(n.some((a=>0!==e[a]))){for(r in f)c.o(f,r)&&(c.m[r]=f[r]);if(b)var i=b(c)}for(a&&a(t);d{"use strict";var e,a,t,r,o,n={},f={};function c(e){var a=f[e];if(void 0!==a)return a.exports;var t=f[e]={exports:{}};return n[e].call(t.exports,t,t.exports,c),t.exports}c.m=n,e=[],c.O=(a,t,r,o)=>{if(!t){var n=1/0;for(i=0;i=o)&&Object.keys(c.O).every((e=>c.O[e](t[b])))?t.splice(b--,1):(f=!1,o0&&e[i-1][2]>o;i--)e[i]=e[i-1];e[i]=[t,r,o]},c.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return c.d(a,{a:a}),a},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,c.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var o=Object.create(null);c.r(o);var n={};a=a||[null,t({}),t([]),t(t)];for(var f=2&r&&e;"object"==typeof f&&!~a.indexOf(f);f=t(f))Object.getOwnPropertyNames(f).forEach((a=>n[a]=()=>e[a]));return n.default=()=>e,c.d(o,n),o},c.d=(e,a)=>{for(var t in a)c.o(a,t)&&!c.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},c.f={},c.e=e=>Promise.all(Object.keys(c.f).reduce(((a,t)=>(c.f[t](e,a),a)),[])),c.u=e=>"assets/js/"+({27:"d459b1c4",48:"a94703ab",69:"e19c288b",82:"5b254f70",98:"a7bd4aaa",117:"3dd307b5",129:"8a8faf8d",138:"1a4e3797",153:"1222ea4e",170:"ba3d4959",258:"cb1e72f9",295:"21dc2778",304:"62a1276f",395:"0ab078a9",401:"17896441",467:"e3ac21cb",485:"59b1a96c",638:"7333c691",647:"5e95c892",742:"aba21aa0",755:"a4d3e054",820:"6629c45f",871:"fb313d4e",957:"c141421f",983:"feaee7f3",995:"cbe663fe"}[e]||e)+"."+{27:"aab47a1e",48:"29c38115",69:"cae4e49f",82:"1b55ed2b",98:"80cc43c0",117:"7d5f3256",129:"488a21d5",138:"0583fddb",153:"2cd8af81",170:"0b166b7a",237:"d109f2ba",258:"0ad8566f",295:"95e24d3c",304:"87749e65",395:"eaba5272",401:"6473f609",416:"a3ad28f7",446:"d7af1da2",462:"0011555c",467:"4453d725",485:"35b999b1",638:"02799d7f",647:"7024aad0",742:"cb1d9d7d",755:"fedc061b",820:"77316fdc",871:"1478a8fb",913:"3fa60236",957:"2356f0d5",983:"0f0c7251",995:"ff133091"}[e]+".js",c.miniCssF=e=>{},c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),c.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),r={},o="tinyorm.org:",c.l=(e,a,t,n)=>{if(r[e])r[e].push(a);else{var f,b;if(void 0!==t)for(var d=document.getElementsByTagName("script"),i=0;i{f.onerror=f.onload=null,clearTimeout(s);var o=r[e];if(delete r[e],f.parentNode&&f.parentNode.removeChild(f),o&&o.forEach((e=>e(t))),a)return a(t)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:f}),12e4);f.onerror=l.bind(null,f.onerror),f.onload=l.bind(null,f.onload),b&&document.head.appendChild(f)}},c.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.p="/",c.gca=function(e){return e={17896441:"401",d459b1c4:"27",a94703ab:"48",e19c288b:"69","5b254f70":"82",a7bd4aaa:"98","3dd307b5":"117","8a8faf8d":"129","1a4e3797":"138","1222ea4e":"153",ba3d4959:"170",cb1e72f9:"258","21dc2778":"295","62a1276f":"304","0ab078a9":"395",e3ac21cb:"467","59b1a96c":"485","7333c691":"638","5e95c892":"647",aba21aa0:"742",a4d3e054:"755","6629c45f":"820",fb313d4e:"871",c141421f:"957",feaee7f3:"983",cbe663fe:"995"}[e]||e,c.p+c.u(e)},(()=>{var e={354:0,869:0};c.f.j=(a,t)=>{var r=c.o(e,a)?e[a]:void 0;if(0!==r)if(r)t.push(r[2]);else if(/^(354|869)$/.test(a))e[a]=0;else{var o=new Promise(((t,o)=>r=e[a]=[t,o]));t.push(r[2]=o);var n=c.p+c.u(a),f=new Error;c.l(n,(t=>{if(c.o(e,a)&&(0!==(r=e[a])&&(e[a]=void 0),r)){var o=t&&("load"===t.type?"missing":t.type),n=t&&t.target&&t.target.src;f.message="Loading chunk "+a+" failed.\n("+o+": "+n+")",f.name="ChunkLoadError",f.type=o,f.request=n,r[1](f)}}),"chunk-"+a,a)}},c.O.j=a=>0===e[a];var a=(a,t)=>{var r,o,n=t[0],f=t[1],b=t[2],d=0;if(n.some((a=>0!==e[a]))){for(r in f)c.o(f,r)&&(c.m[r]=f[r]);if(b)var i=b(c)}for(a&&a(t);dgtag("config","AW-989655383"),gtag("event","conversion",{send_to:"AW-989655383/vDYzCM--ks4DENfi89cD"}) - + diff --git a/building/migrations.html b/building/migrations.html index 40b2bb36a..8fafb9910 100644 --- a/building/migrations.html +++ b/building/migrations.html @@ -14,7 +14,7 @@ - + diff --git a/building/tinyorm.html b/building/tinyorm.html index 1785b08b2..64d208651 100644 --- a/building/tinyorm.html +++ b/building/tinyorm.html @@ -14,7 +14,7 @@ - + diff --git a/database/getting-started.html b/database/getting-started.html index 54c49eb67..e59e6368d 100644 --- a/database/getting-started.html +++ b/database/getting-started.html @@ -14,7 +14,7 @@ - + diff --git a/database/migrations.html b/database/migrations.html index 2a57c482f..cc978bcaa 100644 --- a/database/migrations.html +++ b/database/migrations.html @@ -14,7 +14,7 @@ - + diff --git a/database/query-builder.html b/database/query-builder.html index 17ac8d990..61dc3d477 100644 --- a/database/query-builder.html +++ b/database/query-builder.html @@ -14,7 +14,7 @@ - + diff --git a/database/seeding.html b/database/seeding.html index c24d00bb9..c187f0d30 100644 --- a/database/seeding.html +++ b/database/seeding.html @@ -14,7 +14,7 @@ - + diff --git a/dependencies.html b/dependencies.html index a2dc93f1f..27d8f68df 100644 --- a/dependencies.html +++ b/dependencies.html @@ -3,7 +3,7 @@ -Dependencies - TinyORM +Dependencies - TinyORM @@ -14,12 +14,12 @@ - +

Dependencies

-

The code was developed on MSVC 16.9-16.11, MSVC 17.2-17.9, GCC 10.2-13.2, and Clang 11-18, so may be assumed it will work on future releases of these compilers. Minimum required ISO C++ standard is C++20. +

The code was developed on MSVC 16.9-16.11, MSVC 17.2-17.9, GCC 10.2-14.1, and Clang 11-18, so may be assumed it will work on future releases of these compilers. Minimum required ISO C++ standard is C++20. The Qt framework version used during development was 5.15.2 and >=6.2.

Required
    diff --git a/features-summary.html b/features-summary.html index ae27ab2b0..0b3450c59 100644 --- a/features-summary.html +++ b/features-summary.html @@ -14,7 +14,7 @@ - + diff --git a/index.html b/index.html index b12f16f65..7fbc9bcb9 100644 --- a/index.html +++ b/index.html @@ -14,7 +14,7 @@ - + diff --git a/search.html b/search.html index e8e9989ec..e3eb4ba08 100644 --- a/search.html +++ b/search.html @@ -14,7 +14,7 @@ - + diff --git a/sponsors.html b/sponsors.html index a5ae49ef7..f60cdad34 100644 --- a/sponsors.html +++ b/sponsors.html @@ -14,7 +14,7 @@ - + diff --git a/supported-compilers.html b/supported-compilers.html index 813559ba2..7106764a9 100644 --- a/supported-compilers.html +++ b/supported-compilers.html @@ -14,7 +14,7 @@ - + @@ -23,7 +23,7 @@

    Windows >=10

    • MSVC 2019 >=16.9
    • MSVC 2022 >=17
    • -
    • MSYS2 UCRT64 GCC 10.2 - 13.2
    • +
    • MSYS2 UCRT64 GCC 10.2 - 14.1
    • MSYS2 UCRT64 Clang >=15
    • clang-cl >=15 with MSVC 2019/2022

    Linux

      diff --git a/tinydrivers/getting-started.html b/tinydrivers/getting-started.html index 26f733ce7..183e2ef38 100644 --- a/tinydrivers/getting-started.html +++ b/tinydrivers/getting-started.html @@ -14,7 +14,7 @@ - + diff --git a/tinyorm/casts.html b/tinyorm/casts.html index e4b3dfaa1..9a5b948c9 100644 --- a/tinyorm/casts.html +++ b/tinyorm/casts.html @@ -14,7 +14,7 @@ - + diff --git a/tinyorm/collections.html b/tinyorm/collections.html index 03529248f..c1a572e67 100644 --- a/tinyorm/collections.html +++ b/tinyorm/collections.html @@ -14,7 +14,7 @@ - + diff --git a/tinyorm/getting-started.html b/tinyorm/getting-started.html index 104c14178..23c5d3049 100644 --- a/tinyorm/getting-started.html +++ b/tinyorm/getting-started.html @@ -14,7 +14,7 @@ - + diff --git a/tinyorm/relationships.html b/tinyorm/relationships.html index 0fd01accc..ada1af641 100644 --- a/tinyorm/relationships.html +++ b/tinyorm/relationships.html @@ -14,7 +14,7 @@ - + diff --git a/tinyorm/serialization.html b/tinyorm/serialization.html index d76bd201f..1b9cade95 100644 --- a/tinyorm/serialization.html +++ b/tinyorm/serialization.html @@ -14,7 +14,7 @@ - +