aboutsummaryrefslogtreecommitdiff
path: root/buildfile
blob: c2d94e36fd8775f0425224dd836685f649bd6a08 (plain)
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
# file      : buildfile
# copyright : Copyright (c) 2014-2017 Code Synthesis Ltd
# license   : MIT; see accompanying LICENSE file

define sh: file
sh{*}: extension =
sh{*}: install = bin/

s = cl-11-32     lib-11-32     link-11-32     mt-11-32     rc-11-32     \
    msvc-11/{msvc-11-32}                                                \
                                                                        \
    cl-12-32     lib-12-32     link-12-32     mt-12-32     rc-12-32     \
    msvc-12/{msvc-12-32}                                                \
                                                                        \
    cl-14u0-32   lib-14u0-32   link-14u0-32   mt-14u0-32   rc-14u0-32   \
    msvc-14/{msvc-14u0-32}                                              \
                                                                        \
    cl-14u2-32   lib-14u2-32   link-14u2-32   mt-14u2-32   rc-14u2-32   \
    cl-14u2-64   lib-14u2-64   link-14u2-64   mt-14u2-64   rc-14u2-64   \
    msvc-14/{msvc-14u2-32 msvc-14u2-64}                                 \
                                                                        \
    cl-14u3-32   lib-14u3-32   link-14u3-32   mt-14u3-32   rc-14u3-32   \
    cl-14u3-64   lib-14u3-64   link-14u3-64   mt-14u3-64   rc-14u3-64   \
    msvc-14/{msvc-14u3-32 msvc-14u3-64}                                 \
                                                                        \
    cl-15rc1-32  lib-15rc1-32  link-15rc1-32  mt-15rc1-32  rc-15rc1-32  \
    cl-15rc1-64  lib-15rc1-64  link-15rc1-64  mt-15rc1-64  rc-15rc1-64  \
    msvc-15/{msvc-15rc1-32 msvc-15rc1-64}                               \
                                                                        \
    cl-15rc2-32  lib-15rc2-32  link-15rc2-32  mt-15rc2-32  rc-15rc2-32  \
    cl-15rc2-64  lib-15rc2-64  link-15rc2-64  mt-15rc2-64  rc-15rc2-64  \
    msvc-15/{msvc-15rc2-32 msvc-15rc2-64}                               \
                                                                        \
    msvc-dispatch                                                       \
                                                                        \
    msvc-common/{msvc-cl-common msvc-common msvc-lib-common             \
                 msvc-link-common msvc-mt-common msvc-rc-common         \
                 msvc-sdk-common}


./: msvc-common/exe{msvc-filter} sh{$s}                     \
    doc{INSTALL LICENSE NEWS README version} file{manifest}

doc{version}: file{manifest} # Generated by the version module.
doc{version}: dist = true

msvc-common/:
{
  import libs = libbutl%lib{butl}

  exe{msvc-filter}: cxx{msvc-filter} hxx{version-impl} $libs

  hxx{version-impl}: in{version-impl} $src_root/file{manifest}
  hxx{version-impl}: dist = true
}

# Don't install INSTALL file.
#
doc{INSTALL}@./: install = false

install.bin.subdirs = true # Recreate subdirectories.