diff options
author | Lioncash <mathew1800@gmail.com> | 2020-07-10 19:24:23 -0400 |
---|---|---|
committer | Lioncash <mathew1800@gmail.com> | 2020-07-11 04:45:40 -0400 |
commit | fb0fefc75c3cb9e060d59f3b10fe3ae66626aeb8 (patch) | |
tree | 6d3718ccfacf535d2738f7a824b0abec2c945115 /CMakeLists.txt | |
parent | 995067538ddbee8761b8ddd6bf41b6f84c6ae524 (diff) |
CMakeLists: Make use of /std:c++latest on MSVC
Provides the buildbot with one builder that is always tracking the
latest version of the C++ standard, allowing us to progressively rectify
our code and amend any differences between standards over time instead
of waiting for a complete standard change, potentially breaking a lot of
code all at once.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 1c0e49c03..c8e86959b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -118,8 +118,15 @@ message(STATUS "Target architecture: ${ARCHITECTURE}") # Configure C++ standard # =========================== -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED ON) +if (MSVC) + add_compile_options(/std:c++latest) + + # cubeb and boost still make use of deprecated result_of. + add_definitions(-D_HAS_DEPRECATED_RESULT_OF) +else() + set(CMAKE_CXX_STANDARD 17) + set(CMAKE_CXX_STANDARD_REQUIRED ON) +endif() # Output binaries to bin/ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin) |