#!/usr/bin/env bash # # Copyright (c) Facebook, Inc. and its affiliates. # All rights reserved. # # This source code is licensed under the BSD-style license found in the # LICENSE file in the root directory of this source tree. set -e mkdir -p build/local CMAKE_ARGS=() # CMake-level configuration CMAKE_ARGS+=("-DCMAKE_BUILD_TYPE=Release") CMAKE_ARGS+=("-DCMAKE_POSITION_INDEPENDENT_CODE=ON") # If Ninja is installed, prefer it to Make if [ -x "$(command -v ninja)" ] then CMAKE_ARGS+=("-GNinja") fi CMAKE_ARGS+=("-DXNNPACK_LIBRARY_TYPE=static") CMAKE_ARGS+=("-DXNNPACK_BUILD_BENCHMARKS=ON") CMAKE_ARGS+=("-DXNNPACK_BUILD_TESTS=ON") # Use-specified CMake arguments go last to allow overridding defaults CMAKE_ARGS+=($@) cd build/local && cmake ../.. \ "${CMAKE_ARGS[@]}" # Cross-platform parallel build if [ "$(uname)" == "Darwin" ] then cmake --build . -- "-j$(sysctl -n hw.ncpu)" else cmake --build . -- "-j$(nproc)" fi