Jelajahi Sumber

Avoid `$<CXX_COMPILER_ID:Clang>` because it doesn't include AppleClang.

comex 2 tahun lalu
induk
melakukan
32c453a5f1
2 mengubah file dengan 16 tambahan dan 12 penghapusan
  1. 5 3
      externals/CMakeLists.txt
  2. 11 9
      src/CMakeLists.txt

+ 5 - 3
externals/CMakeLists.txt

@@ -43,8 +43,8 @@ endif()
 add_subdirectory(mbedtls)
 target_include_directories(mbedtls PUBLIC ./mbedtls/include)
 target_compile_options(mbedcrypto PRIVATE
-    $<$<CXX_COMPILER_ID:Clang>:-Wno-unused-but-set-variable>
-    $<$<CXX_COMPILER_ID:Clang>:-Wno-string-concatenation>)
+    -Wno-unused-but-set-variable
+    -Wno-string-concatenation)
 
 # MicroProfile
 add_library(microprofile INTERFACE)
@@ -98,7 +98,9 @@ if (ENABLE_CUBEB AND NOT TARGET cubeb::cubeb)
     add_subdirectory(cubeb)
     add_library(cubeb::cubeb ALIAS cubeb)
     if (NOT MSVC)
-        target_compile_options(speex PRIVATE -Wno-sign-compare)
+        if (TARGET speex)
+            target_compile_options(speex PRIVATE -Wno-sign-compare)
+        endif()
         target_compile_options(cubeb PRIVATE -Wno-implicit-const-int-float-conversion)
     endif()
 endif()

+ 11 - 9
src/CMakeLists.txt

@@ -114,17 +114,19 @@ else()
         -Wno-attributes
         -Wno-invalid-offsetof
         -Wno-unused-parameter
-
-        $<$<CXX_COMPILER_ID:Clang>:-Wno-braced-scalar-init>
-        $<$<CXX_COMPILER_ID:Clang>:-Wno-unused-private-field>
-        $<$<CXX_COMPILER_ID:Clang>:-Wno-nullability-completeness>
-        $<$<CXX_COMPILER_ID:Clang>:-Werror=shadow-uncaptured-local>
-        $<$<CXX_COMPILER_ID:Clang>:-Werror=implicit-fallthrough>
-        $<$<CXX_COMPILER_ID:Clang>:-Werror=type-limits>
-        $<$<CXX_COMPILER_ID:AppleClang>:-Wno-braced-scalar-init>
-        $<$<CXX_COMPILER_ID:AppleClang>:-Wno-unused-private-field>
     )
 
+    if (CMAKE_CXX_COMPILER_ID MATCHES Clang) # Clang or AppleClang
+        add_compile_options(
+            -Wno-braced-scalar-init
+            -Wno-unused-private-field
+            -Wno-nullability-completeness
+            -Werror=shadow-uncaptured-local
+            -Werror=implicit-fallthrough
+            -Werror=type-limits
+        )
+    endif()
+
     if (ARCHITECTURE_x86_64)
         add_compile_options("-mcx16")
         add_compile_options("-fwrapv")