From 5a6155f6a38a2d5515667406a5926c39753627e5 Mon Sep 17 00:00:00 2001 From: Gil Date: Wed, 3 Jan 2018 07:00:54 -0800 Subject: 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. --- Firestore/CMakeLists.txt | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'Firestore/CMakeLists.txt') 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) -- cgit v1.2.3