From 98b6eef71eac368692ae249f056a75d89ed0350d Mon Sep 17 00:00:00 2001 From: Paul Beusterien Date: Fri, 6 Jul 2018 09:37:23 -0700 Subject: Split GoogleUtilities from FirebaseCore (#1370) --- cmake/FindGoogleUtilities.cmake | 56 ++++++++++++++++++++++++++++++++++++ cmake/external/GoogleUtilities.cmake | 23 +++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 cmake/FindGoogleUtilities.cmake create mode 100644 cmake/external/GoogleUtilities.cmake (limited to 'cmake') diff --git a/cmake/FindGoogleUtilities.cmake b/cmake/FindGoogleUtilities.cmake new file mode 100644 index 0000000..37f7361 --- /dev/null +++ b/cmake/FindGoogleUtilities.cmake @@ -0,0 +1,56 @@ +# 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. + +find_library( + GoogleUtilities_LIBRARY + GoogleUtilities + PATHS ${FIREBASE_INSTALL_DIR}/Frameworks +) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args( + GoogleUtilities + DEFAULT_MSG + GoogleUtilities_LIBRARY +) + +if(GoogleUtilities_FOUND) + # Emulate CocoaPods behavior which makes all headers available unqualified. + set( + GoogleUtilities_INCLUDE_DIRS + ${GoogleUtilities_LIBRARY}/Headers + ${GoogleUtilities_LIBRARY}/PrivateHeaders + ) + + set( + GoogleUtilities_LIBRARIES + ${GoogleUtilities_LIBRARY} + "-framework Foundation" + ) + + if(NOT TARGET GoogleUtilities) + # Add frameworks as INTERFACE libraries rather than IMPORTED so that + # framework behavior is preserved. + add_library(GoogleUtilities INTERFACE) + + set_property( + TARGET GoogleUtilities APPEND PROPERTY + INTERFACE_INCLUDE_DIRECTORIES ${GoogleUtilities_INCLUDE_DIRS} + ) + set_property( + TARGET GoogleUtilities APPEND PROPERTY + INTERFACE_LINK_LIBRARIES ${GoogleUtilities_LIBRARIES} + ) + endif() +endif(GoogleUtilities_FOUND) diff --git a/cmake/external/GoogleUtilities.cmake b/cmake/external/GoogleUtilities.cmake new file mode 100644 index 0000000..af90001 --- /dev/null +++ b/cmake/external/GoogleUtilities.cmake @@ -0,0 +1,23 @@ +# 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(xcodebuild) + +if(APPLE) + # GoogleUtilities is only available as a CocoaPod build. + xcodebuild(GoogleUtilities) +else() + # On non-Apple platforms, there's no way to build GoogleUtilities. + add_custom_target(GoogleUtilities) +endif() -- cgit v1.2.3