Files
firebase-ios-sdk/cmake/podspec_rules.cmake
T
Gil 766e8723d7 Rework CMake builds of Firebase Frameworks (#3499)
* Add sed scripts that find the versions of podspecs

... without fully loading those via Pod::Spec, which is slow.

* Avoid compiling with different visibility settings

... in different translation units. This removes warnings about linking
googletest causing weak symbols becoming strong.

* Add CMake objc_framework

* Define FirebaseCore via objc_framework

* Define FIRCoreDiagnosticsInterop via objc_framework

* Define GoogleUtilities with objc_framework

* Define FirebaseCoreDiagnosticsInterop via objc_framework

* Define FirebaseAuthInterop via objc_framework

* Don't duplicate Core's dependency information everywhere

* Remove podspec_framework

* Fix compilation error with -Wstrict-prototyes
2019-08-05 16:46:28 -07:00

46 lines
1.3 KiB
CMake

# Copyright 2018 Google
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
include(CMakeParseArguments)
macro(podspec_version VARIABLE PODSPEC_FILE)
execute_process(
COMMAND
sed -n
-f ${PROJECT_SOURCE_DIR}/cmake/podspec_version.sed
${PODSPEC_FILE}
OUTPUT_VARIABLE ${VARIABLE}
OUTPUT_STRIP_TRAILING_WHITESPACE
)
endmacro()
macro(firebase_version VARIABLE PODSPEC_FILE)
execute_process(
COMMAND
sed -n
-f ${PROJECT_SOURCE_DIR}/cmake/firebase_version.sed
${PODSPEC_FILE}
OUTPUT_VARIABLE ${VARIABLE}
OUTPUT_STRIP_TRAILING_WHITESPACE
)
endmacro()
function(podspec_prep_headers FRAMEWORK_NAME)
file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/Headers/${FRAMEWORK_NAME})
execute_process(
COMMAND
ln -sf ${ARGN} ${PROJECT_BINARY_DIR}/Headers/${FRAMEWORK_NAME}
)
endfunction()