106 lines
3.7 KiB
BlitzBasic
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} \
|
|
"
|