From 7c0f3620217ad24587fb86a29a1bcfc6ea298834 Mon Sep 17 00:00:00 2001 From: Shuduo Sang Date: Sun, 3 Apr 2022 18:29:05 +0800 Subject: [PATCH 1/2] fix clang 13 compile error otherwise compile will fails with unused variable warning --- CMakeLists.txt | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6eef485..ee7abda 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -68,9 +68,15 @@ else(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") # Use -Werror for clang only. if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - if(NOT CMAKE_CXX_FLAGS MATCHES "-Werror") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror") - endif(NOT CMAKE_CXX_FLAGS MATCHES "-Werror") + EXECUTE_PROCESS( COMMAND ${CMAKE_CXX_COMPILER} --version OUTPUT_VARIABLE clang_full_version_string ) + string (REGEX REPLACE ".*clang version ([0-9]+\\.[0-9]+).*" "\\1" CLANG_VERSION_STRING ${clang_full_version_string}) + if(CLANG_VERSION_STRING GREATER_EQUAL 13.0) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-but-set-variable") + else() + if(NOT CMAKE_CXX_FLAGS MATCHES "-Werror") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror") + endif(NOT CMAKE_CXX_FLAGS MATCHES "-Werror") + endif() endif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") # Disable C++ exceptions. From 23978db17a5e88f4d11ec31f63ce192c6145c219 Mon Sep 17 00:00:00 2001 From: Shuduo Sang Date: Sun, 24 Apr 2022 07:41:46 +0800 Subject: [PATCH 2/2] only 13.1 support unused-but-set-variable --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ee7abda..bf080be 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -70,7 +70,7 @@ else(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") EXECUTE_PROCESS( COMMAND ${CMAKE_CXX_COMPILER} --version OUTPUT_VARIABLE clang_full_version_string ) string (REGEX REPLACE ".*clang version ([0-9]+\\.[0-9]+).*" "\\1" CLANG_VERSION_STRING ${clang_full_version_string}) - if(CLANG_VERSION_STRING GREATER_EQUAL 13.0) + if(CLANG_VERSION_STRING GREATER_EQUAL 13.1) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-but-set-variable") else() if(NOT CMAKE_CXX_FLAGS MATCHES "-Werror")