aboutsummaryrefslogtreecommitdiffhomepage
path: root/cmake
diff options
context:
space:
mode:
authorGravatar Paul Beusterien <paulbeusterien@google.com>2018-07-06 09:37:23 -0700
committerGravatar GitHub <noreply@github.com>2018-07-06 09:37:23 -0700
commit98b6eef71eac368692ae249f056a75d89ed0350d (patch)
tree0a4a16612d7bbb5eeba981b40564db3c2fc66833 /cmake
parenta3f792f3f093e913be5823cb4df9dfeac7612a52 (diff)
Split GoogleUtilities from FirebaseCore (#1370)
Diffstat (limited to 'cmake')
-rw-r--r--cmake/FindGoogleUtilities.cmake56
-rw-r--r--cmake/external/GoogleUtilities.cmake23
2 files changed, 79 insertions, 0 deletions
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()