坚持现代CMake的最佳实践我想使用此命令而不是标志或基于集合的命令。但是,我似乎无法使它工作,因为我找不到新引入的C ++ 17功能的相关命令。对于C ++ 14,我可以按照以下几行做点什么
target_compile_features(Foo
PUBLIC
cxx_strong_enums
PRIVATE
cxx_lambdas
)
我想我要问的是,在cmake中启用最新C ++标准的正确方法是什么,而不需要回到传统的cmake
答案 0 :(得分:2)
您正朝着写入方向前进,您可能只需要更新您的CMake版本。
编译功能现在可以识别C ++ 17.除了
cxx_std_17
元功能之外,还没有枚举任何特定功能。
对于VS,您需要例如至少是CMake版本3.10。
参考文献