| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- find_package(GTest)
- if(GTest_FOUND)
- if(NOT TARGET GTest::gtest_main AND TARGET GTest::Main)
- # CMake <3.20
- add_library(GTest::gtest_main INTERFACE IMPORTED)
- target_link_libraries(GTest::gtest_main INTERFACE GTest::Main)
- endif()
- else()
- if(POLICY CMP0135)
- cmake_policy(SET CMP0135 NEW)
- endif()
- include(FetchContent)
- set(BUILD_GMOCK OFF)
- set(INSTALL_GTEST OFF)
- set(gtest_force_shared_crt ON)
- FetchContent_Declare(
- gtest
- URL https://github.com/google/googletest/archive/main.tar.gz
- )
- FetchContent_MakeAvailable(gtest)
- endif()
- find_package(CURL REQUIRED)
- add_executable(httplib-test test.cc include_httplib.cc $<$<BOOL:${WIN32}>:include_windows_h.cc>)
- target_compile_options(httplib-test PRIVATE "$<$<CXX_COMPILER_ID:MSVC>:/utf-8;/bigobj>")
- target_link_libraries(httplib-test PRIVATE httplib GTest::gtest_main CURL::libcurl)
- gtest_discover_tests(httplib-test)
- file(
- COPY www www2 www3 ca-bundle.crt image.jpg
- DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
- )
- if(HTTPLIB_IS_USING_OPENSSL)
- if (OPENSSL_VERSION VERSION_LESS "3.2.0")
- set(OPENSSL_X509_FLAG "-x509")
- else()
- set(OPENSSL_X509_FLAG "-x509v1")
- endif()
- find_program(OPENSSL_COMMAND
- NAMES openssl
- PATHS ${OPENSSL_INCLUDE_DIR}/../bin
- REQUIRED
- )
- execute_process(
- COMMAND ${OPENSSL_COMMAND} genrsa 2048
- OUTPUT_FILE key.pem
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
- COMMAND_ERROR_IS_FATAL ANY
- )
- execute_process(
- COMMAND ${OPENSSL_COMMAND} req -new -batch -config ${CMAKE_CURRENT_LIST_DIR}/test.conf -key key.pem
- COMMAND ${OPENSSL_COMMAND} x509 -days 3650 -req -signkey key.pem
- OUTPUT_FILE cert.pem
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
- COMMAND_ERROR_IS_FATAL ANY
- )
- execute_process(
- COMMAND ${OPENSSL_COMMAND} req ${OPENSSL_X509_FLAG} -new -config ${CMAKE_CURRENT_LIST_DIR}/test.conf -key key.pem -sha256 -days 3650 -nodes -out cert2.pem -extensions SAN
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
- COMMAND_ERROR_IS_FATAL ANY
- )
- execute_process(
- COMMAND ${OPENSSL_COMMAND} genrsa 2048
- OUTPUT_FILE rootCA.key.pem
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
- COMMAND_ERROR_IS_FATAL ANY
- )
- execute_process(
- COMMAND ${OPENSSL_COMMAND} req ${OPENSSL_X509_FLAG} -new -batch -config ${CMAKE_CURRENT_LIST_DIR}/test.rootCA.conf -key rootCA.key.pem -days 1024
- OUTPUT_FILE rootCA.cert.pem
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
- COMMAND_ERROR_IS_FATAL ANY
- )
- execute_process(
- COMMAND ${OPENSSL_COMMAND} genrsa 2048
- OUTPUT_FILE client.key.pem
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
- COMMAND_ERROR_IS_FATAL ANY
- )
- execute_process(
- COMMAND ${OPENSSL_COMMAND} req -new -batch -config ${CMAKE_CURRENT_LIST_DIR}/test.conf -key client.key.pem
- COMMAND ${OPENSSL_COMMAND} x509 -days 370 -req -CA rootCA.cert.pem -CAkey rootCA.key.pem -CAcreateserial
- OUTPUT_FILE client.cert.pem
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
- COMMAND_ERROR_IS_FATAL ANY
- )
- execute_process(
- COMMAND ${OPENSSL_COMMAND} genrsa -passout pass:test123! 2048
- OUTPUT_FILE key_encrypted.pem
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
- COMMAND_ERROR_IS_FATAL ANY
- )
- execute_process(
- COMMAND ${OPENSSL_COMMAND} req -new -batch -config ${CMAKE_CURRENT_LIST_DIR}/test.conf -key key_encrypted.pem
- COMMAND ${OPENSSL_COMMAND} x509 -days 3650 -req -signkey key_encrypted.pem
- OUTPUT_FILE cert_encrypted.pem
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
- COMMAND_ERROR_IS_FATAL ANY
- )
- execute_process(
- COMMAND ${OPENSSL_COMMAND} genrsa -aes256 -passout pass:test012! 2048
- OUTPUT_FILE client_encrypted.key.pem
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
- COMMAND_ERROR_IS_FATAL ANY
- )
- execute_process(
- COMMAND ${OPENSSL_COMMAND} req -new -batch -config ${CMAKE_CURRENT_LIST_DIR}/test.conf -key client_encrypted.key.pem -passin pass:test012!
- COMMAND ${OPENSSL_COMMAND} x509 -days 370 -req -CA rootCA.cert.pem -CAkey rootCA.key.pem -CAcreateserial
- OUTPUT_FILE client_encrypted.cert.pem
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
- COMMAND_ERROR_IS_FATAL ANY
- )
- endif()
- add_subdirectory(fuzzing)
|