aboutsummaryrefslogtreecommitdiffhomepage
path: root/Firestore/core/src/firebase/firestore/util/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Firestore/core/src/firebase/firestore/util/CMakeLists.txt')
-rw-r--r--Firestore/core/src/firebase/firestore/util/CMakeLists.txt67
1 files changed, 66 insertions, 1 deletions
diff --git a/Firestore/core/src/firebase/firestore/util/CMakeLists.txt b/Firestore/core/src/firebase/firestore/util/CMakeLists.txt
index ce81363..3028a95 100644
--- a/Firestore/core/src/firebase/firestore/util/CMakeLists.txt
+++ b/Firestore/core/src/firebase/firestore/util/CMakeLists.txt
@@ -12,8 +12,73 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+# firebase_firestore_util is the interface of this module. The rest of the
+# libraries in here are an implementation detail of making this a
+# mutli-platform build.
+
+add_library(
+ firebase_firestore_util_base
+ secure_random_arc4random.cc
+ string_printf.cc
+)
+target_link_libraries(
+ firebase_firestore_util_base
+ PUBLIC
+ absl_base
+)
+
+# stdio-dependent bits can be built and tested everywhere
+add_library(
+ firebase_firestore_util_stdio
+ assert_stdio.cc
+ log_stdio.cc
+)
+target_link_libraries(
+ firebase_firestore_util_stdio
+ PUBLIC
+ firebase_firestore_util_base
+)
+
+# apple-dependent bits can only built and tested on apple plaforms
+if(APPLE)
+ add_library(
+ firebase_firestore_util_apple
+ assert_apple.mm
+ log_apple.mm
+ )
+ target_compile_options(
+ firebase_firestore_util_apple
+ PRIVATE
+ ${OBJC_FLAGS}
+ )
+ target_link_libraries(
+ firebase_firestore_util_apple
+ PUBLIC
+ FirebaseCore
+ )
+endif(APPLE)
+
add_library(
firebase_firestore_util
autoid.cc
- secure_random_arc4random.cc
)
+
+# Export a dependency on the correct logging library for this platform. All
+# buildable libraries are built and tested but only the best fit is exported.
+if(APPLE)
+ target_link_libraries(
+ firebase_firestore_util
+ PUBLIC
+ firebase_firestore_util_apple
+ firebase_firestore_util_base
+ )
+
+else(NOT APPLE)
+ target_link_libraries(
+ firebase_firestore_util
+ PUBLIC
+ firebase_firestore_util_stdio
+ firebase_firestore_util_base
+ )
+
+endif(APPLE)