From eb3f06d4053277aac2caf5cfd7e4b9a30d3c8308 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sigbj=C3=B8rn=20Skj=C3=A6ret?= Date: Wed, 4 Feb 2026 11:22:40 +0100 Subject: [PATCH 01/10] add missing llama_add_compile_flags --- vendor/cpp-httplib/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/vendor/cpp-httplib/CMakeLists.txt b/vendor/cpp-httplib/CMakeLists.txt index 3d938d9f365..27cfd2a6712 100644 --- a/vendor/cpp-httplib/CMakeLists.txt +++ b/vendor/cpp-httplib/CMakeLists.txt @@ -3,6 +3,8 @@ license_add_file("cpp-httplib" "LICENSE") find_package(Threads REQUIRED) +llama_add_compile_flags() + add_library(${TARGET} STATIC httplib.cpp httplib.h) if (NOT MSVC) # disable warnings in 3rd party code From c6296d63c5d23a9317aa08c60a967cfa90e8f6fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sigbj=C3=B8rn=20Skj=C3=A6ret?= Date: Wed, 4 Feb 2026 12:03:54 +0100 Subject: [PATCH 02/10] remove fatal warnings definition --- vendor/cpp-httplib/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/vendor/cpp-httplib/CMakeLists.txt b/vendor/cpp-httplib/CMakeLists.txt index 27cfd2a6712..8cf740ba1bb 100644 --- a/vendor/cpp-httplib/CMakeLists.txt +++ b/vendor/cpp-httplib/CMakeLists.txt @@ -3,6 +3,7 @@ license_add_file("cpp-httplib" "LICENSE") find_package(Threads REQUIRED) +remove_definitions(-DLLAMA_FATAL_WARNINGS) llama_add_compile_flags() add_library(${TARGET} STATIC httplib.cpp httplib.h) From c95bf1027bcba085e2fb6c076ec3a77d8b76e259 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sigbj=C3=B8rn=20Skj=C3=A6ret?= Date: Wed, 4 Feb 2026 14:41:15 +0100 Subject: [PATCH 03/10] override fatal warnings variable instead --- vendor/cpp-httplib/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/cpp-httplib/CMakeLists.txt b/vendor/cpp-httplib/CMakeLists.txt index 8cf740ba1bb..0ed526d199a 100644 --- a/vendor/cpp-httplib/CMakeLists.txt +++ b/vendor/cpp-httplib/CMakeLists.txt @@ -3,7 +3,7 @@ license_add_file("cpp-httplib" "LICENSE") find_package(Threads REQUIRED) -remove_definitions(-DLLAMA_FATAL_WARNINGS) +set(LLAMA_FATAL_WARNINGS OFF) llama_add_compile_flags() add_library(${TARGET} STATIC httplib.cpp httplib.h) From e42d896161e9a218ee53e0b0b94e94475a158ee9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sigbj=C3=B8rn=20Skj=C3=A6ret?= Date: Wed, 4 Feb 2026 15:00:39 +0100 Subject: [PATCH 04/10] try removing -Werror instead --- vendor/cpp-httplib/CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/vendor/cpp-httplib/CMakeLists.txt b/vendor/cpp-httplib/CMakeLists.txt index 0ed526d199a..99c1cec698a 100644 --- a/vendor/cpp-httplib/CMakeLists.txt +++ b/vendor/cpp-httplib/CMakeLists.txt @@ -3,8 +3,9 @@ license_add_file("cpp-httplib" "LICENSE") find_package(Threads REQUIRED) -set(LLAMA_FATAL_WARNINGS OFF) llama_add_compile_flags() +list(REMOVE_ITEM C_FLAGS -Werror) +list(REMOVE_ITEM CXX_FLAGS -Werror) add_library(${TARGET} STATIC httplib.cpp httplib.h) if (NOT MSVC) From aaaf28c4e412e89627738de545a205ba3c54e275 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sigbj=C3=B8rn=20Skj=C3=A6ret?= Date: Wed, 4 Feb 2026 15:35:11 +0100 Subject: [PATCH 05/10] attempt manipulating target properties instead --- vendor/cpp-httplib/CMakeLists.txt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/vendor/cpp-httplib/CMakeLists.txt b/vendor/cpp-httplib/CMakeLists.txt index 99c1cec698a..760f81ee7b8 100644 --- a/vendor/cpp-httplib/CMakeLists.txt +++ b/vendor/cpp-httplib/CMakeLists.txt @@ -4,13 +4,18 @@ license_add_file("cpp-httplib" "LICENSE") find_package(Threads REQUIRED) llama_add_compile_flags() -list(REMOVE_ITEM C_FLAGS -Werror) -list(REMOVE_ITEM CXX_FLAGS -Werror) add_library(${TARGET} STATIC httplib.cpp httplib.h) if (NOT MSVC) # disable warnings in 3rd party code target_compile_options(${TARGET} PRIVATE -w) + get_target_property(target_options ${TARGET} COMPILE_OPTIONS) + list(REMOVE_ITEM target_options "-Werror") + set_target_properties(${TARGET} PROPERTIES COMPILE_OPTIONS "${target_options}") +else() + get_target_property(target_options ${TARGET} COMPILE_OPTIONS) + list(REMOVE_ITEM target_options "/WX") + set_target_properties(${TARGET} PROPERTIES COMPILE_OPTIONS "${target_options}") endif() target_link_libraries(${TARGET} PRIVATE Threads::Threads) From 65047275703376d7f4c4203d9f56b6a1b4b1e132 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sigbj=C3=B8rn=20Skj=C3=A6ret?= Date: Wed, 4 Feb 2026 16:06:31 +0100 Subject: [PATCH 06/10] try setting -Wno-unused-parameter --- vendor/cpp-httplib/CMakeLists.txt | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/vendor/cpp-httplib/CMakeLists.txt b/vendor/cpp-httplib/CMakeLists.txt index 760f81ee7b8..17d09921d62 100644 --- a/vendor/cpp-httplib/CMakeLists.txt +++ b/vendor/cpp-httplib/CMakeLists.txt @@ -8,14 +8,7 @@ llama_add_compile_flags() add_library(${TARGET} STATIC httplib.cpp httplib.h) if (NOT MSVC) # disable warnings in 3rd party code - target_compile_options(${TARGET} PRIVATE -w) - get_target_property(target_options ${TARGET} COMPILE_OPTIONS) - list(REMOVE_ITEM target_options "-Werror") - set_target_properties(${TARGET} PROPERTIES COMPILE_OPTIONS "${target_options}") -else() - get_target_property(target_options ${TARGET} COMPILE_OPTIONS) - list(REMOVE_ITEM target_options "/WX") - set_target_properties(${TARGET} PROPERTIES COMPILE_OPTIONS "${target_options}") + target_compile_options(${TARGET} PRIVATE -w -Wno-unused-parameter) endif() target_link_libraries(${TARGET} PRIVATE Threads::Threads) From 8b435d1d150d454a162a5f8a25191ed6397625ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sigbj=C3=B8rn=20Skj=C3=A6ret?= Date: Wed, 4 Feb 2026 16:23:17 +0100 Subject: [PATCH 07/10] replace cmake flags directly --- vendor/cpp-httplib/CMakeLists.txt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/vendor/cpp-httplib/CMakeLists.txt b/vendor/cpp-httplib/CMakeLists.txt index 17d09921d62..5d88c249d3b 100644 --- a/vendor/cpp-httplib/CMakeLists.txt +++ b/vendor/cpp-httplib/CMakeLists.txt @@ -8,7 +8,7 @@ llama_add_compile_flags() add_library(${TARGET} STATIC httplib.cpp httplib.h) if (NOT MSVC) # disable warnings in 3rd party code - target_compile_options(${TARGET} PRIVATE -w -Wno-unused-parameter) + target_compile_options(${TARGET} PRIVATE -w) endif() target_link_libraries(${TARGET} PRIVATE Threads::Threads) @@ -30,6 +30,12 @@ target_compile_definitions(${TARGET} PRIVATE CPPHTTPLIB_TCP_NODELAY=1 ) +if(LLAMA_FATAL_WARNINGS) + # disable fatal warnings in 3rd party code + string(REPLACE "-Werror" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + string(REPLACE "-Werror" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") +endif() + set(OPENSSL_NO_ASM ON CACHE BOOL "Disable OpenSSL ASM code when building BoringSSL or LibreSSL") if (LLAMA_BUILD_BORINGSSL) From 5d648483d03b3fe3720e615950808ae051f78217 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sigbj=C3=B8rn=20Skj=C3=A6ret?= Date: Wed, 4 Feb 2026 21:20:49 +0100 Subject: [PATCH 08/10] remove target properties after add_subdirectory --- vendor/cpp-httplib/CMakeLists.txt | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/vendor/cpp-httplib/CMakeLists.txt b/vendor/cpp-httplib/CMakeLists.txt index 5d88c249d3b..b101e2cfb2a 100644 --- a/vendor/cpp-httplib/CMakeLists.txt +++ b/vendor/cpp-httplib/CMakeLists.txt @@ -30,12 +30,6 @@ target_compile_definitions(${TARGET} PRIVATE CPPHTTPLIB_TCP_NODELAY=1 ) -if(LLAMA_FATAL_WARNINGS) - # disable fatal warnings in 3rd party code - string(REPLACE "-Werror" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - string(REPLACE "-Werror" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") -endif() - set(OPENSSL_NO_ASM ON CACHE BOOL "Disable OpenSSL ASM code when building BoringSSL or LibreSSL") if (LLAMA_BUILD_BORINGSSL) @@ -154,6 +148,19 @@ elseif (LLAMA_OPENSSL) endif() endif() +if(LLAMA_FATAL_WARNINGS) + # disable fatal warnings in 3rd party code + if (MSVC) + get_target_property(target_options ${TARGET} COMPILE_OPTIONS) + list(REMOVE_ITEM target_options "/WX") + set_target_properties(${TARGET} PROPERTIES COMPILE_OPTIONS "${target_options}") + else() + get_target_property(target_options ${TARGET} COMPILE_OPTIONS) + list(REMOVE_ITEM target_options "-Werror") + set_target_properties(${TARGET} PROPERTIES COMPILE_OPTIONS "${target_options}") + endif() +endif() + if (CPPHTTPLIB_OPENSSL_SUPPORT) target_compile_definitions(${TARGET} PUBLIC CPPHTTPLIB_OPENSSL_SUPPORT) # used in server.cpp if (APPLE AND CMAKE_SYSTEM_NAME STREQUAL "Darwin") From d878d248f27188a1bb0f6cbb074cce680f3911e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sigbj=C3=B8rn=20Skj=C3=A6ret?= Date: Wed, 4 Feb 2026 22:15:52 +0100 Subject: [PATCH 09/10] target crypto directly --- vendor/cpp-httplib/CMakeLists.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/vendor/cpp-httplib/CMakeLists.txt b/vendor/cpp-httplib/CMakeLists.txt index b101e2cfb2a..07891583c99 100644 --- a/vendor/cpp-httplib/CMakeLists.txt +++ b/vendor/cpp-httplib/CMakeLists.txt @@ -148,16 +148,16 @@ elseif (LLAMA_OPENSSL) endif() endif() -if(LLAMA_FATAL_WARNINGS) +if((LLAMA_BUILD_BORINGSSL OR LLAMA_BUILD_LIBRESSL) AND LLAMA_FATAL_WARNINGS) # disable fatal warnings in 3rd party code if (MSVC) - get_target_property(target_options ${TARGET} COMPILE_OPTIONS) + get_target_property(target_options crypto COMPILE_OPTIONS) list(REMOVE_ITEM target_options "/WX") - set_target_properties(${TARGET} PROPERTIES COMPILE_OPTIONS "${target_options}") + set_target_properties(crypto PROPERTIES COMPILE_OPTIONS "${target_options}") else() - get_target_property(target_options ${TARGET} COMPILE_OPTIONS) + get_target_property(target_options crypto COMPILE_OPTIONS) list(REMOVE_ITEM target_options "-Werror") - set_target_properties(${TARGET} PROPERTIES COMPILE_OPTIONS "${target_options}") + set_target_properties(crypto PROPERTIES COMPILE_OPTIONS "${target_options}") endif() endif() From 201d6ba6d1cd433cd68bb6af5241553675abd2e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sigbj=C3=B8rn=20Skj=C3=A6ret?= Date: Thu, 5 Feb 2026 00:55:30 +0100 Subject: [PATCH 10/10] disable all warnings for ssl, crypto and fipsmodule --- vendor/cpp-httplib/CMakeLists.txt | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/vendor/cpp-httplib/CMakeLists.txt b/vendor/cpp-httplib/CMakeLists.txt index 07891583c99..18974d64cab 100644 --- a/vendor/cpp-httplib/CMakeLists.txt +++ b/vendor/cpp-httplib/CMakeLists.txt @@ -6,8 +6,11 @@ find_package(Threads REQUIRED) llama_add_compile_flags() add_library(${TARGET} STATIC httplib.cpp httplib.h) -if (NOT MSVC) - # disable warnings in 3rd party code + +# disable warnings in 3rd party code +if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + target_compile_options(${TARGET} PRIVATE /w) +else() target_compile_options(${TARGET} PRIVATE -w) endif() @@ -148,16 +151,20 @@ elseif (LLAMA_OPENSSL) endif() endif() -if((LLAMA_BUILD_BORINGSSL OR LLAMA_BUILD_LIBRESSL) AND LLAMA_FATAL_WARNINGS) - # disable fatal warnings in 3rd party code - if (MSVC) - get_target_property(target_options crypto COMPILE_OPTIONS) - list(REMOVE_ITEM target_options "/WX") - set_target_properties(crypto PROPERTIES COMPILE_OPTIONS "${target_options}") +# disable warnings in 3rd party code +if(LLAMA_BUILD_BORINGSSL OR LLAMA_BUILD_LIBRESSL) + if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + target_compile_options(ssl PRIVATE /w) + target_compile_options(crypto PRIVATE /w) + if(LLAMA_BUILD_BORINGSSL) + target_compile_options(fipsmodule PRIVATE /w) + endif() else() - get_target_property(target_options crypto COMPILE_OPTIONS) - list(REMOVE_ITEM target_options "-Werror") - set_target_properties(crypto PROPERTIES COMPILE_OPTIONS "${target_options}") + target_compile_options(ssl PRIVATE -w) + target_compile_options(crypto PRIVATE -w) + if(LLAMA_BUILD_BORINGSSL) + target_compile_options(fipsmodule PRIVATE -w) + endif() endif() endif()