aboutsummaryrefslogtreecommitdiffhomepage
path: root/Firestore/core/src/firebase/firestore/util/CMakeLists.txt
diff options
context:
space:
mode:
authorGravatar Michael Lehenbauer <mikelehen@google.com>2018-01-09 12:57:21 -0800
committerGravatar Michael Lehenbauer <mikelehen@google.com>2018-01-09 12:57:21 -0800
commitaa00c7444982de08b21604965a708d1cad5188f7 (patch)
tree166325a14805321cbf5045fdd4a52dd634747218 /Firestore/core/src/firebase/firestore/util/CMakeLists.txt
parent2c6682c66ea7b86b3b7cb52e623086b4184d500a (diff)
parentc18af34fca72b5721cab4e3b26da7469df8fcc6b (diff)
Merge branch 'master' into mikelehen/merge-master-to-firestore-api-changes
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)