vcpkg/ports/sqlpp23/portfile.cmake

48 lines
1.5 KiB
CMake

set(VCPKG_BUILD_TYPE release) # header-only lib
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO rbock/sqlpp23
REF ${VERSION}
SHA512 1e2229a39f5fabcaa597c3d6a86d6457703c3e69309b93dc7cba4e3bad7540d23be3c1a225205dec0ab526cfbc8bf7e819ce1dbebf123bfaa78dbae85f060ab8
HEAD_REF main
PATCHES
dependencies.patch
ddl2cpp_path.patch
fix-miss-header.patch
)
vcpkg_check_features(
OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
sqlite3 BUILD_SQLITE3_CONNECTOR
mariadb BUILD_MARIADB_CONNECTOR
mysql BUILD_MYSQL_CONNECTOR
postgresql BUILD_POSTGRESQL_CONNECTOR
)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-DBUILD_TESTING:BOOL=OFF
-DSQLPP23_INSTALL_CMAKEDIR=share/${PORT}
${FEATURE_OPTIONS}
)
vcpkg_cmake_install()
vcpkg_cmake_config_fixup()
set(usage "sqlpp23 provides CMake targets:\n")
if(FEATURES STREQUAL "core")
set(usage "This build of sqlpp23 doesn't include any connector.\n(Available via features: sqlite3, mariadb, mysql, postgresql.)\n")
endif()
foreach(component IN ITEMS SQLite3 SQLCipher MySQL MariaDB PostgreSQL)
string(TOLOWER "${component}" lib)
if("${lib}" IN_LIST FEATURES)
string(APPEND usage "\n find_package(Sqlpp23 CONFIG REQUIRED COMPONENTS ${component})\n target_link_libraries(main PRIVATE sqlpp23::${lib})\n")
endif()
endforeach()
file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" "${usage}")
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")