Comment activer C ++ 17 dans CMake

Je suis en utilisant VS 15,3, qui prend en charge intégrée de CMake 3.8. Comment puis-je la cible C++17 sans écrire de drapeaux pour chaque compilateurs? Mes paramètres globaux ne fonctionnent pas:

# https://cmake.org/cmake/help/latest/prop_tgt/CXX_STANDARD.html
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

# expected behaviour
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++lastest")

Je m'attendais à CMake pour ajouter "/std:c++dernière" ou de son équivalent lors de la génération VS fichiers de solution, mais pas de c++17 drapeaux a été trouvé, a entraîné d'erreur du compilateur:

C1189 #error: class template optional is only available with C++17.

source d'informationauteur MiP