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 6bb53a211b9345409183a4f1d91b2300a9ab8c34622b592e29f525e57c069ecd605182a6f2b779022e2371a363c5f4bf2da13f0e611ae636df4981573e6e6ea7
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")