From d579dbbc3f632c5cbb254ee6687a037116c62e96 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=EB=B0=95=EC=A2=85=ED=98=84/=EB=8F=99=EC=9E=91=EC=A0=9C?= =?utf8?q?=EC=96=B4Lab=28SR=29/Senior=20Engineer/=EC=82=BC=EC=84=B1?= =?utf8?q?=EC=A0=84=EC=9E=90?= Date: Mon, 19 Mar 2018 08:26:24 +0900 Subject: [PATCH] Add basic configure & build tools (#11) * Add basic configure & build tools This commit introduces 'nncc' script which eases CMake configure and build. Signed-off-by: Jonghyun Park * Fix a typo (NNCC_SCIPRT_RPATH -> NNCC_SCRIPT_RPATH) --- .gitignore | 1 + nncc | 28 ++++++++++++++++++++++++++++ scripts/build.configuration | 1 + scripts/command/build | 12 ++++++++++++ scripts/command/configure | 10 ++++++++++ 5 files changed, 52 insertions(+) create mode 100644 .gitignore create mode 100755 nncc create mode 100644 scripts/build.configuration create mode 100644 scripts/command/build create mode 100644 scripts/command/configure diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/build diff --git a/nncc b/nncc new file mode 100755 index 0000000..8b1753a --- /dev/null +++ b/nncc @@ -0,0 +1,28 @@ +#!/bin/bash + +NNCC_SCRIPT_RPATH="scripts" +NNCC_COMMAND_RPATH="${NNCC_SCRIPT_RPATH}/command" + +NNCC_PROJECT_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +NNCC_SCRIPT_PATH="${NNCC_PROJECT_PATH}/${NNCC_SCRIPT_RPATH}" + +# Get command from command-line +COMMAND=$1; shift + +if [[ -z "${COMMAND}" ]]; then + echo "USAGE: $0 [COMMAND] ..." + exit 255 +fi + +COMMAND_FILE="${NNCC_PROJECT_PATH}/${NNCC_COMMAND_RPATH}/${COMMAND}" + +if [[ ! -f "${COMMAND_FILE}" ]]; then + echo "ERROR: '${COMMAND}' is not supported" + # TODO Show available commands + exit 255 +fi + +export NNCC_PROJECT_PATH +export NNCC_SCRIPT_PATH + +source "${COMMAND_FILE}" "$@" diff --git a/scripts/build.configuration b/scripts/build.configuration new file mode 100644 index 0000000..d22c92d --- /dev/null +++ b/scripts/build.configuration @@ -0,0 +1 @@ +BUILD_WORKSPACE_RPATH="build" diff --git a/scripts/command/build b/scripts/command/build new file mode 100644 index 0000000..cdbc3e5 --- /dev/null +++ b/scripts/command/build @@ -0,0 +1,12 @@ +#!/bin/bash + +source "${NNCC_SCRIPT_PATH}/build.configuration" + +BUILD_WORKSPACE_PATH="${NNCC_PROJECT_PATH}/${BUILD_WORKSPACE_RPATH}" + +if [[ ! -d "${BUILD_WORKSPACE_PATH}" ]]; then + echo "'${BUILD_WORKSPACE_RPATH}' does not exist. Please run 'configure' first" + exit 255 +fi +cd "${BUILD_WORKSPACE_PATH}" +make diff --git a/scripts/command/configure b/scripts/command/configure new file mode 100644 index 0000000..3af9758 --- /dev/null +++ b/scripts/command/configure @@ -0,0 +1,10 @@ +#!/bin/bash + +source "${NNCC_SCRIPT_PATH}/build.configuration" + +BUILD_WORKSPACE_PATH="${NNCC_PROJECT_PATH}/${BUILD_WORKSPACE_RPATH}" + +mkdir -p "${BUILD_WORKSPACE_PATH}" + +cd "${BUILD_WORKSPACE_PATH}" +cmake "${NNCC_PROJECT_PATH}" "$@" -- 2.7.4