I'm setting:
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
in my cmake, however in visual studio 2019 it's not setting the standard correctly and defaulting to C++14.
If I set it like this:
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++17")
Then it works. I'm not sure why this is the case as I'd like to not use the above method.
Am I missing something?
**EDIT ANSWER: It seems like you have to set the project before the version like so:
project(TradingEngine CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
where I had it like this:
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
project(TradingEngine CXX)