tools/setup-build: Into the 'active' symlink directory
Previously we'd generate the build files into the symlink target directory. CMake gets grumpy if the cache is invalidated, and you're building in the 'active' directory, which does not match the directory path it remembered. Also: Enable ccache if found on PATH Change-Id: I7e0dc93516b2c59d6bf346fc943acea3d0021087 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/88311 Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: Antonio Maiorano <amaiorano@google.com> Commit-Queue: Ben Clayton <bclayton@google.com>
This commit is contained in:
parent
665c07ac6a
commit
446166c81b
|
@ -32,9 +32,10 @@ function show_usage() {
|
||||||
function generate() {
|
function generate() {
|
||||||
CMD=$1
|
CMD=$1
|
||||||
pushd "$ROOT_DIR" > /dev/null
|
pushd "$ROOT_DIR" > /dev/null
|
||||||
${CMD}
|
mkdir -p "out/$BUILD_DIR"
|
||||||
rm -fr "out/active" || true
|
rm -fr "out/active" || true
|
||||||
ln -s "$BUILD_DIR" "out/active"
|
ln -s "$BUILD_DIR" "out/active"
|
||||||
|
${CMD}
|
||||||
popd > /dev/null
|
popd > /dev/null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -42,10 +43,10 @@ case $BUILD_SYSTEM in
|
||||||
"gn")
|
"gn")
|
||||||
case $BUILD_TYPE in
|
case $BUILD_TYPE in
|
||||||
"debug")
|
"debug")
|
||||||
generate "gn gen out/${BUILD_DIR} --args=is_debug=true"
|
generate "gn gen out/active --args=is_debug=true"
|
||||||
;;
|
;;
|
||||||
"release")
|
"release")
|
||||||
generate "gn gen out/${BUILD_DIR}"
|
generate "gn gen out/active"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "invalid build type '${BUILD_TYPE}'"
|
echo "invalid build type '${BUILD_TYPE}'"
|
||||||
|
@ -54,12 +55,16 @@ case $BUILD_SYSTEM in
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
"cmake")
|
"cmake")
|
||||||
|
CMAKE_FLAGS=""
|
||||||
|
if [[ -x $(command -v ccache) ]]; then
|
||||||
|
CMAKE_FLAGS+="-DCMAKE_CXX_COMPILER_LAUNCHER=ccache"
|
||||||
|
fi
|
||||||
case $BUILD_TYPE in
|
case $BUILD_TYPE in
|
||||||
"debug")
|
"debug")
|
||||||
generate "cmake -S . -B out/$BUILD_DIR -GNinja -DCMAKE_BUILD_TYPE=Debug"
|
generate "cmake -S . -B out/active -GNinja -DCMAKE_BUILD_TYPE=Debug ${CMAKE_FLAGS}"
|
||||||
;;
|
;;
|
||||||
"release")
|
"release")
|
||||||
generate "cmake -S . -B out/$BUILD_DIR -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo"
|
generate "cmake -S . -B out/active -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo ${CMAKE_FLAGS}"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "invalid build type '${BUILD_TYPE}'"
|
echo "invalid build type '${BUILD_TYPE}'"
|
||||||
|
|
Loading…
Reference in New Issue