From 3e287b3a26cf8928dca6285176cfdba649691cc2 Mon Sep 17 00:00:00 2001 From: Petr Hosek Date: Tue, 6 Jun 2023 00:56:26 -0700 Subject: [PATCH] Provide a CMake option to disable C++ exceptions (#1580) This allows disabling the use of C++ exceptions at CMake configure time. The value is encoded in the generated httplibTargets.cmake file and will be used by CMake projects that import it. --- CMakeLists.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index de27d50..943b7a5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -75,6 +75,10 @@ string(REGEX MATCH "([0-9]+\\.?)+" _httplib_version "${_raw_version_string}") project(httplib VERSION ${_httplib_version} LANGUAGES CXX) +# Lets you disable C++ exception during CMake configure time. +# The value is used in the install CMake config file. +option(HTTPLIB_NO_EXCEPTIONS "Disable the use of C++ exceptions" OFF) + # Change as needed to set an OpenSSL minimum version. # This is used in the installed Cmake config file. set(_HTTPLIB_OPENSSL_MIN_VER "1.1.1") @@ -229,6 +233,7 @@ target_link_libraries(${PROJECT_NAME} ${_INTERFACE_OR_PUBLIC} # Set the definitions to enable optional features target_compile_definitions(${PROJECT_NAME} ${_INTERFACE_OR_PUBLIC} + $<$:CPPHTTPLIB_NO_EXCEPTIONS> $<$:CPPHTTPLIB_BROTLI_SUPPORT> $<$:CPPHTTPLIB_ZLIB_SUPPORT> $<$:CPPHTTPLIB_OPENSSL_SUPPORT>