1# Copyright 2016 Google Inc. All rights reserved. 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15set(GTEST_TARGET external.googletest) 16set(GTEST_INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/${GTEST_TARGET}) 17 18set(GTEST_INCLUDE_DIRS ${GTEST_INSTALL_DIR}/include) 19include_directories(${GTEST_INCLUDE_DIRS}) 20 21set(GTEST_LIBRARIES gtest gmock) 22set(GTEST_MAIN_LIBRARIES gtest_main) 23set(GTEST_BOTH_LIBRARIES ${GTEST_LIBRARIES} ${GTEST_MAIN_LIBRARIES}) 24 25foreach(lib IN LISTS GTEST_BOTH_LIBRARIES) 26 if (MSVC) 27 if (CMAKE_BUILD_TYPE MATCHES Debug) 28 set(LIB_PATH ${GTEST_INSTALL_DIR}/lib/${lib}d.lib) 29 else() 30 set(LIB_PATH ${GTEST_INSTALL_DIR}/lib/${lib}.lib) 31 endif() 32 else() 33 set(LIB_PATH ${GTEST_INSTALL_DIR}/lib/lib${lib}.a) 34 endif() 35 list(APPEND GTEST_BUILD_BYPRODUCTS ${LIB_PATH}) 36 37 add_library(${lib} STATIC IMPORTED) 38 set_property(TARGET ${lib} PROPERTY IMPORTED_LOCATION 39 ${LIB_PATH}) 40 add_dependencies(${lib} ${GTEST_TARGET}) 41endforeach(lib) 42 43include (ExternalProject) 44ExternalProject_Add(${GTEST_TARGET} 45 PREFIX ${GTEST_TARGET} 46 GIT_REPOSITORY https://github.com/google/googletest.git 47 GIT_TAG release-1.12.0 48 UPDATE_COMMAND "" 49 CMAKE_CACHE_ARGS -DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER} 50 -DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER} 51 CMAKE_ARGS ${CMAKE_ARGS} 52 -DCMAKE_INSTALL_PREFIX=${GTEST_INSTALL_DIR} 53 -DCMAKE_INSTALL_LIBDIR=lib 54 BUILD_BYPRODUCTS ${GTEST_BUILD_BYPRODUCTS} 55) 56