Blame view

3rdparty/boost_1_81_0/libs/headers/build/Jamfile 2.42 KB
73ef4ff3   Hu Chunming   提交三方库
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
  # Copyright 2018 Peter Dimov
  # Distributed under the Boost Software License, Version 1.0.
  # (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
  
  import package ;
  import path ;
  import sequence ;
  import set ;
  import ../../../tools/boost_install/boost-install ;
  import ../../../tools/boost_install/boost-install-dirs ;
  
  # install-header-subdir
  
  local header-subdir = [ boost-install-dirs.header-subdir ] ;
  
  local install-header-subdir ;
  
  if $(header-subdir)
  {
      install-header-subdir = $(header-subdir)/boost ;
  }
  else
  {
      install-header-subdir = boost ;
  }
  
  # install-headers
  
  # first, the 'modular' headers
  
  local modular-headers = $(BOOST_MODULARLAYOUT) ;
  
  local skip-headers ;
  
  for local lib in $(modular-headers)
  {
      local header-root = $(BOOST_ROOT)/libs/$(lib)/include/boost ;
  
      local headers =
          [ path.glob-tree $(header-root) : *.hpp *.ipp *.h *.inc ]
          [ path.glob-tree $(header-root)/compatibility/cpp_c_headers : c* ] ;
  
      skip-headers += [ sequence.transform path.relative-to [ path.make $(header-root) ] : $(headers) ] ;
  
      package.install install-$(lib)-headers Boost
          : <install-header-subdir>$(install-header-subdir)
            <install-source-root>$(header-root)
            <install-no-version-symlinks>on
          : # No binaries
          : # No libraries
          : $(headers)
      ;
  
      explicit install-$(lib)-headers ;
  }
  
  # then, the non-modular headers in boost/, minus the modular ones
  
  local header-root = [ path.make $(BOOST_ROOT)/boost ] ;
  
  local headers =
      [ path.glob-tree $(BOOST_ROOT)/boost : *.hpp *.ipp *.h *.inc ]
      [ path.glob-tree $(BOOST_ROOT)/boost/compatibility/cpp_c_headers : c* ] ;
  
  headers = [ set.difference $(headers) : $(header-root)/$(skip-headers) ] ;
  
  package.install install-boost-headers Boost
      : <install-header-subdir>$(install-header-subdir)
        <install-source-root>$(header-root)
        <install-no-version-symlinks>on
      : # No binaries
      : # No libraries
      : $(headers)
  ;
  
  explicit install-boost-headers ;
  
  #
  
  alias install-headers : install-$(modular-headers)-headers install-boost-headers ;
  explicit install-headers ;
  
  # install
  
  alias boost_headers ;
  
  boost-install.install-cmake-config boost_headers ;
  explicit install-cmake-config ;
  
  alias install : install-headers install-cmake-config ;
  explicit install ;
  
  # stage
  
  boost-install.stage-cmake-config boost_headers ;
  explicit stage-cmake-config ;
  
  alias stage : stage-cmake-config ;
  explicit stage ;