Jeff Trull
7a8e9d3884
Introduce c++23 feature flag and condition size_t literals with it
2025-10-27 09:29:33 -07:00
René Ferdinand Rivera Morell
7ce8b53d9d
Add support for modular build structure. ( #214 )
...
* Make the library modular usable.
* Switch to library requirements instead of source. As source puts extra source in install targets.
* Add wave tool build to all target.
* Add missing NO_LIB usage requirements.
* Add requires-b2 check to top-level build file.
* Bump B2 require to 5.2
* Change all <source> references to <library>.
* Move inter-lib dependencies to a project variable and into the build targets.
* Update build deps.
2024-08-26 22:01:03 -07:00
Jeff Trull
d8474c3e2d
Handle some previously deprecated, now removed, filesystem code
...
- convenience.hpp is removed
- no_push and branch_path are removed
2024-01-14 15:06:47 -08:00
Jeff Trull
9382ac9e8b
MSVC-related cleanups ( #150 )
...
* Replace several sprintf's with boost::format or std::to_string
* Clean up MSVC builds by removing pre-C++11 toolsets
* Update build badges
2022-02-20 17:54:26 -08:00
Jeff Trull
9a043482a9
Use portable filesystem string conversion instead of native() ( #149 )
...
* use string(), not native(), for Filesystem string conversion
2022-02-09 11:53:31 -08:00
Jeff Trull
1db25211a4
Fix various warnings ( #148 )
...
* The comma operator is deprecated inside of square brackets
solution: add parentheses
* Bitwise operations are deprecated between different enum types
solution: add user-defined operators for the combinations we use
* std::tmpnam usage gets a linker warning identifying security issues, recommends mkstemp()
solution: use Boost.Filesystem temporary filename functions
2022-02-05 15:44:11 -08:00
Jeff Trull
a95fa213ef
Clean up sprintf usage ( #146 )
...
* Replace some sprintfs using boost::format and std::to_string to fix warnings and possibly #145
2022-01-28 15:04:20 -08:00
Jeff Trull
88369abfd5
Remove long-deprecated hooks API
...
Removal in 1.76 was noted in the docs and warned about since 1.74.
2020-12-13 15:53:32 -08:00
Jeff Trull
f1ec8fd22c
Make indentation consistent with code nesting
...
These changes, a subset of what clang-format generates, ensure code
and comments are aligned properly for the level of the code. There
were a number of places where comments (many) and code (some) were
four spaces to the left of where they should be. This will make the
code easier to read.
One advantage of separating out these changes is they can be verified
to be whitespace-only with a simple diff.
2020-10-23 15:05:00 -07:00
Jeff Trull
ee0a7c14c5
Implement __has_include() ( #102 )
...
Resolve #96 by introducing C++17 feature (and frequent vendor extension) __has_include(), along with appropriate unit tests and documentation updates
2020-06-27 07:22:52 -07:00
Jeff Trull
6fd0da8780
Rename include guard macros that don't begin with BOOST_
2020-06-15 10:52:30 -07:00
Jeff Trull
895ea836e9
Remove unused headers
...
Reduce build time by:
- using iosfwd instead of iostream, where possible
- where iostream is necessary but only used for debugging,
making its inclusion conditional
- removing old C-style headers
I used IWYU to guide this work
2020-05-19 10:41:22 -07:00
Jeff Trull
2e8eeeeb4d
Add BOOST_OVERRIDE to virtual functions in derived classes ( #89 )
2020-04-13 21:12:34 -07:00
Jeff Trull
849da9fb6a
Remove linking to newly header-only date_time ( #81 )
...
Boost develop branch has an updated date_time that is header-only so
Wave's builds will now fail unless this dependency is removed.
2020-03-15 17:37:19 -07:00
Jeff Trull
ec83deadf7
Use new API of Boost.Timer ( #76 )
2020-03-06 15:39:36 -08:00
Jeff Trull
ec0c8c8603
Implement C++20 features ( #75 )
...
* Introduce support for C++20 preprocessor features
- add __VA_OPT__ feature to variadic macros
- allow supplying 0 variadic arguments in more cases
- add related unit tests
2020-03-06 11:48:50 -08:00
Robert Lenhardt
73d3e36637
always use boost filesystem streams to open files
2018-09-28 16:22:34 +02:00
Abel Sinkovics
4474a5ce8c
Add -Werror support
2017-09-16 22:49:22 +02:00
Hartmut Kaiser
e7cadc39df
Fixed sprintf warnings
2017-09-02 13:05:03 -05:00
Edward Diener
253ae38ad8
Honor --bindir and --libdir options if present when building wave.
2016-03-10 01:29:50 -05:00
Hartmut Kaiser
06d384dec3
Fix #8255 : Wave build warnings are probably errors on 64-bit
...
[SVN r83345]
2013-03-07 13:34:56 +00:00
Hartmut Kaiser
0f064c7faf
Wave: fixing a couple of warnings
...
[SVN r80761]
2012-09-29 20:13:28 +00:00
Hartmut Kaiser
82aee622a6
Wave:
...
- Added util::create_directories() wrapper to account for new behavior of boost::filesystem::create_directories().
- Added a new command line option --license=<file> to the Wave driver tool which allows to pre-pend the content of a (license) file to every newly created file. This option simplifies the implementation of partial preprocessing as done on Phoenix, Fusion, etc.
[SVN r79786]
2012-07-28 14:16:37 +00:00
Hartmut Kaiser
f441ea8aed
Wave: Changed --c++0x command line option to --c++11.
...
[SVN r79685]
2012-07-22 23:12:11 +00:00
Hartmut Kaiser
e5ac1ca3b3
Wave: updating copyrights, minor fixes, bumping version number for release
...
[SVN r78555]
2012-05-23 14:41:35 +00:00
Hartmut Kaiser
e1d1f933eb
Wave: allowing to force interpretation of wchar_t as signed/unsigned, fixed a problem in #pragma option_str(output)
...
[SVN r72162]
2011-05-25 18:32:51 +00:00
Hartmut Kaiser
277d3d79b0
Wave: minor edits
...
[SVN r72116]
2011-05-23 02:02:40 +00:00
Hartmut Kaiser
3cd74d9e3e
Wave: bumped version number (V2.3), fixed a problem in interactive mode of Wave driver
...
[SVN r71833]
2011-05-08 18:34:58 +00:00
Hartmut Kaiser
040c4d33d6
Wave: added new command line option --noexpand/-N
...
[SVN r71779]
2011-05-07 15:13:45 +00:00
Hartmut Kaiser
ab2fdf61e7
Wave: After preprocessing the body of any #pragma wave option() the wave tool now concatenates all adjacent string literals into a single string literal.
...
[SVN r68146]
2011-01-14 03:35:24 +00:00
Hartmut Kaiser
feb1e9ccdb
Wave: updated copyrights, added C++0x mode to docs, added predefined macros for C++0x mode
...
[SVN r67894]
2011-01-09 22:19:16 +00:00
Hartmut Kaiser
55752997a3
Wave: more work on C++0x support, fixed a macro expansion problem
...
[SVN r67117]
2010-12-09 01:44:51 +00:00
Hartmut Kaiser
dc832745b7
Wave: fixing Wave for Boost Filesystem V3, which is now the default, changed build system for Wave tool to disable threading
...
[SVN r67093]
2010-12-08 01:29:47 +00:00
Hartmut Kaiser
e563eaca2e
Wave: fixing exception handling
...
[SVN r66155]
2010-10-23 23:12:06 +00:00
Hartmut Kaiser
2c34ab5d57
Wave: added new preprocessing hook: emit_line_directive, added corresponding functionality to wave driver
...
[SVN r60819]
2010-03-24 23:38:12 +00:00
Hartmut Kaiser
b61ae31acc
Wave: updating copyrights, fixing issues introduced by latest changes to multi_pass.
...
[SVN r58715]
2010-01-05 17:30:27 +00:00
Troy D. Straszheim
b6a2bc4aeb
rm cmake from trunk. I'm not entirely sure this is necessary to satisfy the inspect script, but I'm not taking any chances, and it is easy to put back
...
[SVN r56942]
2009-10-17 02:07:38 +00:00
Hartmut Kaiser
5146cbbe2a
Wave: more work on pragma once pp hooks, added test case
...
[SVN r56312]
2009-09-19 19:57:09 +00:00
Hartmut Kaiser
aa8030e5f1
Wave: added preprocessing hook to detect #pragma once directives or include guards
...
[SVN r56276]
2009-09-17 17:54:07 +00:00
Troy D. Straszheim
5a2f240093
Copyrights on CMakeLists.txt to keep them from clogging up the inspect
...
reports. This is essentially the same commit as r55095 on the release
branch.
[SVN r55159]
2009-07-26 00:49:56 +00:00
Hartmut Kaiser
63aaed85fa
Wave: minor edit
...
[SVN r54223]
2009-06-22 19:46:43 +00:00
Hartmut Kaiser
72b796a248
Wave: added --macrocounts/-c command line option to wave driver tool allowing to collect macro invocation counts
...
[SVN r53586]
2009-06-03 01:06:42 +00:00
Hartmut Kaiser
122915b95f
Wave: fixed examples
...
[SVN r53192]
2009-05-22 23:40:53 +00:00
Douglas Gregor
bb92cf4d47
Add includes needed to build the wave preprocessor executable with a modularized tree
...
[SVN r52802]
2009-05-06 15:17:51 +00:00
Hartmut Kaiser
af4c016496
Wave: Added missing std:: qualifiers
...
[SVN r52409]
2009-04-15 23:58:49 +00:00
Hartmut Kaiser
4cc8bb6365
Wave: now compiles even with BOOST_FILESYSTEM_NO_DEPRECATED defined
...
[SVN r51679]
2009-03-10 01:35:54 +00:00
Hartmut Kaiser
d63da08b41
Wave: updating copyrights
...
[SVN r50638]
2009-01-16 18:34:31 +00:00
Michael A. Jackson
c7a2215d8a
Continuing merge of CMake build system files into trunk with the encouragement of Doug Gregor
...
[SVN r49510]
2008-11-01 13:15:41 +00:00
Jürgen Hunold
c26fd0136b
Disable MS "secure" STL and C-Runtime warnings unconditionally for all compiler versions.
...
[SVN r49184]
2008-10-08 18:25:56 +00:00
Hartmut Kaiser
6b02159942
Wave: Updated to use new Spirit Classic library structure and namespace. Lots' of minor changes and adjustments. Switched version to 2.0 since this version is not backwards compatible anymore with earlier versions.
...
[SVN r44381]
2008-04-13 22:39:12 +00:00