2024-03-09 14:42:23 +01:00

106 lines
3.7 KiB
BlitzBasic

#
# Copyright (c) 2024 Joel Winarske. All rights reserved.
#
SUMMARY = "Firebase C++ SDK"
DESCRIPTION = "Google Firebase C++ SDK"
AUTHOR = "Google Firebase Team"
HOMEPAGE = "https://github.com/firebase/firebase-cpp-sdk"
BUGTRACKER = "https://github.com/firebase/firebase-cpp-sdk/issues"
SECTION = "devtools"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
DEPENDS += "\
curl \
flatbuffers \
flatbuffers-native \
libsecret \
libunwind \
libuv \
openssl \
zlib \
"
SRC_URI = "gitsm://github.com/firebase/firebase-cpp-sdk.git;protocol=https;branch=main;destsuffix=git \
gitsm://github.com/uNetworking/uWebSockets.git;protocol=https;nobranch=1;name=uwebsockets;destsuffix=git/third_party/uWebSockets \
git://github.com/firebase/firebase-ios-sdk.git;protocol=https;nobranch=1;name=firestore;destsuffix=git/third_party/firestore \
git://github.com/nanopb/nanopb.git;protocol=https;nobranch=1;name=nanopb;destsuffix=git/third_party/nanopb \
file://0001-enable-system-libraries.patch \
file://BuildFlatBuffers.cmake \
"
SRCREV = "b5b7e05b6a6e3c7ca4baadb7f15ef6fc6f36829c"
SRCREV_FORMAT .= "_uwebsockets"
SRCREV_uwebsockets = "4d94401b9c98346f9afd838556fdc7dce30561eb"
SRCREV_FORMAT .= "_firestore"
SRCREV_firestore = "8a8ec57a272e0d31480fb0893dda0cf4f769b57e"
SRCREV_FORMAT .= "_nanopb"
SRCREV_nanopb = "7ee9ef9f627d85cbe1b8c4f49a3ed26eed216c77"
S = "${WORKDIR}/git"
inherit cmake pkgconfig
PACKAGECONFIG ??= "\
analytics \
app_check \
auth \
database \
dynamic_links \
fake_secure_storage \
firestore \
functions \
gma \
installations \
messaging \
remote_config \
storage \
"
PACKAGECONFIG[analytics] = "-DFIREBASE_INCLUDE_ANALYTICS=ON, -DFIREBASE_INCLUDE_ANALYTICS=OFF"
PACKAGECONFIG[app_check] = "-DFIREBASE_INCLUDE_APP_CHECK=ON, -DFIREBASE_INCLUDE_APP_CHECK=OFF"
PACKAGECONFIG[auth] = "-DFIREBASE_INCLUDE_AUTH=ON, -DFIREBASE_INCLUDE_AUTH=OFF"
PACKAGECONFIG[database] = "-DFIREBASE_INCLUDE_DATABASE=ON, -DFIREBASE_INCLUDE_DATABASE=OFF,leveldb"
PACKAGECONFIG[dynamic_links] = "-DFIREBASE_INCLUDE_DYNAMIC_LINKS=ON, -DFIREBASE_INCLUDE_DYNAMIC_LINKS=OFF"
PACKAGECONFIG[fake_secure_storage] = "-DFIREBASE_FORCE_FAKE_SECURE_STORAGE=ON, -DFIREBASE_FORCE_FAKE_SECURE_STORAGE=OFF"
PACKAGECONFIG[firestore] = "-DFIREBASE_INCLUDE_FIRESTORE=ON, -DFIREBASE_INCLUDE_FIRESTORE=OFF, abseil-cpp grpc"
PACKAGECONFIG[functions] = "-DFIREBASE_INCLUDE_FUNCTIONS=ON, -DFIREBASE_INCLUDE_FUNCTIONS=OFF"
PACKAGECONFIG[gma] = "-DFIREBASE_INCLUDE_GMA=ON, -DFIREBASE_INCLUDE_GMA=OFF"
PACKAGECONFIG[installations] = "-DFIREBASE_INCLUDE_INSTALLATIONS=ON, -DFIREBASE_INCLUDE_INSTALLATIONS=OFF"
PACKAGECONFIG[messaging] = "-DFIREBASE_INCLUDE_MESSAGING=ON, -DFIREBASE_INCLUDE_MESSAGING=OFF"
PACKAGECONFIG[remote_config] = "-DFIREBASE_INCLUDE_REMOTE_CONFIG=ON, -DFIREBASE_INCLUDE_REMOTE_CONFIG=OFF"
PACKAGECONFIG[storage] = "-DFIREBASE_INCLUDE_STORAGE=ON, -DFIREBASE_INCLUDE_STORAGE=OFF"
EXTRA_OECMAKE += "\
-D FIREBASE_INCLUDE_LIBRARY_DEFAULT=OFF \
-D FIREBASE_LINUX_USE_CXX11_ABI=ON \
-D FIREBASE_CPP_BUILD_PACKAGE=ON \
-D FIREBASE_USE_BORINGSSL=OFF \
\
-D FIREBASE_USE_SYSTEM_LIBS=ON \
-D BUILD_FLAT_BUFFERS_PATH=${WORKDIR}/BuildFlatBuffers.cmake \
-D UWEBSOCKETS_SOURCE_DIR=${S}/third_party/uWebSockets \
-D FIRESTORE_SOURCE_DIR=${S}/third_party/firestore \
"
do_install:append () {
install -d ${D}${libdir}/firebase
mv ${D}${libdir}s/linux/x86_64/* ${D}${libdir}/firebase
rm ${D}/usr/CMakeLists.txt
rm ${D}/usr/NOTICES
rm ${D}/usr/readme.md
rm -rf ${D}/usr/Android
rm -rf ${D}/usr/libs
}
FILES:${PN}-staticdev = "\
${libdir} \
"