1# Copyright 2020 Google LLC 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# https://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 15if (NOT EXISTS ${TOOLS_INSTALL_PREFIX}/bin/protoc) 16 set(PKG_BUILD_ROOT ${TOOLS_BUILD_ROOT}/protobuf) 17 set(PKG_SRC_ROOT ${CMAKE_SOURCE_DIR}/third_party/protobuf) 18 execute_process( 19 COMMAND mkdir -p ${PKG_BUILD_ROOT} 20 ) 21 execute_process( 22 COMMAND cmake ${PKG_SRC_ROOT}/cmake 23 WORKING_DIRECTORY ${PKG_BUILD_ROOT} 24 ) 25 execute_process( 26 COMMAND make -j${N_CPUS} 27 WORKING_DIRECTORY ${PKG_BUILD_ROOT} 28 ) 29 execute_process( 30 COMMAND make check 31 WORKING_DIRECTORY ${PKG_BUILD_ROOT} 32 RESULT_VARIABLE test_exit_code 33 ERROR_QUIET 34 ) 35 if (NOT ${test_exit_code} EQUAL "0") 36 message(FATAL_ERROR "Protobuf tests failed; can't use this protobuf") 37 endif() 38 execute_process( 39 COMMAND /bin/bash -c "DESTDIR=${TOOLS_INSTALL_ROOT} make install" 40 WORKING_DIRECTORY ${PKG_BUILD_ROOT} 41 ) 42endif() 43