diff --git a/CMakeLists.txt b/CMakeLists.txt index 34a696a..83353fb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -85,31 +85,18 @@ target_compile_definitions(${PROJECT_NAME} target_compile_options(${PROJECT_NAME} PRIVATE $<$,$>: + -Wno-c++98-compat + -Wno-c++98-compat-pedantic -Wno-covered-switch-default -Wno-disabled-macro-expansion + -Wno-documentation-unknown-command -Wno-exit-time-destructors -Wno-global-constructors - -Wno-switch-enum>) - -target_compile_options(${PROJECT_NAME} - PUBLIC - $<$,$>: - -Wno-c++98-compat-pedantic - -Wno-ctad-maybe-unsupported -Wno-padded + -Wno-switch-enum -Wno-unknown-warning-option - -Wno-weak-vtables>) - -target_compile_options(${PROJECT_NAME} - PRIVATE - $<$: - /W4> - PRIVATE - $<$: - -Wall -Wextra -Wpedantic> - PRIVATE - $<$,$>: - -Weverything -Wconversion>) + -Wno-weak-vtables + >) # # dependencies @@ -129,7 +116,7 @@ if(USE_EMBEDDED_CURL) FetchContent_Declare( embedded_curl GIT_REPOSITORY https://github.com/curl/curl - GIT_TAG curl-7_78_0) + GIT_TAG curl-7_84_0) FetchContent_GetProperties(embedded_curl) if(NOT embedded_curl_POPULATED) @@ -147,19 +134,19 @@ if(USE_EMBEDDED_CURL) endif() if(WIN32) - set(CMAKE_USE_SCHANNEL ON CACHE BOOL "" FORCE) + set(CURL_USE_SCHANNEL ON CACHE BOOL "" FORCE) set(CURL_CA_PATH "none" CACHE STRING "" FORCE) set(CURL_CA_BUNDLE "none" CACHE STRING "" FORCE) endif() if(APPLE) - set(CMAKE_USE_SECTRANSP ON CACHE BOOL "" FORCE) + set(CURL_USE_SECTRANSP ON CACHE BOOL "" FORCE) set(CURL_CA_PATH "none" CACHE STRING "" FORCE) set(CURL_CA_BUNDLE "none" CACHE STRING "" FORCE) endif() if(UNIX AND NOT APPLE) - set(CMAKE_USE_OPENSSL ON CACHE BOOL "" FORCE) + set(CURL_USE_OPENSSL ON CACHE BOOL "" FORCE) set(CURL_CA_PATH "auto" CACHE STRING "" FORCE) set(CURL_CA_BUNDLE "auto" CACHE STRING "" FORCE) endif() @@ -170,13 +157,27 @@ if(USE_EMBEDDED_CURL) endif() # -# unit tests +# BUILD_AS_STANDALONE # -if(BUILD_AS_STANDALONE) - option(BUILD_WITH_UNTESTS "Build with unit tests" ON) - if(BUILD_WITH_UNTESTS) - enable_testing() - add_subdirectory(untests) - endif() +if(NOT ${BUILD_AS_STANDALONE}) + return() endif() + +target_compile_options(${PROJECT_NAME} + PUBLIC + $<$: + /WX /W4> + PUBLIC + $<$: + -Werror -Wall -Wextra -Wpedantic> + PUBLIC + $<$,$>: + -Werror -Weverything -Wconversion>) + +enable_testing() +set_property(GLOBAL PROPERTY USE_FOLDERS ON) +set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER "CMake") +list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") + +add_subdirectory(untests) diff --git a/sources/curly.hpp/curly.cpp b/sources/curly.hpp/curly.cpp index 358d3e3..9de60a8 100644 --- a/sources/curly.hpp/curly.cpp +++ b/sources/curly.hpp/curly.cpp @@ -35,7 +35,7 @@ namespace public: using data_t = std::vector; - default_uploader(const data_t* src) noexcept + explicit default_uploader(const data_t* src) noexcept : data_(*src) , size_(src->size()) {} @@ -59,7 +59,7 @@ namespace public: using data_t = std::vector; - default_downloader(data_t* dst) noexcept + explicit default_downloader(data_t* dst) noexcept : data_(*dst) {} std::size_t write(const char* src, std::size_t size) override { diff --git a/untests/CMakeLists.txt b/untests/CMakeLists.txt index ca043fb..3185906 100644 --- a/untests/CMakeLists.txt +++ b/untests/CMakeLists.txt @@ -23,18 +23,14 @@ target_link_libraries(${PROJECT_NAME} curly.hpp) target_compile_options(${PROJECT_NAME} PRIVATE $<$,$>: - -Wno-zero-as-null-pointer-constant>) - -target_compile_options(${PROJECT_NAME} - PRIVATE - $<$: - /WX /W4> - PRIVATE - $<$: - -Werror -Wall -Wextra -Wpedantic> - PRIVATE - $<$,$>: - -Werror -Weverything -Wconversion>) + -Wno-c++98-compat + -Wno-c++98-compat-pedantic + -Wno-ctad-maybe-unsupported + -Wno-padded + -Wno-unknown-warning-option + -Wno-weak-vtables + -Wno-zero-as-null-pointer-constant + >) add_test(${PROJECT_NAME} ${PROJECT_NAME})