From 47c1e4181d09de3d8cd6e77afbb67dfa97fc148b Mon Sep 17 00:00:00 2001 From: =?utf8?q?=EB=B0=95=EC=A2=85=ED=98=84/On-Device=20Lab=28SR=29/Staff?= =?utf8?q?=20Engineer/=EC=82=BC=EC=84=B1=EC=A0=84=EC=9E=90?= Date: Wed, 13 Mar 2019 15:19:57 +0900 Subject: [PATCH] Allow explicit control over CMake with configure command (#4702) This commit updates "nnfw configure" to pass all of its command-line arguments to CMake, which allows users to control all the CMake options explicitly. Signed-off-by: Jonghyun Park --- scripts/command/configure | 67 ++++------------------------------------------- 1 file changed, 5 insertions(+), 62 deletions(-) diff --git a/scripts/command/configure b/scripts/command/configure index 24c4f0d..152a520 100644 --- a/scripts/command/configure +++ b/scripts/command/configure @@ -2,68 +2,11 @@ source "${NNFW_SCRIPT_PATH}/config/build.configuration" -# Set target platform using environment variable -# TODO: use argument instead of environment variable -TARGET_ARCH=${TARGET_ARCH:-$(uname -p)} -BUILD_TYPE=${BUILD_TYPE:-Debug} -CROSS_BUILD=${CROSS_BUILD:-0} -HOST_OS=${HOST_OS:-linux} -TARGET_OS=${TARGET_OS:-linux} -## TODO: fix obs build break -OBS_BUILD=${OBS_BUILD:-OFF} -COVERAGE_BUILD=${COVERAGE_BUILD:-0} -BENCHMARK_ACL_BUILD=${BENCHMARK_ACL_BUILD:-0} -OPTIONS=${OPTIONS:-} +BUILD_PATH="${NNFW_BUILD_DIR:-${BUILD_ALIAS}}" +INSTALL_PATH="${NNFW_INSTALL_PREFIX:-${INSTALL_ALIAS}}" -# make TARGET and TYPE to lowercase -TARGET_ARCH_LC="$(echo ${TARGET_ARCH} | tr A-Z a-z)" -BUILD_TYPE_LC="$(echo ${BUILD_TYPE} | tr A-Z a-z)" - -if [ "${TARGET_ARCH_LC}" == *"arm64"* ]; then - # For now Android is the only option for arm64 - TARGET_OS=android -fi - -# Todo: we may set CROSS_BUILD=1 when ROOTFS_DIR is given -# the toolchain file, only for cross build -if [ "${CROSS_BUILD}" == "1" ]; then - TOOLCHAIN_FILE="cmake/config/config_${TARGET_ARCH_LC}-${TARGET_OS}.cmake" - OPTION_TOOLCHAIN="-DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_FILE}" -else - OPTION_TOOLCHAIN= -fi - -if [ "${COVERAGE_BUILD}" == "1" ]; then - OPTIONS+=" -DCOVERAGE_BUILD=1" -else - OPTIONS+=" -DCOVERAGE_BUILD=0" -fi - -if [ "${BENCHMARK_ACL_BUILD}" == "1" ]; then - OPTIONS+=" -DBUILD_BENCHMARK_ACL=1" -fi - -WORK_FOLDER=${TARGET_ARCH_LC}-${TARGET_OS}.${BUILD_TYPE_LC} -WORK_PATH=${NNFW_PROJECT_PATH}/${WORKSPACE_RPATH}/${WORK_FOLDER} -BUILD_PATH=${WORK_PATH}/obj -INSTALL_PATH=${NNFW_INSTALL_PATH:-${WORK_PATH}/out} - -mkdir -vp ${BUILD_PATH} -mkdir -vp ${INSTALL_PATH} -rm -rf ${BUILD_ALIAS} -rm -rf ${INSTALL_ALIAS} -ln -s ${BUILD_PATH} ${BUILD_ALIAS} -ln -s ${INSTALL_PATH} ${INSTALL_ALIAS} +# Create "BUILD_PATH" +mkdir -p "${BUILD_PATH}" cd "${BUILD_PATH}" - -cmake \ - -B${BUILD_PATH} -H${NNFW_PROJECT_PATH} \ - -DCMAKE_INSTALL_PREFIX=${INSTALL_PATH} \ - -DCMAKE_BUILD_TYPE=${BUILD_TYPE_LC} -DTARGET_ARCH=${TARGET_ARCH_LC} \ - -DHOST_OS=${HOST_OS} \ - -DTARGET_OS=${TARGET_OS} \ - -DOBS_BUILD=${OBS_BUILD} \ - ${OPTION_TOOLCHAIN} \ - ${OPTIONS} \ - "${NNFW_PROJECT_PATH}" "$@" +cmake "${NNFW_PROJECT_PATH}" -DCMAKE_INSTALL_PREFIX="${INSTALL_PATH}" "$@" -- 2.7.4