File: cmbuild

package info (click to toggle)
lammps 20220106.git7586adbb6a%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 348,064 kB
  • sloc: cpp: 831,421; python: 24,896; xml: 14,949; f90: 10,845; ansic: 7,967; sh: 4,226; perl: 4,064; fortran: 2,424; makefile: 1,501; objc: 238; lisp: 163; csh: 16; awk: 14; tcl: 6
file content (69 lines) | stat: -rwxr-xr-x 1,256 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#!/bin/bash
# make like wrapper around "cmake --build"
# (c) 2020 Axel Kohlmeyer <akohlmey@temple.edu>
# This file is in the public domain

WORKDIR="${PWD}"
PARAMS=""
MYARGS=""

usage()
{
   echo "Usage: cmbuild [-v] [-h] [-C <dir>] [-j <num>] [<target>]" >&2
}

help()
{
   usage
   cat >&2 <<EOF

Options:
  -h                print this message
  -j <NUM>          allow processing of NUM concurrent tasks
  -C DIRECTORY      execute build in folder DIRECTORY
  -v                produce verbose output
EOF
}

while (( "$#" )); do
    case "$1" in
      -C)
        WORKDIR="$2"
        shift 2
        ;;
      -v)
        MYARGS="${MYARGS} -v"
        shift
        ;;
      -h)
        help
        exit 2
        ;;
      -j)
        MYARGS="${MYARGS} -j $2"
        shift 2
        ;;
      --)
        shift
        break
        ;;
      -*)
        echo "Error: Unsupported flag $1" >&2
        echo
        usage
        exit 1
        ;;
      *)
        PARAMS="${PARAMS} $1"
        shift
        ;;
    esac
done

if [ ! -f "${WORKDIR}/CMakeCache.txt" ] ; then
   echo "Must execute in a CMake build directory or use -C flag to select one" >&2
   exit 3
fi

eval set -- "${PARAMS} $@"
exec cmake --build "${WORKDIR}" ${MYARGS} --target "$@"