diff options
Diffstat (limited to 'Firestore/CMakeLists.txt')
-rw-r--r-- | Firestore/CMakeLists.txt | 31 |
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) |