aboutsummaryrefslogtreecommitdiff
path: root/buildfile
blob: 44d460f83ce51069d2717c059e1ef4c988bc944e (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
# 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-15u0-32   lib-15u0-32   link-15u0-32   mt-15u0-32   rc-15u0-32   \
    cl-15u0-64   lib-15u0-64   link-15u0-64   mt-15u0-64   rc-15u0-64   \
    msvc-15/{msvc-15u0-32 msvc-15u0-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} $libs

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

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

install.bin.subdirs = true # Recreate subdirectories.