From 0dabbd4ed787eeb8d65cab6f7d4537d3ec523f31 Mon Sep 17 00:00:00 2001 From: Nick Hutchinson Date: Sun, 2 May 2021 13:29:13 +0100 Subject: [PATCH 1/2] Add clang-cl build jobs to appveyor.yml --- appveyor.yml | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/appveyor.yml b/appveyor.yml index 17215931..24437be9 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -52,6 +52,15 @@ PLATFORM: "Win32" CONFIGURATION: "Release" + - COMPILER: "clang-cl" + HOST: "cmake-visual" + PLATFORM: "x64" + CONFIGURATION: "Release" + CMAKE_GENERATOR: "Visual Studio 15 2017" + CMAKE_GENERATOR_PLATFORM: "x64" + CMAKE_GENERATOR_TOOLSET: "LLVM" + APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017" + install: - ECHO Installing %COMPILER% %PLATFORM% %CONFIGURATION% - SET PATH_ORIGINAL=%PATH% @@ -154,6 +163,15 @@ COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2015_%PLATFORM%_%CONFIGURATION%.exe && COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe tests\ ) + - if [%HOST%]==[cmake-visual] ( + ECHO *** && + ECHO *** Building %CMAKE_GENERATOR% ^(%CMAKE_GENERATOR_TOOLSET%^) %PLATFORM%\%CONFIGURATION% && + PUSHD build\cmake && + cmake -DBUILD_TESTING=ON . && + cmake --build . --config %CONFIGURATION% -j4 && + POPD && + ECHO *** + ) test_script: - ECHO Testing %COMPILER% %PLATFORM% %CONFIGURATION% @@ -223,6 +241,15 @@ PLATFORM: "Win32" CONFIGURATION: "Release" + - COMPILER: "clang-cl" + HOST: "cmake-visual" + PLATFORM: "x64" + CONFIGURATION: "Release" + CMAKE_GENERATOR: "Visual Studio 15 2017" + CMAKE_GENERATOR_PLATFORM: "x64" + CMAKE_GENERATOR_TOOLSET: "LLVM" + APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017" + install: - ECHO Installing %COMPILER% %PLATFORM% %CONFIGURATION% - SET PATH_ORIGINAL=%PATH% @@ -281,6 +308,15 @@ COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2015_%PLATFORM%_%CONFIGURATION%.exe && COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe tests\ ) + - if [%HOST%]==[cmake-visual] ( + ECHO *** && + ECHO *** Building %CMAKE_GENERATOR% ^(%CMAKE_GENERATOR_TOOLSET%^) %PLATFORM%\%CONFIGURATION% && + PUSHD build\cmake && + cmake -DBUILD_TESTING=ON . && + cmake --build . --config %CONFIGURATION% -j4 && + POPD && + ECHO *** + ) test_script: From 2d34062836f73e2ac6e58a536482edebab387d4b Mon Sep 17 00:00:00 2001 From: Nick Hutchinson Date: Sun, 2 May 2021 14:46:12 +0100 Subject: [PATCH 2/2] CMake: fix excessive build warnings when building with clang-cl --- build/cmake/CMakeModules/AddZstdCompilationFlags.cmake | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/build/cmake/CMakeModules/AddZstdCompilationFlags.cmake b/build/cmake/CMakeModules/AddZstdCompilationFlags.cmake index 62389717..e23b9d60 100644 --- a/build/cmake/CMakeModules/AddZstdCompilationFlags.cmake +++ b/build/cmake/CMakeModules/AddZstdCompilationFlags.cmake @@ -26,7 +26,12 @@ macro(ADD_ZSTD_COMPILATION_FLAGS) EnableCompilerFlag("-std=c++11" false true) #Set c99 by default EnableCompilerFlag("-std=c99" true false) - EnableCompilerFlag("-Wall" true true) + if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND MSVC) + # clang-cl normally maps -Wall to -Weverything. + EnableCompilerFlag("/clang:-Wall" true true) + else () + EnableCompilerFlag("-Wall" true true) + endif () EnableCompilerFlag("-Wextra" true true) EnableCompilerFlag("-Wundef" true true) EnableCompilerFlag("-Wshadow" true true)