mirror of
https://github.com/firebase/firebase-ios-sdk
synced 2026-11-09 22:36:01 +05:45
Refactor and clean up the CMake build ahead of CMake/iOS support (#5051)
* Use early exit in objc_framework CMakeLists.txt * Clean up objc_framework CMakeLists.txt * Use `version` consistently * Use `firebase_ios_version` for the repo-level version * Remove INCLUDE directories that are no longer needed * Sort dependencies * Simplify Example/App/CMakeLists.txt * Add `OBJC_FLAGS` directly, avoiding a separate `sources` variable. * Add resources directly * Rename test host app to firebase_firestore_example_app * Add a firebase_ios prefix to functions and variables This reduces the chance of collision with other projects. * Simplify compiler_setup Now that compiler_setup.cmake no longer has side-effects, fold compiler_id.cmake and archive_options.cmake into it and move the include of compiler_setup up to the top of the main build.
This commit is contained in:
43 files changed
+345
-380
No files matched your search
+9
-11
@@ -1,4 +1,4 @@
|
||||
# Copyright 2017 Google
|
||||
# Copyright 2017 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -34,7 +34,7 @@ endif()
|
||||
|
||||
# Generate Ninja phony rules for unknown dependencies in the build tree and
|
||||
# don't complain about doing so. Our dependencies aren't good about declaring
|
||||
# BYPRODUCTS and we mix them all into a single uber build so we can't enable
|
||||
# BYPRODUCTS and we mix them all into a single superbuild so we can't enable
|
||||
# this policy until all dependencies are capable of doing so.
|
||||
if(POLICY CMP0058)
|
||||
cmake_policy(SET CMP0058 OLD)
|
||||
@@ -68,8 +68,7 @@ option(
|
||||
|
||||
|
||||
list(INSERT CMAKE_MODULE_PATH 0 ${PROJECT_SOURCE_DIR}/cmake)
|
||||
include(compiler_id)
|
||||
include(archive_options)
|
||||
include(compiler_setup)
|
||||
include(sanitizer_options)
|
||||
include(fuzzing_options)
|
||||
|
||||
@@ -101,9 +100,9 @@ download_external_sources()
|
||||
# Googletest
|
||||
set(gtest_force_shared_crt ON CACHE BOOL "Use shared run-time")
|
||||
add_external_subdirectory(googletest)
|
||||
add_alias(GTest::GTest gtest)
|
||||
add_alias(GTest::Main gtest_main)
|
||||
add_alias(GMock::GMock gmock)
|
||||
firebase_ios_add_alias(GTest::GTest gtest)
|
||||
firebase_ios_add_alias(GTest::Main gtest_main)
|
||||
firebase_ios_add_alias(GMock::GMock gmock)
|
||||
|
||||
|
||||
# Benchmark
|
||||
@@ -179,14 +178,14 @@ if(OPENSSL_FOUND)
|
||||
|
||||
else()
|
||||
# Not using outboard OpenSSL so set up BoringSSL to look like it.
|
||||
add_alias(OpenSSL::Crypto crypto)
|
||||
firebase_ios_add_alias(OpenSSL::Crypto crypto)
|
||||
target_include_directories(
|
||||
crypto
|
||||
INTERFACE
|
||||
$<BUILD_INTERFACE:${FIREBASE_EXTERNAL_SOURCE_DIR}/grpc/third_party/boringssl/include>
|
||||
)
|
||||
|
||||
add_alias(OpenSSL::SSL ssl)
|
||||
firebase_ios_add_alias(OpenSSL::SSL ssl)
|
||||
target_include_directories(
|
||||
ssl
|
||||
INTERFACE
|
||||
@@ -223,7 +222,7 @@ set(LEVELDB_BUILD_TESTS OFF CACHE BOOL "Firestore disabled")
|
||||
set(LEVELDB_BUILD_BENCHMARKS OFF CACHE BOOL "Firestore disabled")
|
||||
set(LEVELDB_INSTALL OFF CACHE BOOL "Firestore disabled")
|
||||
add_external_subdirectory(leveldb)
|
||||
add_alias(LevelDB::LevelDB leveldb)
|
||||
firebase_ios_add_alias(LevelDB::LevelDB leveldb)
|
||||
|
||||
|
||||
# nanopb
|
||||
@@ -254,7 +253,6 @@ endif()
|
||||
if(FIREBASE_IOS_BUILD_TESTS)
|
||||
enable_testing()
|
||||
endif()
|
||||
include(compiler_setup)
|
||||
|
||||
add_subdirectory(FirebaseCore)
|
||||
add_subdirectory(Firestore)
|
||||
|
||||
+27
-27
@@ -1,4 +1,4 @@
|
||||
# Copyright 2019 Google
|
||||
# Copyright 2019 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -12,30 +12,30 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
if(APPLE)
|
||||
file(GLOB sources Sources/*.m)
|
||||
file(GLOB headers Sources/Private/*.h Sources/Public/*.h)
|
||||
|
||||
podspec_version(core_version ${PROJECT_SOURCE_DIR}/FirebaseCore.podspec)
|
||||
firebase_version(fb_version ${PROJECT_SOURCE_DIR}/FirebaseCore.podspec)
|
||||
|
||||
objc_framework(
|
||||
FirebaseCore
|
||||
SOURCES ${sources}
|
||||
HEADERS ${headers}
|
||||
VERSION ${core_version}
|
||||
DEFINES
|
||||
FIRCore_VERSION=${core_version}
|
||||
Firebase_VERSION=${fb_version}
|
||||
INCLUDES
|
||||
Sources/Private
|
||||
Sources/Public
|
||||
${PROJECT_SOURCE_DIR}
|
||||
DEPENDS
|
||||
GoogleUtilities
|
||||
FirebaseCoreDiagnosticsInterop
|
||||
"-framework Foundation"
|
||||
"-framework AppKit"
|
||||
EXCLUDE_FROM_ALL
|
||||
)
|
||||
if(NOT APPLE)
|
||||
return()
|
||||
endif()
|
||||
|
||||
file(GLOB sources Sources/*.m)
|
||||
file(GLOB headers Sources/Private/*.h Sources/Public/*.h)
|
||||
|
||||
podspec_version(version ${PROJECT_SOURCE_DIR}/FirebaseCore.podspec)
|
||||
firebase_version(firebase_ios_version ${PROJECT_SOURCE_DIR}/FirebaseCore.podspec)
|
||||
|
||||
firebase_ios_objc_framework(
|
||||
FirebaseCore
|
||||
SOURCES ${sources}
|
||||
HEADERS ${headers}
|
||||
VERSION ${version}
|
||||
DEFINES
|
||||
FIRCore_VERSION=${version}
|
||||
Firebase_VERSION=${firebase_ios_version}
|
||||
INCLUDES
|
||||
${PROJECT_SOURCE_DIR}
|
||||
DEPENDS
|
||||
FirebaseCoreDiagnosticsInterop
|
||||
GoogleUtilities
|
||||
"-framework AppKit"
|
||||
"-framework Foundation"
|
||||
EXCLUDE_FROM_ALL
|
||||
)
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2019 Google
|
||||
# Copyright 2019 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -12,38 +12,31 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
if(APPLE)
|
||||
set(
|
||||
sources
|
||||
macOS/main.m
|
||||
macOS/AppDelegate.m
|
||||
macOS/AppDelegate.h
|
||||
)
|
||||
if(NOT APPLE)
|
||||
return()
|
||||
endif()
|
||||
|
||||
set(
|
||||
resources
|
||||
GoogleService-Info.plist
|
||||
)
|
||||
add_executable(
|
||||
firebase_firestore_example_app MACOSX_BUNDLE
|
||||
macOS/AppDelegate.h
|
||||
macOS/AppDelegate.m
|
||||
macOS/main.m
|
||||
)
|
||||
|
||||
add_executable(
|
||||
firestore_example_app_macos MACOSX_BUNDLE
|
||||
${sources}
|
||||
)
|
||||
target_compile_options(
|
||||
firebase_firestore_example_app
|
||||
PRIVATE ${FIREBASE_IOS_OBJC_FLAGS}
|
||||
)
|
||||
|
||||
add_objc_flags(
|
||||
firestore_example_app_macos
|
||||
${sources}
|
||||
)
|
||||
target_link_libraries(
|
||||
firebase_firestore_example_app
|
||||
PRIVATE
|
||||
"-framework AppKit"
|
||||
"-framework Foundation"
|
||||
)
|
||||
|
||||
target_link_libraries(
|
||||
firestore_example_app_macos
|
||||
PRIVATE "-framework AppKit"
|
||||
)
|
||||
|
||||
set_target_properties(
|
||||
firestore_example_app_macos PROPERTIES
|
||||
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/macOS/Info.plist
|
||||
RESOURCE "${resources}"
|
||||
)
|
||||
|
||||
endif(APPLE)
|
||||
set_target_properties(
|
||||
firebase_firestore_example_app PROPERTIES
|
||||
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/macOS/Info.plist
|
||||
RESOURCE GoogleService-Info.plist
|
||||
)
|
||||
@@ -13,7 +13,7 @@
|
||||
# limitations under the License.
|
||||
|
||||
if(APPLE)
|
||||
cc_binary(
|
||||
firebase_ios_cc_binary(
|
||||
firebase_firestore_remote_document_cache_benchmark
|
||||
SOURCES
|
||||
remote_document_cache_benchmark.mm
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2019 Google
|
||||
# Copyright 2019 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -13,9 +13,9 @@
|
||||
# limitations under the License.
|
||||
|
||||
if(APPLE)
|
||||
objc_test(
|
||||
firebase_ios_objc_test(
|
||||
firebase_firestore_objc_api_test
|
||||
HOST firestore_example_app_macos
|
||||
HOST firebase_firestore_example_app
|
||||
SOURCES
|
||||
FIRCollectionReferenceTests.mm
|
||||
FIRDocumentReferenceTests.mm
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2019 Google
|
||||
# Copyright 2019 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -12,28 +12,30 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
if(APPLE)
|
||||
objc_test(
|
||||
firebase_firestore_objc_integration_test
|
||||
HOST firestore_example_app_macos
|
||||
SOURCES
|
||||
FSTSmokeTests.mm
|
||||
FSTDatastoreTests.mm
|
||||
FSTTransactionTests.mm
|
||||
API/FIRArrayTransformTests.mm
|
||||
API/FIRFieldsTests.mm
|
||||
API/FIRNumericTransformTests.mm
|
||||
API/FIRTypeTests.mm
|
||||
API/FIRCursorTests.mm
|
||||
API/FIRFirestoreSourceTests.mm
|
||||
API/FIRQueryTests.mm
|
||||
API/FIRValidationTests.mm
|
||||
API/FIRDatabaseTests.mm
|
||||
API/FIRListenerRegistrationTests.mm
|
||||
API/FIRServerTimestampTests.mm
|
||||
API/FIRWriteBatchTests.mm
|
||||
DEPENDS
|
||||
FirebaseFirestore
|
||||
firebase_firestore_objc_test_util
|
||||
)
|
||||
endif(APPLE)
|
||||
if(NOT APPLE)
|
||||
return()
|
||||
endif()
|
||||
|
||||
firebase_ios_objc_test(
|
||||
firebase_firestore_objc_integration_test
|
||||
HOST firebase_firestore_example_app
|
||||
SOURCES
|
||||
FSTSmokeTests.mm
|
||||
FSTDatastoreTests.mm
|
||||
FSTTransactionTests.mm
|
||||
API/FIRArrayTransformTests.mm
|
||||
API/FIRFieldsTests.mm
|
||||
API/FIRNumericTransformTests.mm
|
||||
API/FIRTypeTests.mm
|
||||
API/FIRCursorTests.mm
|
||||
API/FIRFirestoreSourceTests.mm
|
||||
API/FIRQueryTests.mm
|
||||
API/FIRValidationTests.mm
|
||||
API/FIRDatabaseTests.mm
|
||||
API/FIRListenerRegistrationTests.mm
|
||||
API/FIRServerTimestampTests.mm
|
||||
API/FIRWriteBatchTests.mm
|
||||
DEPENDS
|
||||
FirebaseFirestore
|
||||
firebase_firestore_objc_test_util
|
||||
)
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2019 Google
|
||||
# Copyright 2019 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -13,9 +13,9 @@
|
||||
# limitations under the License.
|
||||
|
||||
if(APPLE)
|
||||
objc_test(
|
||||
firebase_ios_objc_test(
|
||||
firebase_firestore_objc_spec_test
|
||||
HOST firestore_example_app_macos
|
||||
HOST firebase_firestore_example_app
|
||||
SOURCES
|
||||
FSTLevelDBSpecTests.mm
|
||||
FSTMemorySpecTests.mm
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2019 Google
|
||||
# Copyright 2019 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -13,7 +13,7 @@
|
||||
# limitations under the License.
|
||||
|
||||
if(APPLE)
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_objc_test_util
|
||||
HEADERS
|
||||
FSTEventAccumulator.h
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2018 Google
|
||||
# Copyright 2018 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -33,6 +33,7 @@ set(
|
||||
google/rpc/status
|
||||
google/type/latlng
|
||||
)
|
||||
|
||||
# Full filenames (i.e. with the .proto) from within the proto directory,
|
||||
# excluding anything in google/protobuf
|
||||
foreach(root ${PROTO_FILE_ROOTS})
|
||||
@@ -58,6 +59,7 @@ set(
|
||||
google/protobuf/timestamp
|
||||
google/protobuf/wrappers
|
||||
)
|
||||
|
||||
# Full filenames (i.e. with the .proto) from within the proto directory, from
|
||||
# the google/protobuf package.
|
||||
foreach(root ${WELL_KNOWN_PROTO_FILE_ROOTS})
|
||||
@@ -111,7 +113,7 @@ function(snake_case_to_camel_case str var)
|
||||
set(${var} ${str} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_protos_nanopb
|
||||
SOURCES
|
||||
${NANOPB_GENERATED_SOURCES}
|
||||
@@ -141,7 +143,6 @@ if(CXX_CLANG OR CXX_GNU)
|
||||
)
|
||||
endif()
|
||||
|
||||
|
||||
target_include_directories(
|
||||
firebase_firestore_protos_libprotobuf PUBLIC
|
||||
${FIREBASE_SOURCE_DIR}/Firestore/Protos/cpp
|
||||
@@ -172,7 +173,6 @@ add_custom_command(
|
||||
${PROTOBUF_PROTO}
|
||||
)
|
||||
|
||||
|
||||
# Generate the python representation of nanopb's protos
|
||||
set(NANOPB_DIR ${FIREBASE_BINARY_DIR}/external/src/nanopb)
|
||||
set(
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2019 Google
|
||||
# Copyright 2019 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -18,7 +18,7 @@ if(APPLE)
|
||||
${PROJECT_SOURCE_DIR}/FirebaseFirestore.podspec
|
||||
)
|
||||
|
||||
objc_framework(
|
||||
firebase_ios_objc_framework(
|
||||
FirebaseFirestore
|
||||
SHARED
|
||||
HEADERS
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2018 Google
|
||||
# Copyright 2018 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -13,7 +13,7 @@
|
||||
# limitations under the License.
|
||||
|
||||
# Public types to be used both internally and externally.
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_types
|
||||
SOURCES
|
||||
geo_point.cc
|
||||
@@ -24,7 +24,7 @@ cc_library(
|
||||
firebase_firestore_util
|
||||
)
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_version
|
||||
SOURCES
|
||||
firestore_version.cc
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2019 Google
|
||||
# Copyright 2019 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -12,7 +12,7 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_api
|
||||
SOURCES
|
||||
api_fwd.h
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2018 Google
|
||||
# Copyright 2018 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -12,7 +12,7 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_auth_base
|
||||
SOURCES
|
||||
credentials_provider.cc
|
||||
@@ -26,7 +26,7 @@ cc_library(
|
||||
firebase_firestore_util
|
||||
)
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_auth_apple
|
||||
SOURCES
|
||||
firebase_credentials_provider_apple.h
|
||||
@@ -42,7 +42,7 @@ if(APPLE)
|
||||
list(APPEND AUTH_DEPENDS firebase_firestore_auth_apple)
|
||||
endif()
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_auth
|
||||
SOURCES
|
||||
empty_credentials_provider.cc
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2018 Google
|
||||
# Copyright 2018 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -12,7 +12,7 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_core_query
|
||||
SOURCES
|
||||
array_contains_any_filter.cc
|
||||
@@ -47,7 +47,7 @@ cc_library(
|
||||
firebase_firestore_model
|
||||
)
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_core_target_id_generator
|
||||
SOURCES
|
||||
target_id_generator.cc
|
||||
@@ -57,7 +57,7 @@ cc_library(
|
||||
firebase_firestore_util
|
||||
)
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_core_transaction
|
||||
SOURCES
|
||||
transaction.cc
|
||||
@@ -69,7 +69,7 @@ cc_library(
|
||||
)
|
||||
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_core_view
|
||||
SOURCES
|
||||
query_listener.cc
|
||||
@@ -84,7 +84,7 @@ cc_library(
|
||||
firebase_firestore_model
|
||||
)
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_core
|
||||
SOURCES
|
||||
core_fwd.h
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2018 Google
|
||||
# Copyright 2018 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -12,7 +12,7 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_immutable
|
||||
SOURCES
|
||||
append_only_list.h
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2018 Google
|
||||
# Copyright 2018 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -12,7 +12,7 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_local_base
|
||||
SOURCES
|
||||
document_key_reference.cc
|
||||
@@ -38,7 +38,7 @@ cc_library(
|
||||
)
|
||||
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_local_persistence_leveldb
|
||||
SOURCES
|
||||
leveldb_index_manager.cc
|
||||
@@ -76,7 +76,7 @@ cc_library(
|
||||
EXCLUDE_FROM_ALL
|
||||
)
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_local
|
||||
SOURCES
|
||||
document_key_reference.cc
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2018 Google
|
||||
# Copyright 2018 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -12,7 +12,7 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_model
|
||||
SOURCES
|
||||
base_path.h
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2018 Google
|
||||
# Copyright 2018 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -12,7 +12,7 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_nanopb_runtime
|
||||
SOURCES
|
||||
byte_string.cc
|
||||
@@ -28,7 +28,7 @@ cc_library(
|
||||
protobuf-nanopb-static
|
||||
)
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_nanopb
|
||||
SOURCES
|
||||
fields_array.h
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2019 Google
|
||||
# Copyright 2019 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -16,7 +16,7 @@
|
||||
# libraries in here are an implementation detail of making this a
|
||||
# mutli-platform build.
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_objc
|
||||
HEADER_ONLY # Still true on non-Apple platforms
|
||||
SOURCES
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2018 Google
|
||||
# Copyright 2018 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -12,7 +12,7 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_remote_connectivity_monitor_apple
|
||||
SOURCES
|
||||
connectivity_monitor.cc
|
||||
@@ -25,7 +25,7 @@ cc_library(
|
||||
EXCLUDE_FROM_ALL
|
||||
)
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_remote_connectivity_monitor_noop
|
||||
SOURCES
|
||||
connectivity_monitor.cc
|
||||
@@ -37,7 +37,7 @@ cc_library(
|
||||
EXCLUDE_FROM_ALL
|
||||
)
|
||||
|
||||
cc_select(
|
||||
firebase_ios_cc_select(
|
||||
firebase_firestore_remote_connectivity_monitor
|
||||
APPLE firebase_firestore_remote_connectivity_monitor_apple
|
||||
DEFAULT firebase_firestore_remote_connectivity_monitor_noop
|
||||
@@ -82,7 +82,7 @@ add_custom_target(
|
||||
${GRPC_ROOT_CERTIFICATE_SOURCES}
|
||||
)
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_remote_grpc
|
||||
SOURCES
|
||||
grpc_call.h
|
||||
@@ -115,7 +115,7 @@ cc_library(
|
||||
protobuf-nanopb-static
|
||||
)
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_remote_datastore
|
||||
SOURCES
|
||||
datastore.cc
|
||||
@@ -139,7 +139,7 @@ cc_library(
|
||||
firebase_firestore_remote_serializer
|
||||
)
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_remote_serializer
|
||||
SOURCES
|
||||
serializer.cc
|
||||
@@ -150,7 +150,7 @@ cc_library(
|
||||
protobuf-nanopb-static
|
||||
)
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_remote
|
||||
SOURCES
|
||||
existence_filter.h
|
||||
|
||||
@@ -24,7 +24,7 @@ include(CheckIncludeFiles)
|
||||
|
||||
check_symbol_exists(dispatch_async_f dispatch/dispatch.h HAVE_LIBDISPATCH)
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_util_async_std
|
||||
SOURCES
|
||||
async_queue.cc
|
||||
@@ -41,7 +41,7 @@ cc_library(
|
||||
EXCLUDE_FROM_ALL
|
||||
)
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_util_async_libdispatch
|
||||
SOURCES
|
||||
async_queue.cc
|
||||
@@ -59,7 +59,7 @@ cc_library(
|
||||
EXCLUDE_FROM_ALL
|
||||
)
|
||||
|
||||
cc_select(
|
||||
firebase_ios_cc_select(
|
||||
firebase_firestore_util_async
|
||||
HAVE_LIBDISPATCH firebase_firestore_util_async_libdispatch
|
||||
DEFAULT firebase_firestore_util_async_std
|
||||
@@ -68,7 +68,7 @@ cc_select(
|
||||
|
||||
## base
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_util_base_stdio
|
||||
SOURCES
|
||||
exception.cc
|
||||
@@ -87,7 +87,7 @@ cc_library(
|
||||
EXCLUDE_FROM_ALL
|
||||
)
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_util_base_apple
|
||||
SOURCES
|
||||
exception.cc
|
||||
@@ -109,7 +109,7 @@ cc_library(
|
||||
EXCLUDE_FROM_ALL
|
||||
)
|
||||
|
||||
cc_select(
|
||||
firebase_ios_cc_select(
|
||||
firebase_firestore_util_base
|
||||
APPLE firebase_firestore_util_base_apple
|
||||
DEFAULT firebase_firestore_util_base_stdio
|
||||
@@ -118,7 +118,7 @@ cc_select(
|
||||
|
||||
## filesystem
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_util_filesystem_apple
|
||||
SOURCES
|
||||
filesystem.h
|
||||
@@ -133,7 +133,7 @@ cc_library(
|
||||
EXCLUDE_FROM_ALL
|
||||
)
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_util_filesystem_posix
|
||||
SOURCES
|
||||
filesystem.h
|
||||
@@ -147,7 +147,7 @@ cc_library(
|
||||
EXCLUDE_FROM_ALL
|
||||
)
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_util_filesystem_win
|
||||
SOURCES
|
||||
filesystem.h
|
||||
@@ -161,7 +161,7 @@ cc_library(
|
||||
EXCLUDE_FROM_ALL
|
||||
)
|
||||
|
||||
cc_select(
|
||||
firebase_ios_cc_select(
|
||||
firebase_firestore_util_filesystem
|
||||
APPLE firebase_firestore_util_filesystem_apple
|
||||
WIN32 firebase_firestore_util_filesystem_win
|
||||
@@ -172,7 +172,7 @@ cc_select(
|
||||
## random
|
||||
|
||||
check_symbol_exists(arc4random stdlib.h HAVE_ARC4RANDOM)
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_util_random_arc4random
|
||||
SOURCES
|
||||
secure_random.h
|
||||
@@ -186,7 +186,7 @@ if(TARGET OpenSSL::Crypto)
|
||||
OpenSSL::Crypto INTERFACE_INCLUDE_DIRECTORIES
|
||||
)
|
||||
check_include_files(openssl/rand.h HAVE_OPENSSL_RAND_H)
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_util_random_openssl
|
||||
SOURCES
|
||||
secure_random.h
|
||||
@@ -197,7 +197,7 @@ if(TARGET OpenSSL::Crypto)
|
||||
)
|
||||
endif()
|
||||
|
||||
cc_select(
|
||||
firebase_ios_cc_select(
|
||||
firebase_firestore_util_random
|
||||
HAVE_ARC4RANDOM firebase_firestore_util_random_arc4random
|
||||
HAVE_OPENSSL_RAND_H firebase_firestore_util_random_openssl
|
||||
@@ -206,7 +206,7 @@ cc_select(
|
||||
|
||||
## status
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_util_status
|
||||
SOURCES
|
||||
error_apple.h
|
||||
@@ -236,7 +236,7 @@ configure_file(
|
||||
config.h # NOLINT(generated)
|
||||
)
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_util_autoid
|
||||
SOURCES
|
||||
autoid.cc
|
||||
@@ -245,7 +245,7 @@ cc_library(
|
||||
firebase_firestore_util_random
|
||||
)
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_util
|
||||
SOURCES
|
||||
bits.cc
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2018 Google
|
||||
# Copyright 2018 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -18,7 +18,7 @@
|
||||
# Xcode, but that's not necessary in CMake which directly supports running
|
||||
# GoogleTest-based tests.
|
||||
|
||||
cc_test(
|
||||
firebase_ios_cc_test(
|
||||
firebase_firestore_types_test
|
||||
SOURCES
|
||||
geo_point_test.cc
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2019 Google
|
||||
# Copyright 2019 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -12,7 +12,7 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
cc_test(
|
||||
firebase_ios_cc_test(
|
||||
firebase_firestore_api_test
|
||||
SOURCES
|
||||
cc_compilation_test.cc
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2018 Google
|
||||
# Copyright 2018 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -12,7 +12,7 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
cc_test(
|
||||
firebase_ios_cc_test(
|
||||
firebase_firestore_auth_test
|
||||
SOURCES
|
||||
credentials_provider_test.cc
|
||||
@@ -24,7 +24,7 @@ cc_test(
|
||||
)
|
||||
|
||||
if(APPLE)
|
||||
cc_test(
|
||||
firebase_ios_cc_test(
|
||||
firebase_firestore_auth_apple_test
|
||||
SOURCES
|
||||
firebase_credentials_provider_test.mm
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2018 Google
|
||||
# Copyright 2018 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -12,7 +12,7 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
cc_test(
|
||||
firebase_ios_cc_test(
|
||||
firebase_firestore_core_test
|
||||
SOURCES
|
||||
database_info_test.cc
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2018 Google
|
||||
# Copyright 2018 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -12,7 +12,7 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
cc_test(
|
||||
firebase_ios_cc_test(
|
||||
firebase_firestore_immutable_test
|
||||
SOURCES
|
||||
append_only_list_test.cc
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2018 Google
|
||||
# Copyright 2018 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -12,7 +12,7 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_local_testing
|
||||
SOURCES
|
||||
counting_query_engine.cc
|
||||
@@ -24,7 +24,7 @@ cc_library(
|
||||
firebase_firestore_local_persistence_leveldb
|
||||
)
|
||||
|
||||
cc_test(
|
||||
firebase_ios_cc_test(
|
||||
firebase_firestore_local_test
|
||||
SOURCES
|
||||
index_free_query_engine_test.cc
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2018 Google
|
||||
# Copyright 2018 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -12,7 +12,7 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
cc_test(
|
||||
firebase_ios_cc_test(
|
||||
firebase_firestore_model_test
|
||||
SOURCES
|
||||
database_id_test.cc
|
||||
@@ -35,7 +35,7 @@ cc_test(
|
||||
GMock::GMock
|
||||
)
|
||||
|
||||
cc_binary(
|
||||
firebase_ios_cc_binary(
|
||||
firebase_firestore_model_field_value_benchmark
|
||||
SOURCES
|
||||
field_value_benchmark.cc
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2018 Google
|
||||
# Copyright 2018 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -12,7 +12,7 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
cc_test(
|
||||
firebase_ios_cc_test(
|
||||
firebase_firestore_nanopb_test
|
||||
SOURCES
|
||||
byte_string_test.cc
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2019 Google
|
||||
# Copyright 2019 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -13,7 +13,7 @@
|
||||
# limitations under the License.
|
||||
|
||||
if(APPLE)
|
||||
cc_test(
|
||||
firebase_ios_cc_test(
|
||||
firebase_firestore_objc_test
|
||||
SOURCES
|
||||
objc_type_traits_apple_test.mm
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2018 Google
|
||||
# Copyright 2018 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -12,7 +12,7 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_remote_testing
|
||||
SOURCES
|
||||
fake_target_metadata_provider.cc
|
||||
@@ -21,7 +21,7 @@ cc_library(
|
||||
firebase_firestore_remote
|
||||
)
|
||||
|
||||
cc_test(
|
||||
firebase_ios_cc_test(
|
||||
firebase_firestore_remote_test
|
||||
SOURCES
|
||||
datastore_test.cc
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2018 Google
|
||||
# Copyright 2018 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -12,7 +12,7 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_testutil_apple
|
||||
SOURCES
|
||||
app_testing.h
|
||||
@@ -29,7 +29,7 @@ if(APPLE)
|
||||
list(APPEND TESTUTIL_DEPENDS firebase_firestore_testutil_apple)
|
||||
endif()
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_testutil
|
||||
SOURCES
|
||||
async_testing.cc
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2017 Google
|
||||
# Copyright 2017 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -22,7 +22,7 @@ endif()
|
||||
|
||||
## async
|
||||
|
||||
cc_test(
|
||||
firebase_ios_cc_test(
|
||||
firebase_firestore_util_async_std_test
|
||||
SOURCES
|
||||
async_queue_std_test.cc
|
||||
@@ -37,7 +37,7 @@ cc_test(
|
||||
)
|
||||
|
||||
if(HAVE_LIBDISPATCH)
|
||||
cc_test(
|
||||
firebase_ios_cc_test(
|
||||
firebase_firestore_util_async_libdispatch_test
|
||||
SOURCES
|
||||
async_queue_libdispatch_test.mm
|
||||
@@ -56,7 +56,7 @@ endif()
|
||||
## base
|
||||
|
||||
if(APPLE)
|
||||
cc_test(
|
||||
firebase_ios_cc_test(
|
||||
firebase_firestore_util_base_apple_test
|
||||
SOURCES
|
||||
hard_assert_test.cc
|
||||
@@ -67,7 +67,7 @@ if(APPLE)
|
||||
)
|
||||
endif(APPLE)
|
||||
|
||||
cc_test(
|
||||
firebase_ios_cc_test(
|
||||
firebase_firestore_util_base_stdio_test
|
||||
SOURCES
|
||||
hard_assert_test.cc
|
||||
@@ -80,7 +80,7 @@ cc_test(
|
||||
## filesystem
|
||||
|
||||
if(APPLE)
|
||||
cc_test(
|
||||
firebase_ios_cc_test(
|
||||
firebase_firestore_util_filesystem_apple_test
|
||||
SOURCES
|
||||
filesystem_test.cc
|
||||
@@ -95,7 +95,7 @@ if(APPLE)
|
||||
endif()
|
||||
|
||||
if(NOT APPLE AND NOT WIN32)
|
||||
cc_test(
|
||||
firebase_ios_cc_test(
|
||||
firebase_firestore_util_filesystem_posix_test
|
||||
SOURCES
|
||||
filesystem_test.cc
|
||||
@@ -110,7 +110,7 @@ if(NOT APPLE AND NOT WIN32)
|
||||
endif()
|
||||
|
||||
if(WIN32)
|
||||
cc_test(
|
||||
firebase_ios_cc_test(
|
||||
firebase_firestore_util_filesystem_win_test
|
||||
SOURCES
|
||||
filesystem_test.cc
|
||||
@@ -128,7 +128,7 @@ endif()
|
||||
## random
|
||||
|
||||
if(HAVE_ARC4RANDOM)
|
||||
cc_test(
|
||||
firebase_ios_cc_test(
|
||||
firebase_firestore_util_random_arc4random_test
|
||||
SOURCES
|
||||
secure_random_test.cc
|
||||
@@ -138,7 +138,7 @@ if(HAVE_ARC4RANDOM)
|
||||
endif()
|
||||
|
||||
if(HAVE_OPENSSL_RAND_H)
|
||||
cc_test(
|
||||
firebase_ios_cc_test(
|
||||
firebase_firestore_util_random_openssl_test
|
||||
SOURCES
|
||||
secure_random_test.cc
|
||||
@@ -150,7 +150,7 @@ endif()
|
||||
|
||||
## main library
|
||||
|
||||
cc_test(
|
||||
firebase_ios_cc_test(
|
||||
firebase_firestore_util_test
|
||||
SOURCES
|
||||
autoid_test.cc
|
||||
@@ -182,7 +182,7 @@ cc_test(
|
||||
|
||||
# Helper utilities
|
||||
|
||||
cc_library(
|
||||
firebase_ios_cc_library(
|
||||
firebase_firestore_remote_test_util
|
||||
SOURCES
|
||||
create_noop_connectivity_monitor.h
|
||||
@@ -204,7 +204,7 @@ cc_library(
|
||||
|
||||
# Benchmarks
|
||||
|
||||
cc_binary(
|
||||
firebase_ios_cc_binary(
|
||||
firebase_firestore_util_ordered_code_benchmark
|
||||
SOURCES
|
||||
ordered_code_benchmark.cc
|
||||
@@ -215,7 +215,7 @@ cc_binary(
|
||||
)
|
||||
|
||||
if(APPLE)
|
||||
cc_binary(
|
||||
firebase_ios_cc_binary(
|
||||
firebase_firestore_util_string_apple_benchmark
|
||||
SOURCES
|
||||
string_apple_benchmark.mm
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2018 Google
|
||||
# Copyright 2018 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -12,11 +12,11 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Builds all fuzzing targets using cc_fuzz_test build rule, which copies the
|
||||
# provided dictionary and corpus to the destination directory. A fuzzing target
|
||||
# that tests xyz must be called 'xyz_fuzzer'. The copied dictionary will be
|
||||
# called 'xyz_fuzzer.dict' and its corpus 'xyz_fuzzer_seed_corpus'. See
|
||||
# cc_rules.cmake for more information.
|
||||
# Builds all fuzzing targets using firebase_ios_cc_fuzz_test build rule, which
|
||||
# copies the provided dictionary and corpus to the destination directory. A
|
||||
# fuzzing target that tests xyz must be called 'xyz_fuzzer'. The copied
|
||||
# dictionary will be called 'xyz_fuzzer.dict' and its corpus
|
||||
# 'xyz_fuzzer_seed_corpus'. See cc_rules.cmake for more information.
|
||||
|
||||
if(NOT FUZZING)
|
||||
return()
|
||||
@@ -30,7 +30,7 @@ set(fuzzing_resources ${FIREBASE_SOURCE_DIR}/Firestore/Example/FuzzTests/Fuzzing
|
||||
# the serializer corpus by converting the text protos from the serializer
|
||||
# corpus in the iOS FuzzingResources to binary protos. This conversion requires
|
||||
# the protoc binary that is not currently available.
|
||||
cc_fuzz_test(
|
||||
firebase_ios_cc_fuzz_test(
|
||||
serializer_fuzzer
|
||||
DICTIONARY ${fuzzing_resources}/Serializer/serializer.dictionary
|
||||
CORPUS ${fuzzing_resources}/Serializer/Corpus/BinaryProtos
|
||||
@@ -40,7 +40,7 @@ cc_fuzz_test(
|
||||
|
||||
|
||||
# FieldPath fuzzing target.
|
||||
cc_fuzz_test(
|
||||
firebase_ios_cc_fuzz_test(
|
||||
fieldpath_fuzzer
|
||||
DICTIONARY ${fuzzing_resources}/FieldPath/fieldpath.dictionary
|
||||
CORPUS ${fuzzing_resources}/FieldPath/Corpus
|
||||
@@ -49,7 +49,7 @@ cc_fuzz_test(
|
||||
)
|
||||
|
||||
# ResourcePath fuzzing target. Use the same corpus and dict as FieldPath.
|
||||
cc_fuzz_test(
|
||||
firebase_ios_cc_fuzz_test(
|
||||
resourcepath_fuzzer
|
||||
DICTIONARY ${fuzzing_resources}/FieldPath/fieldpath.dictionary
|
||||
CORPUS ${fuzzing_resources}/FieldPath/Corpus
|
||||
@@ -58,7 +58,7 @@ cc_fuzz_test(
|
||||
)
|
||||
|
||||
# LevelDB fuzzer.
|
||||
cc_fuzz_test(
|
||||
firebase_ios_cc_fuzz_test(
|
||||
leveldb_fuzzer
|
||||
DICTIONARY ${fuzzing_resources}/LevelDb/leveldb.dictionary
|
||||
SOURCES leveldb_fuzzer.cc
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2019 Google
|
||||
# Copyright 2019 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -12,41 +12,43 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
if(APPLE)
|
||||
# Environment and Logger subspecs
|
||||
file(
|
||||
GLOB sources
|
||||
Environment/*.m
|
||||
Environment/third_party/*.m
|
||||
Logger/*.m
|
||||
)
|
||||
file(
|
||||
GLOB headers
|
||||
Environment/Public/*.h
|
||||
Environment/third_party/*.h
|
||||
Logger/Private/*.h
|
||||
Logger/Public/*.h
|
||||
)
|
||||
|
||||
podspec_version(version ${PROJECT_SOURCE_DIR}/GoogleUtilities.podspec)
|
||||
|
||||
objc_framework(
|
||||
GoogleUtilities
|
||||
SOURCES ${sources}
|
||||
HEADERS ${headers}
|
||||
VERSION ${version}
|
||||
INCLUDES
|
||||
Private
|
||||
Public
|
||||
${PROJECT_SOURCE_DIR}
|
||||
DEPENDS
|
||||
"-framework Foundation"
|
||||
EXCLUDE_FROM_ALL
|
||||
)
|
||||
|
||||
target_compile_options(
|
||||
GoogleUtilities
|
||||
PRIVATE
|
||||
-Wno-deprecated-declarations
|
||||
)
|
||||
if(NOT APPLE)
|
||||
return()
|
||||
endif()
|
||||
|
||||
# Environment and Logger subspecs
|
||||
file(
|
||||
GLOB sources
|
||||
Environment/*.m
|
||||
Environment/third_party/*.m
|
||||
Logger/*.m
|
||||
)
|
||||
file(
|
||||
GLOB headers
|
||||
Environment/Public/*.h
|
||||
Environment/third_party/*.h
|
||||
Logger/Private/*.h
|
||||
Logger/Public/*.h
|
||||
)
|
||||
|
||||
podspec_version(version ${PROJECT_SOURCE_DIR}/GoogleUtilities.podspec)
|
||||
|
||||
firebase_ios_objc_framework(
|
||||
GoogleUtilities
|
||||
SOURCES ${sources}
|
||||
HEADERS ${headers}
|
||||
VERSION ${version}
|
||||
INCLUDES
|
||||
Private
|
||||
Public
|
||||
${PROJECT_SOURCE_DIR}
|
||||
DEPENDS
|
||||
"-framework Foundation"
|
||||
EXCLUDE_FROM_ALL
|
||||
)
|
||||
|
||||
target_compile_options(
|
||||
GoogleUtilities
|
||||
PRIVATE
|
||||
-Wno-deprecated-declarations
|
||||
)
|
||||
+14
-12
@@ -1,4 +1,4 @@
|
||||
# Copyright 2019 Google
|
||||
# Copyright 2019 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -12,15 +12,17 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
if(APPLE)
|
||||
file(GLOB headers Public/*.h)
|
||||
|
||||
podspec_version(version ${PROJECT_SOURCE_DIR}/FirebaseAuthInterop.podspec)
|
||||
|
||||
objc_framework(
|
||||
FirebaseAuthInterop
|
||||
HEADERS ${headers}
|
||||
VERSION ${version}
|
||||
EXCLUDE_FROM_ALL
|
||||
)
|
||||
if(NOT APPLE)
|
||||
return()
|
||||
endif()
|
||||
|
||||
file(GLOB headers Public/*.h)
|
||||
|
||||
podspec_version(version ${PROJECT_SOURCE_DIR}/FirebaseAuthInterop.podspec)
|
||||
|
||||
firebase_ios_objc_framework(
|
||||
FirebaseAuthInterop
|
||||
HEADERS ${headers}
|
||||
VERSION ${version}
|
||||
EXCLUDE_FROM_ALL
|
||||
)
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2019 Google
|
||||
# Copyright 2019 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -12,16 +12,21 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
if(APPLE)
|
||||
file(GLOB headers Public/*.h)
|
||||
|
||||
podspec_version(version ${PROJECT_SOURCE_DIR}/FirebaseCoreDiagnosticsInterop.podspec)
|
||||
|
||||
objc_framework(
|
||||
FirebaseCoreDiagnosticsInterop
|
||||
HEADERS ${headers}
|
||||
VERSION ${version}
|
||||
INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
EXCLUDE_FROM_ALL
|
||||
)
|
||||
if(NOT APPLE)
|
||||
return()
|
||||
endif()
|
||||
|
||||
file(GLOB headers Public/*.h)
|
||||
|
||||
podspec_version(
|
||||
version
|
||||
${PROJECT_SOURCE_DIR}/FirebaseCoreDiagnosticsInterop.podspec
|
||||
)
|
||||
|
||||
firebase_ios_objc_framework(
|
||||
FirebaseCoreDiagnosticsInterop
|
||||
HEADERS ${headers}
|
||||
VERSION ${version}
|
||||
INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
EXCLUDE_FROM_ALL
|
||||
)
|
||||
@@ -1,28 +0,0 @@
|
||||
# Copyright 2019 Google
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
if(APPLE)
|
||||
# When building on Apple platforms, ranlib complains about "file has no
|
||||
# symbols". Unfortunately, most of our dependencies implement their
|
||||
# cross-platform build with preprocessor symbols so translation units that
|
||||
# don't target the current platform end up empty (and trigger this warning).
|
||||
#
|
||||
# Note this can't be set in compiler_setup.cmake because that is included
|
||||
# late so as not to affect our dependencies. These variables have to be set
|
||||
# early so that they do affect our dependencies.
|
||||
set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> Scr <TARGET> <LINK_FLAGS> <OBJECTS>")
|
||||
set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> Scr <TARGET> <LINK_FLAGS> <OBJECTS>")
|
||||
set(CMAKE_C_ARCHIVE_FINISH "<CMAKE_RANLIB> -no_warning_for_no_symbols -c <TARGET>")
|
||||
set(CMAKE_CXX_ARCHIVE_FINISH "<CMAKE_RANLIB> -no_warning_for_no_symbols -c <TARGET>")
|
||||
endif()
|
||||
+41
-40
@@ -1,4 +1,4 @@
|
||||
# Copyright 2017 Google
|
||||
# Copyright 2017 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -15,7 +15,7 @@
|
||||
include(CMakeParseArguments)
|
||||
include(FindASANDylib)
|
||||
|
||||
# cc_library(
|
||||
# firebase_ios_cc_library(
|
||||
# target
|
||||
# SOURCES sources...
|
||||
# DEPENDS libraries...
|
||||
@@ -24,18 +24,19 @@ include(FindASANDylib)
|
||||
#
|
||||
# Defines a new library target with the given target name, sources, and
|
||||
# dependencies.
|
||||
function(cc_library name)
|
||||
function(firebase_ios_cc_library name)
|
||||
set(flag EXCLUDE_FROM_ALL HEADER_ONLY)
|
||||
set(multi DEPENDS SOURCES)
|
||||
cmake_parse_arguments(ccl "${flag}" "" "${multi}" ${ARGN})
|
||||
|
||||
if(ccl_HEADER_ONLY)
|
||||
generate_dummy_source(${name} ccl_SOURCES)
|
||||
firebase_ios_generate_dummy_source(${name} ccl_SOURCES)
|
||||
endif()
|
||||
|
||||
maybe_remove_objc_sources(sources ${ccl_SOURCES})
|
||||
firebase_ios_maybe_remove_objc_sources(sources ${ccl_SOURCES})
|
||||
add_library(${name} ${sources})
|
||||
add_objc_flags(${name} ${sources})
|
||||
firebase_ios_add_objc_flags(${name} ${sources})
|
||||
|
||||
target_include_directories(
|
||||
${name}
|
||||
PUBLIC
|
||||
@@ -45,7 +46,7 @@ function(cc_library name)
|
||||
${FIREBASE_SOURCE_DIR}
|
||||
)
|
||||
|
||||
target_compile_options(${name} PRIVATE ${FIREBASE_CXX_FLAGS})
|
||||
target_compile_options(${name} PRIVATE ${FIREBASE_IOS_CXX_FLAGS})
|
||||
target_link_libraries(${name} PUBLIC ${ccl_DEPENDS})
|
||||
|
||||
if(ccl_EXCLUDE_FROM_ALL)
|
||||
@@ -56,7 +57,7 @@ function(cc_library name)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
# cc_select(
|
||||
# firebase_ios_cc_select(
|
||||
# interface_library
|
||||
# CONDITION1 implementation_library1
|
||||
# [CONDITION2 implementation_library2 ...]
|
||||
@@ -73,7 +74,7 @@ endfunction()
|
||||
#
|
||||
# If no condition matches, fails the configuration cycle with an error message
|
||||
# indicating that no suitable implementation was found.
|
||||
function(cc_select library_name)
|
||||
function(firebase_ios_cc_select library_name)
|
||||
add_library(${library_name} INTERFACE)
|
||||
|
||||
list(LENGTH ARGN length)
|
||||
@@ -97,7 +98,7 @@ function(cc_select library_name)
|
||||
message(FATAL_ERROR "Could not find implementation for ${library_name}")
|
||||
endfunction()
|
||||
|
||||
# cc_binary(
|
||||
# firebase_ios_cc_binary(
|
||||
# target
|
||||
# SOURCES sources...
|
||||
# DEPENDS libraries...
|
||||
@@ -106,14 +107,14 @@ endfunction()
|
||||
#
|
||||
# Defines a new executable target with the given target name, sources, and
|
||||
# dependencies.
|
||||
function(cc_binary name)
|
||||
function(firebase_ios_cc_binary name)
|
||||
set(flag EXCLUDE_FROM_ALL)
|
||||
set(multi DEPENDS SOURCES)
|
||||
cmake_parse_arguments(ccb "${flag}" "" "${multi}" ${ARGN})
|
||||
|
||||
maybe_remove_objc_sources(sources ${ccb_SOURCES})
|
||||
firebase_ios_maybe_remove_objc_sources(sources ${ccb_SOURCES})
|
||||
add_executable(${name} ${sources})
|
||||
add_objc_flags(${name} ${sources})
|
||||
firebase_ios_add_objc_flags(${name} ${sources})
|
||||
|
||||
target_compile_options(${name} PRIVATE ${FIREBASE_CXX_FLAGS})
|
||||
target_include_directories(${name} PRIVATE ${FIREBASE_SOURCE_DIR})
|
||||
@@ -127,7 +128,7 @@ function(cc_binary name)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
# cc_test(
|
||||
# firebase_ios_cc_test(
|
||||
# target
|
||||
# SOURCES sources...
|
||||
# DEPENDS libraries...
|
||||
@@ -135,7 +136,7 @@ endfunction()
|
||||
#
|
||||
# Defines a new test executable target with the given target name, sources, and
|
||||
# dependencies. Implicitly adds DEPENDS on GTest::GTest and GTest::Main.
|
||||
function(cc_test name)
|
||||
function(firebase_ios_cc_test name)
|
||||
if(NOT FIREBASE_IOS_BUILD_TESTS)
|
||||
return()
|
||||
endif()
|
||||
@@ -145,9 +146,9 @@ function(cc_test name)
|
||||
|
||||
list(APPEND cct_DEPENDS GTest::GTest GTest::Main)
|
||||
|
||||
maybe_remove_objc_sources(sources ${cct_SOURCES})
|
||||
firebase_ios_maybe_remove_objc_sources(sources ${cct_SOURCES})
|
||||
add_executable(${name} ${sources})
|
||||
add_objc_flags(${name} ${sources})
|
||||
firebase_ios_add_objc_flags(${name} ${sources})
|
||||
add_test(${name} ${name})
|
||||
|
||||
target_compile_options(${name} PRIVATE ${FIREBASE_CXX_FLAGS})
|
||||
@@ -155,7 +156,7 @@ function(cc_test name)
|
||||
target_link_libraries(${name} PRIVATE ${cct_DEPENDS})
|
||||
endfunction()
|
||||
|
||||
# cc_fuzz_test(
|
||||
# firebase_ios_cc_fuzz_test(
|
||||
# target
|
||||
# DICTIONARY dict_file
|
||||
# CORPUS corpus_dir
|
||||
@@ -171,19 +172,19 @@ endfunction()
|
||||
# and copies the CORPUS directory as '${target}_seed_corpus' after building the
|
||||
# target. This naming convention is critical for OSS Fuzz build script to
|
||||
# capture new fuzzing targets.
|
||||
function(cc_fuzz_test name)
|
||||
function(firebase_ios_cc_fuzz_test name)
|
||||
# Finds the fuzzer library that is either provided by OSS Fuzz or libFuzzer
|
||||
# that is manually built from sources.
|
||||
find_package(Fuzzer REQUIRED)
|
||||
|
||||
# Parse arguments of the cc_fuzz_test macro.
|
||||
# Parse arguments of the firebase_ios_cc_fuzz_test macro.
|
||||
set(single DICTIONARY CORPUS)
|
||||
set(multi DEPENDS SOURCES)
|
||||
cmake_parse_arguments(ccf "" "${single}" "${multi}" ${ARGN})
|
||||
|
||||
list(APPEND ccf_DEPENDS Fuzzer)
|
||||
|
||||
cc_binary(
|
||||
firebase_ios_cc_binary(
|
||||
${name}
|
||||
SOURCES ${ccf_SOURCES}
|
||||
DEPENDS ${ccf_DEPENDS}
|
||||
@@ -212,7 +213,7 @@ endfunction()
|
||||
#
|
||||
# Removes Objective-C/C++ sources from the given sources if not on an Apple
|
||||
# platform. Stores the resulting list in the variable named by `output_var`.
|
||||
function(maybe_remove_objc_sources output_var)
|
||||
function(firebase_ios_maybe_remove_objc_sources output_var)
|
||||
unset(sources)
|
||||
foreach(source ${ARGN})
|
||||
get_filename_component(ext ${source} EXT)
|
||||
@@ -224,11 +225,11 @@ function(maybe_remove_objc_sources output_var)
|
||||
set(${output_var} ${sources} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
# add_objc_flags(target sources...)
|
||||
# firebase_ios_add_objc_flags(target sources...)
|
||||
#
|
||||
# Adds OBJC_FLAGS to the compile options of the given target if any of the
|
||||
# sources have filenames that indicate they are Objective-C.
|
||||
function(add_objc_flags target)
|
||||
# Adds FIREBASE_IOS_OBJC_FLAGS to the compile options of the given target if
|
||||
# any of the sources have filenames that indicate they are Objective-C.
|
||||
function(firebase_ios_add_objc_flags target)
|
||||
set(_has_objc OFF)
|
||||
|
||||
foreach(source ${ARGN})
|
||||
@@ -242,7 +243,7 @@ function(add_objc_flags target)
|
||||
target_compile_options(
|
||||
${target}
|
||||
PRIVATE
|
||||
${OBJC_FLAGS}
|
||||
${FIREBASE_IOS_OBJC_FLAGS}
|
||||
)
|
||||
|
||||
target_link_libraries(
|
||||
@@ -253,23 +254,23 @@ function(add_objc_flags target)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
# add_alias(alias_target actual_target)
|
||||
# firebase_ios_add_alias(alias_target actual_target)
|
||||
#
|
||||
# Adds a library alias target `alias_target` if it does not already exist,
|
||||
# aliasing to the given `actual_target` target. This allows library dependencies
|
||||
# to be specified uniformly in terms of the targets found in various
|
||||
# find_package modules even if the library is being built internally.
|
||||
function(add_alias ALIAS_TARGET ACTUAL_TARGET)
|
||||
function(firebase_ios_add_alias ALIAS_TARGET ACTUAL_TARGET)
|
||||
if(NOT TARGET ${ALIAS_TARGET})
|
||||
add_library(${ALIAS_TARGET} ALIAS ${ACTUAL_TARGET})
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
# objc_framework(
|
||||
# firebase_ios_objc_framework(
|
||||
# target
|
||||
# HEADERS headers...
|
||||
# SOURCES sources...
|
||||
# INCLUDES inlude_directories...
|
||||
# INCLUDES include_directories...
|
||||
# DEFINES macros...
|
||||
# DEPENDS libraries...
|
||||
# [EXCLUDE_FROM_ALL]
|
||||
@@ -278,7 +279,7 @@ endfunction()
|
||||
# Defines a new framework target with the given target name and parameters.
|
||||
#
|
||||
# If SOURCES is not included, a dummy file will be generated.
|
||||
function(objc_framework target)
|
||||
function(firebase_ios_objc_framework target)
|
||||
if(APPLE)
|
||||
set(flag SHARED EXCLUDE_FROM_ALL)
|
||||
set(single VERSION)
|
||||
@@ -286,7 +287,7 @@ function(objc_framework target)
|
||||
cmake_parse_arguments(of "${flag}" "${single}" "${multi}" ${ARGN})
|
||||
|
||||
if (NOT cf_SOURCES)
|
||||
generate_dummy_source(${target} of_SOURCES)
|
||||
firebase_ios_generate_dummy_source(${target} of_SOURCES)
|
||||
endif()
|
||||
|
||||
if(of_SHARED)
|
||||
@@ -300,7 +301,7 @@ function(objc_framework target)
|
||||
${of_SOURCES}
|
||||
)
|
||||
|
||||
add_objc_flags(${target} ${of_SOURCES})
|
||||
firebase_ios_add_objc_flags(${target} ${of_SOURCES})
|
||||
|
||||
set_property(TARGET ${target} PROPERTY PUBLIC_HEADER ${of_HEADERS})
|
||||
set_property(TARGET ${target} PROPERTY FRAMEWORK ON)
|
||||
@@ -321,8 +322,8 @@ function(objc_framework target)
|
||||
INTERFACE
|
||||
-F${CMAKE_CURRENT_BINARY_DIR}
|
||||
PRIVATE
|
||||
${FIREBASE_CXX_FLAGS}
|
||||
${OBJC_FLAGS}
|
||||
${FIREBASE_IOS_CXX_FLAGS}
|
||||
${FIREBASE_IOS_OBJC_FLAGS}
|
||||
-fno-autolink
|
||||
-Wno-unused-parameter
|
||||
)
|
||||
@@ -363,7 +364,7 @@ function(objc_framework target)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
function(objc_test target)
|
||||
function(firebase_ios_objc_test target)
|
||||
if(NOT APPLE OR NOT FIREBASE_IOS_BUILD_TESTS)
|
||||
return()
|
||||
endif()
|
||||
@@ -379,7 +380,7 @@ function(objc_test target)
|
||||
${ot_SOURCES}
|
||||
)
|
||||
|
||||
add_objc_flags(
|
||||
firebase_ios_add_objc_flags(
|
||||
${target}
|
||||
${ot_SOURCES}
|
||||
)
|
||||
@@ -416,13 +417,13 @@ function(objc_test target)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
# generate_dummy_source(name, sources_list)
|
||||
# firebase_ios_generate_dummy_source(name, sources_list)
|
||||
#
|
||||
# Generates a dummy source file containing a single symbol, suitable for use as
|
||||
# a source file in when defining a header-only library.
|
||||
#
|
||||
# Appends the generated source file name to the list named by sources_list.
|
||||
macro(generate_dummy_source name sources_list)
|
||||
macro(firebase_ios_generate_dummy_source name sources_list)
|
||||
set(__empty_header_only_file "${CMAKE_CURRENT_BINARY_DIR}/${name}_header_only_empty.cc")
|
||||
|
||||
if(NOT EXISTS ${__empty_header_only_file})
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
# Copyright 2018 Google
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Adds cheap tests for various compilers
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||
set(CXX_CLANG TRUE)
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
set(CXX_GNU TRUE)
|
||||
endif()
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2018 Google
|
||||
# Copyright 2018 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -14,13 +14,19 @@
|
||||
|
||||
# C++ Compiler setup
|
||||
|
||||
include(compiler_id)
|
||||
|
||||
# We use C++11
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||
set(CXX_CLANG ON)
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
set(CXX_GNU ON)
|
||||
endif()
|
||||
|
||||
if(CMAKE_GENERATOR STREQUAL "Ninja")
|
||||
set(NINJA ON)
|
||||
endif()
|
||||
@@ -77,7 +83,7 @@ if(APPLE)
|
||||
# enabling modules and other clang extensions would apply even to regular C++
|
||||
# sources which is nonportable. Keep these flags separate to avoid misuse.
|
||||
set(
|
||||
OBJC_FLAGS
|
||||
FIREBASE_IOS_OBJC_FLAGS
|
||||
-Werror=deprecated-objc-isa-usage
|
||||
-Werror=non-modular-include-in-framework-module
|
||||
-Werror=objc-root-class
|
||||
@@ -117,9 +123,20 @@ if(MSVC)
|
||||
endif()
|
||||
|
||||
foreach(flag ${common_flags} ${c_flags})
|
||||
list(APPEND FIREBASE_C_FLAGS ${flag})
|
||||
list(APPEND FIREBASE_IOS_C_FLAGS ${flag})
|
||||
endforeach()
|
||||
|
||||
foreach(flag ${common_flags} ${cxx_flags})
|
||||
list(APPEND FIREBASE_CXX_FLAGS ${flag})
|
||||
list(APPEND FIREBASE_IOS_CXX_FLAGS ${flag})
|
||||
endforeach()
|
||||
|
||||
if(APPLE)
|
||||
# When building on Apple platforms, ranlib complains about "file has no
|
||||
# symbols". Unfortunately, most of our dependencies implement their
|
||||
# cross-platform build with preprocessor symbols so translation units that
|
||||
# don't target the current platform end up empty (and trigger this warning).
|
||||
set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> Scr <TARGET> <LINK_FLAGS> <OBJECTS>")
|
||||
set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> Scr <TARGET> <LINK_FLAGS> <OBJECTS>")
|
||||
set(CMAKE_C_ARCHIVE_FINISH "<CMAKE_RANLIB> -no_warning_for_no_symbols -c <TARGET>")
|
||||
set(CMAKE_CXX_ARCHIVE_FINISH "<CMAKE_RANLIB> -no_warning_for_no_symbols -c <TARGET>")
|
||||
endif()
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2018 Google
|
||||
# Copyright 2018 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -14,8 +14,6 @@
|
||||
|
||||
# Add fuzz testing options to the current build.
|
||||
|
||||
include(compiler_id)
|
||||
|
||||
option(FUZZING "Build for Fuzz Testing (local fuzzing and OSS Fuzz)" OFF)
|
||||
|
||||
# Assume OSS Fuzz if LIB_FUZZING_ENGINE environment variable is set. OSS Fuzz
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2018 Google
|
||||
# Copyright 2018 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -14,8 +14,6 @@
|
||||
|
||||
# Adds Sanitzer options to the current build.
|
||||
|
||||
include(compiler_id)
|
||||
|
||||
option(WITH_ASAN "Build with Address Sanitizer" OFF)
|
||||
# TODO(varconst): msan
|
||||
# Memory sanitizer is more complicated:
|
||||
|
||||
Reference in new issue
Block a user