1*ec63e07aSXin Li# Copyright 2022 Google LLC 2*ec63e07aSXin Li# 3*ec63e07aSXin Li# Licensed under the Apache License, Version 2.0 (the "License"); 4*ec63e07aSXin Li# you may not use this file except in compliance with the License. 5*ec63e07aSXin Li# You may obtain a copy of the License at 6*ec63e07aSXin Li# 7*ec63e07aSXin Li# https://www.apache.org/licenses/LICENSE-2.0 8*ec63e07aSXin Li# 9*ec63e07aSXin Li# Unless required by applicable law or agreed to in writing, software 10*ec63e07aSXin Li# distributed under the License is distributed on an "AS IS" BASIS, 11*ec63e07aSXin Li# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*ec63e07aSXin Li# See the License for the specific language governing permissions and 13*ec63e07aSXin Li# limitations under the License. 14*ec63e07aSXin Li 15*ec63e07aSXin Liinclude(FetchContent) 16*ec63e07aSXin Li 17*ec63e07aSXin Liif(CMAKE_VERSION VERSION_LESS 3.14) 18*ec63e07aSXin Li # Simple implementation for CMake 3.13, which is missing this. 19*ec63e07aSXin Li macro(FetchContent_MakeAvailable) 20*ec63e07aSXin Li foreach(content_name IN ITEMS ${ARGV}) 21*ec63e07aSXin Li string(TOLOWER ${content_name} content_name_lower) 22*ec63e07aSXin Li FetchContent_GetProperties(${content_name}) 23*ec63e07aSXin Li if(NOT ${content_name_lower}_POPULATED) 24*ec63e07aSXin Li FetchContent_Populate(${content_name}) 25*ec63e07aSXin Li if(EXISTS ${${content_name_lower}_SOURCE_DIR}/CMakeLists.txt) 26*ec63e07aSXin Li add_subdirectory(${${content_name_lower}_SOURCE_DIR} 27*ec63e07aSXin Li ${${content_name_lower}_BINARY_DIR}) 28*ec63e07aSXin Li endif() 29*ec63e07aSXin Li endif() 30*ec63e07aSXin Li endforeach() 31*ec63e07aSXin Li endmacro() 32*ec63e07aSXin Liendif() 33