]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | # |
2 | # Copyright Andrey Semashev 2007 - 2015. | |
3 | # Distributed under the Boost Software License, Version 1.0. | |
4 | # (See accompanying file LICENSE_1_0.txt or copy at | |
5 | # http://www.boost.org/LICENSE_1_0.txt) | |
6 | # | |
7 | ||
8 | import path ; | |
9 | ||
10 | project | |
11 | : requirements | |
12 | <link>shared:<define>BOOST_ALL_DYN_LINK | |
13 | <toolset>msvc:<define>_SCL_SECURE_NO_WARNINGS | |
14 | <toolset>msvc:<define>_SCL_SECURE_NO_DEPRECATE | |
15 | <toolset>msvc:<define>_CRT_SECURE_NO_WARNINGS | |
16 | <toolset>msvc:<define>_CRT_SECURE_NO_DEPRECATE | |
17 | <toolset>msvc:<cxxflags>/bigobj | |
18 | <toolset>msvc:<cxxflags>/wd4503 # decorated name length exceeded, name was truncated | |
19 | <toolset>msvc:<cxxflags>/wd4456 # declaration of 'A' hides previous local declaration | |
20 | <toolset>msvc:<cxxflags>/wd4459 # declaration of 'A' hides global declaration | |
21 | <toolset>msvc:<cxxflags>/wd4003 # not enough actual parameters for macro 'X' - caused by BOOST_PP_IS_EMPTY and BOOST_PP_IS_BEGIN_PARENS which are used by Fusion | |
22 | <toolset>intel-win:<define>_SCL_SECURE_NO_WARNINGS | |
23 | <toolset>intel-win:<define>_SCL_SECURE_NO_DEPRECATE | |
24 | <toolset>intel-win:<define>_CRT_SECURE_NO_WARNINGS | |
25 | <toolset>intel-win:<define>_CRT_SECURE_NO_DEPRECATE | |
26 | <toolset>darwin:<cxxflags>-ftemplate-depth-1024 | |
27 | <toolset>gcc:<cxxflags>-ftemplate-depth-1024 | |
28 | <toolset>gcc:<cxxflags>-fno-strict-aliasing # avoids strict aliasing violations in other Boost components | |
29 | ||
30 | # Disable Intel warnings: | |
31 | # warning #177: function "X" was declared but never referenced | |
32 | # warning #780: using-declaration ignored -- it refers to the current namespace | |
33 | # warning #2196: routine is both "inline" and "noinline" | |
34 | # remark #1782: #pragma once is obsolete. Use #ifndef guard instead. | |
35 | # remark #193: zero used for undefined preprocessing identifier "X" | |
36 | # remark #304: access control not specified ("public" by default) | |
37 | # remark #981: operands are evaluated in unspecified order | |
38 | # remark #1418: external function definition with no prior declaration | |
39 | # Mostly comes from Boost.Phoenix: warning #411: class "X" defines no constructor to initialize the following: reference member "Y"... | |
40 | # warning #734: "X" (declared at line N of "file.hpp"), required for copy that was eliminated, is inaccessible | |
41 | # warning #279: controlling expression is constant | |
42 | <toolset>intel-win:<cxxflags>"/Qwd177,780,2196,1782,193,304,981,1418,411,734,279" | |
43 | <toolset>intel-linux:<cxxflags>"-wd177,780,2196,1782,193,304,981,1418,411,734,279" | |
44 | <toolset>intel-darwin:<cxxflags>"-wd177,780,2196,1782,193,304,981,1418,411,734,279" | |
45 | ||
46 | <library>/boost/log//boost_log | |
47 | <library>/boost/log//boost_log_setup | |
48 | <library>/boost/date_time//boost_date_time | |
49 | <library>/boost/filesystem//boost_filesystem | |
50 | <library>/boost/system//boost_system | |
51 | <library>/boost/thread//boost_thread | |
52 | <threading>multi | |
53 | ; | |
54 | ||
55 | # Compiles each .cpp file in this directory into a separate executable | |
56 | rule compile_all | |
57 | { | |
58 | #ECHO executing compile_all rule ; | |
59 | local all_rules = ; | |
60 | for local file in [ glob *.cpp ] | |
61 | { | |
62 | local exename = [ MATCH "([^.]*).cpp$" : [ path.basename $(file) ] ] ; | |
63 | #ECHO "exename = $(exename)" ; | |
64 | all_rules += [ exe $(exename) : $(file) ] ; | |
65 | } | |
66 | ||
67 | #ECHO $(all_rules) ; | |
68 | return $(all_rules) ; | |
69 | } | |
70 | ||
71 | compile_all ; |