1cb93a386Sopenharmony_ci#!/bin/bash
2cb93a386Sopenharmony_ci# Copyright 2019 Google LLC
3cb93a386Sopenharmony_ci#
4cb93a386Sopenharmony_ci# Use of this source code is governed by a BSD-style license that can be
5cb93a386Sopenharmony_ci# found in the LICENSE file.
6cb93a386Sopenharmony_ci
7cb93a386Sopenharmony_ci# This assumes it is being run inside a docker container of cmake-release
8cb93a386Sopenharmony_ci# and a Skia checkout has been mounted at /SRC and the output directory
9cb93a386Sopenharmony_ci# has been mounted at /OUT
10cb93a386Sopenharmony_ci
11cb93a386Sopenharmony_ci# For example:
12cb93a386Sopenharmony_ci# docker run -v $SKIA_ROOT:/SRC -v /tmp/cmake_out:/OUT gcr.io/skia-public/cmake-release:3.13.1_v1 /SRC/infra/cmake/build_skia.sh
13cb93a386Sopenharmony_ci
14cb93a386Sopenharmony_ci
15cb93a386Sopenharmony_ciset -xe
16cb93a386Sopenharmony_ci
17cb93a386Sopenharmony_ci#BASE_DIR is the dir this script is in ($SKIA_ROOT/infra/cmake)
18cb93a386Sopenharmony_ciBASE_DIR=`cd $(dirname ${BASH_SOURCE[0]}) && pwd`
19cb93a386Sopenharmony_ciSKIA_DIR=`cd ${BASE_DIR}/../.. && pwd`
20cb93a386Sopenharmony_ci
21cb93a386Sopenharmony_ciOUT="$(mktemp -d)/CMAKE"
22cb93a386Sopenharmony_ci
23cb93a386Sopenharmony_cicd ${SKIA_DIR}
24cb93a386Sopenharmony_ci./bin/fetch-gn
25cb93a386Sopenharmony_cign gen ${OUT} --args='is_debug=false' --ide=json --json-ide-script=$SKIA_DIR/gn/gn_to_cmake.py
26cb93a386Sopenharmony_ci
27cb93a386Sopenharmony_cicd ${OUT}
28cb93a386Sopenharmony_ciexport CC=/usr/local/bin/clang
29cb93a386Sopenharmony_ciexport CXX=/usr/local/bin/clang++
30cb93a386Sopenharmony_cicmake -G"CodeBlocks - Unix Makefiles" .
31cb93a386Sopenharmony_cicmake --build . --parallel 8
32cb93a386Sopenharmony_ci
33cb93a386Sopenharmony_ci# Copy build products, ignoring the warning
34cb93a386Sopenharmony_ci# for not copying directories.
35cb93a386Sopenharmony_cicp ${OUT}/* /OUT || true
36cb93a386Sopenharmony_cichmod +rw /OUT/*
37