浏览代码

cmake: Disable char8_t when using C++20

derrod 2 年之前
父节点
当前提交
8d33da1fab
共有 2 个文件被更改,包括 8 次插入0 次删除
  1. 4 0
      cmake/common/compiler_common.cmake
  2. 4 0
      cmake/windows/compilerconfig.cmake

+ 4 - 0
cmake/common/compiler_common.cmake

@@ -74,6 +74,10 @@ set(_obs_clang_cxx_options
     -Werror=block-capture-autoreleasing
     -Werror=block-capture-autoreleasing
     -Wrange-loop-analysis)
     -Wrange-loop-analysis)
 
 
+if(CMAKE_CXX_STANDARD GREATER_EQUAL 20)
+  list(APPEND _obs_clang_cxx_options -fno-char8_t)
+endif()
+
 if(NOT DEFINED CMAKE_COMPILE_WARNING_AS_ERROR)
 if(NOT DEFINED CMAKE_COMPILE_WARNING_AS_ERROR)
   set(CMAKE_COMPILE_WARNING_AS_ERROR ON)
   set(CMAKE_COMPILE_WARNING_AS_ERROR ON)
 endif()
 endif()

+ 4 - 0
cmake/windows/compilerconfig.cmake

@@ -37,6 +37,10 @@ set(_obs_msvc_c_options /Brepro /MP /permissive- /Zc:__cplusplus /Zc:preprocesso
 
 
 set(_obs_msvc_cpp_options /Brepro /MP /permissive- /Zc:__cplusplus /Zc:preprocessor)
 set(_obs_msvc_cpp_options /Brepro /MP /permissive- /Zc:__cplusplus /Zc:preprocessor)
 
 
+if(CMAKE_CXX_STANDARD GREATER_EQUAL 20)
+  list(APPEND _obs_msvc_cpp_options /Zc:char8_t-)
+endif()
+
 add_compile_options(
 add_compile_options(
   /W3
   /W3
   /utf-8
   /utf-8