aboutsummaryrefslogtreecommitdiffhomepage
path: root/Firestore/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Firestore/CMakeLists.txt')
-rw-r--r--Firestore/CMakeLists.txt31
1 files changed, 30 insertions, 1 deletions
diff --git a/Firestore/CMakeLists.txt b/Firestore/CMakeLists.txt
index 6c2a32e..9b90815 100644
--- a/Firestore/CMakeLists.txt
+++ b/Firestore/CMakeLists.txt
@@ -16,9 +16,24 @@ cmake_minimum_required(VERSION 2.8.11)
project(firestore)
set(FIREBASE_SOURCE_DIR "${CMAKE_CURRENT_LIST_DIR}/..")
-include("${FIREBASE_SOURCE_DIR}/cmake/utils.cmake")
+
+# CMAKE_INSTALL_PREFIX should be passed in to this build so that it can find
+# outputs of the superbuild. This is handled automatically if run via the
+# superbuild (i.e. by invoking cmake on the directory above this).
+#
+# If you want to use this project directly in e.g. CLion, make sure you
+# configure this.
+set(FIREBASE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}")
+
+list(INSERT CMAKE_MODULE_PATH 0 ${FIREBASE_SOURCE_DIR}/cmake)
+include(utils)
find_package(GTest REQUIRED)
+find_package(LevelDB REQUIRED)
+
+if(APPLE)
+ find_package(FirebaseCore REQUIRED)
+endif()
# We use C++11
set(CMAKE_CXX_STANDARD 11)
@@ -28,5 +43,19 @@ set(CMAKE_CXX_EXTENSIONS OFF)
# Fully qualified imports, project wide
include_directories("${FIREBASE_SOURCE_DIR}")
+if(APPLE)
+ # CMake has no special support for Objective-C as a distinct language but 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
+ -fobjc-arc
+ -fmodules
+ -fno-autolink
+ -F${FIREBASE_INSTALL_DIR}/Frameworks
+ )
+endif(APPLE)
+
enable_testing()
+add_subdirectory(third_party/abseil-cpp EXCLUDE_FROM_ALL)
add_subdirectory(core)