aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/tinyorm
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/tinyorm')
-rw-r--r--vcpkg/ports/tinyorm/portfile.cmake46
-rw-r--r--vcpkg/ports/tinyorm/vcpkg.json109
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"
+ ]
+ }
+ ]
+ }
+ }
+}