skia2/infra/cmake/build_skia.sh
Kevin Lubick 9a2bb09202 CMake: distinguish between file and dir copies by presence of '.' in src path
ANGLE's build requires a file copy. Nema's build requires a dir copy. CMake
uses a different command for each. gn does not distinguish which. We make
a guess that happens to work for these two use cases based on the whether
the base file name of the src contains a '.'


Change-Id: I3503fd9d632abda3f8f952d0eef964019d932bea
Reviewed-on: https://skia-review.googlesource.com/c/188626
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-02-01 18:58:46 +00:00

36 lines
1.0 KiB
Bash
Executable File

#!/bin/bash
# Copyright 2019 Google LLC
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# This assumes it is being run inside a docker container of emsdk-base
# and a Skia checkout has been mounted at /SRC and the output directory
# has been mounted at /OUT
# For example:
# 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
set -xe
#BASE_DIR is the dir this script is in ($SKIA_ROOT/infra/cmake)
BASE_DIR=`cd $(dirname ${BASH_SOURCE[0]}) && pwd`
SKIA_DIR=`cd $BASE_DIR/../.. && pwd`
# Delete everything to do a clean build
rm -rf $SKIA_DIR/out/CMAKE
mkdir --mode=0777 -p $SKIA_DIR/out/CMAKE
cd $SKIA_DIR
gn gen out/CMAKE --args='is_debug=false' --ide=json --json-ide-script=../../gn/gn_to_cmake.py
cd $SKIA_DIR/out/CMAKE
cmake -G"CodeBlocks - Unix Makefiles" .
cmake --build . --parallel 8
# Copy build products, ignoring the warning
# for not copying directories.
cp $SKIA_DIR/out/CMAKE/* /OUT || true
chmod +rw /OUT/*