diff options
author | Gil <mcg@google.com> | 2018-01-03 07:00:54 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-03 07:00:54 -0800 |
commit | 5a6155f6a38a2d5515667406a5926c39753627e5 (patch) | |
tree | da3395a715b01841cd8ae9d52d85cbfb6d0049b8 /Firestore/CMakeLists.txt | |
parent | 727edcead2b7620dcd0c586352486370e15ffa45 (diff) |
Build and test both C++ loggers where possible (#595)
* Rename FIREBASE_BINARY_DIR to FIREBASE_INSTALL_DIR
Make this consistent with the outer superbuild and also make the
association with CMAKE_INSTALL_PREFIX more obvious.
* Build and test log_stdio separate from the rest of util
This is in preparation for adding a test for log_apple
* Build and test log_apple under CMake
Also add notes about how FIRLogger's debug mode can break this test
* Refactor log_apple to cut down duplicate switch statements
There's also a slight reduction in final binary size.
Diffstat (limited to 'Firestore/CMakeLists.txt')
-rw-r--r-- | Firestore/CMakeLists.txt | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/Firestore/CMakeLists.txt b/Firestore/CMakeLists.txt index ba9998d..cffd015 100644 --- a/Firestore/CMakeLists.txt +++ b/Firestore/CMakeLists.txt @@ -16,7 +16,14 @@ cmake_minimum_required(VERSION 2.8.11) project(firestore) set(FIREBASE_SOURCE_DIR "${CMAKE_CURRENT_LIST_DIR}/..") -set(FIREBASE_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/..") + +# 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) @@ -36,5 +43,18 @@ 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(core) |