diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/tinyorm | |
Diffstat (limited to 'vcpkg/ports/tinyorm')
| -rw-r--r-- | vcpkg/ports/tinyorm/portfile.cmake | 46 | ||||
| -rw-r--r-- | vcpkg/ports/tinyorm/vcpkg.json | 109 |
2 files changed, 155 insertions, 0 deletions
diff --git a/vcpkg/ports/tinyorm/portfile.cmake b/vcpkg/ports/tinyorm/portfile.cmake new file mode 100644 index 0000000..bd495ba --- /dev/null +++ b/vcpkg/ports/tinyorm/portfile.cmake @@ -0,0 +1,46 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO silverqx/TinyORM + REF "v${VERSION}" + SHA512 231601df0e0b9233e6e206717c8ccbe2431ed545858d7efbbad96c7821177d6103d231941fa1bccae8fd2593b5874969bb4e26089d7502839106488d2cd614b6 + HEAD_REF main +) + +# STL4043 _SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING already defined, see: +# https://github.com/silverqx/TinyORM/blob/main/cmake/CommonModules/TinyCommon.cmake#L122 + +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + PREFIX TINYORM + FEATURES + disable-thread-local DISABLE_THREAD_LOCAL + inline-constants INLINE_CONSTANTS + mysql-ping MYSQL_PING + orm ORM + strict-mode STRICT_MODE + tom TOM + tom-example TOM_EXAMPLE +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCMAKE_CXX_SCAN_FOR_MODULES:BOOL=OFF + -DCMAKE_EXPORT_PACKAGE_REGISTRY:BOOL=OFF + -DBUILD_TESTS:BOOL=OFF + -DBUILD_TREE_DEPLOY:BOOL=OFF + -DTINY_PORT:STRING=${PORT} + -DTINY_VCPKG:BOOL=ON + -DVERBOSE_CONFIGURE:BOOL=ON + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup() + +if(TINYORM_TOM_EXAMPLE) + vcpkg_copy_tools(TOOL_NAMES tom AUTO_CLEAN) +endif() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/vcpkg/ports/tinyorm/vcpkg.json b/vcpkg/ports/tinyorm/vcpkg.json new file mode 100644 index 0000000..4c35b4f --- /dev/null +++ b/vcpkg/ports/tinyorm/vcpkg.json @@ -0,0 +1,109 @@ +{ + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", + "name": "tinyorm", + "version-semver": "0.38.1", + "maintainers": "Silver Zachara <silver.zachara@gmail.com>", + "description": "Modern C++ ORM library for Qt framework", + "homepage": "https://github.com/silverqx/TinyORM", + "documentation": "https://www.tinyorm.org", + "license": "MIT", + "supports": "!(uwp | arm | android | emscripten | osx | ios | xbox | freebsd | openbsd | wasm32)", + "dependencies": [ + { + "name": "qtbase", + "default-features": false + }, + "range-v3", + "tabulate", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "orm", + "sql-sqlite", + "tom" + ], + "features": { + "build-mysql-driver": { + "description": "Build TinyDrivers MySQL database driver (provided by TinyDrivers)", + "dependencies": [ + "libmysql" + ] + }, + "disable-thread-local": { + "description": "Remove all thread_local storage duration specifiers (disables multi-threading support)" + }, + "inline-constants": { + "description": "Use inline constants instead of extern constants in shared builds" + }, + "mysql-ping": { + "description": "Install MySQL C client library (libmysql) to support the mysql_ping()", + "dependencies": [ + "libmysql" + ] + }, + "orm": { + "description": "Enable ORM-related source code (without it only the query builder is compiled)" + }, + "sql-mysql": { + "description": "Build Qt SQL MySQL database driver (provided by QtSql)", + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "sql-mysql" + ] + } + ] + }, + "sql-psql": { + "description": "Build Qt SQL PostgreSQL database driver (provided by QtSql)", + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "sql-psql" + ] + } + ] + }, + "sql-sqlite": { + "description": "Build Qt SQL SQLite database driver (provided by QtSql)", + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "sql-sqlite" + ] + } + ] + }, + "strict-mode": { + "description": "Propagate strict compiler/linker options and Qt definitions" + }, + "tom": { + "description": "Enable Tom-related source code (command-line interface)" + }, + "tom-example": { + "description": "Build Tom command-line application example", + "dependencies": [ + { + "name": "tinyorm", + "default-features": false, + "features": [ + "tom" + ] + } + ] + } + } +} |