diff options
author | Bruce Dawson <randomascii@users.noreply.github.com> | 2022-06-16 07:47:21 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-16 07:47:21 (GMT) |
commit | a4c24a33c1ed32d9d51c8df763ec6ad574587d02 (patch) | |
tree | 1568dbd06c9a927018e23191581f57c771aff1aa /src/edit_distance.h | |
parent | 1d4034f0ac2b5cfb809b5ab983d47c3cb2c78415 (diff) | |
download | Ninja-a4c24a33c1ed32d9d51c8df763ec6ad574587d02.zip Ninja-a4c24a33c1ed32d9d51c8df763ec6ad574587d02.tar.gz Ninja-a4c24a33c1ed32d9d51c8df763ec6ad574587d02.tar.bz2 |
Build ninja with C++11 (#2089)
* Build ninja with C++11
In order to allow future use of std::chrono to make the stats code
portable it is desirable to compile with C++11. Doing so also allows use
of std::unordered_map, and reduces the number of #ifdefs in the ninja
source code.
Switching to C++11 requires modifying both CMakeLists.txt and
configure.py, for MSVC and for other build systems. For MSVC the
required change is adding /Zc:__cplusplus to tell the compiler to
give a more accurate value for the __cplusplus macro. For other
platforms the change is to add -std=c++11 or the CMake equivalent.
This change makes some progress towards resolving issue #2004.
* Delete code and instructions
C++11 guarantees that string::data() gives null-terminated pointers, so
explicitly adding a null terminator is no longer needed.
The Google C++ Style Guide already recommends avoiding unnecessary use
of C++14 and C++17 so repeating this in CONTRIBUTING.md is not critical.
These changes both came from PR-review suggestions.
* Only set cxx_std_11 if standard is 98
* Return to unconditional target_compile_features use
After much discussion it sounds like using target_compile_features
unconditionally is best.
Diffstat (limited to 'src/edit_distance.h')
0 files changed, 0 insertions, 0 deletions