mirror of
https://github.com/boostorg/beast.git
synced 2025-06-25 03:51:36 +02:00
committed by
Mohammad Nejati
parent
a21250d12d
commit
75e45287fb
5
.github/workflows/fuzz.yml
vendored
5
.github/workflows/fuzz.yml
vendored
@ -63,7 +63,8 @@ jobs:
|
|||||||
cmake \
|
cmake \
|
||||||
-DCMAKE_CXX_COMPILER=clang++ \
|
-DCMAKE_CXX_COMPILER=clang++ \
|
||||||
-DCMAKE_C_COMPILER=clang \
|
-DCMAKE_C_COMPILER=clang \
|
||||||
-DBeast_BUILD_TESTS=ON \
|
-DBOOST_BEAST_BUILD_EXAMPLES=OFF \
|
||||||
-DBeast_BUILD_FUZZERS=ON \
|
-DBOOST_BEAST_BUILD_TESTS=ON \
|
||||||
|
-DBOOST_BEAST_BUILD_FUZZERS=ON \
|
||||||
-DBOOST_BEAST_FUZZER_CORPUS_PATH=${{ github.workspace }}/corpus.tar ..
|
-DBOOST_BEAST_FUZZER_CORPUS_PATH=${{ github.workspace }}/corpus.tar ..
|
||||||
make boost_beast_fuzz_all
|
make boost_beast_fuzz_all
|
||||||
|
418
CMakeLists.txt
418
CMakeLists.txt
@ -1,48 +1,8 @@
|
|||||||
if(NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
|
|
||||||
|
|
||||||
# Generated by `boostdep --cmake beast`
|
|
||||||
# Copyright 2020, 2021 Peter Dimov
|
|
||||||
# Distributed under the Boost Software License, Version 1.0.
|
|
||||||
# https://www.boost.org/LICENSE_1_0.txt
|
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 3.8...3.20)
|
|
||||||
|
|
||||||
project(boost_beast VERSION "${BOOST_SUPERPROJECT_VERSION}" LANGUAGES CXX)
|
|
||||||
|
|
||||||
add_library(boost_beast INTERFACE)
|
|
||||||
add_library(Boost::beast ALIAS boost_beast)
|
|
||||||
|
|
||||||
target_include_directories(boost_beast INTERFACE include)
|
|
||||||
|
|
||||||
target_link_libraries(boost_beast
|
|
||||||
INTERFACE
|
|
||||||
Boost::asio
|
|
||||||
Boost::assert
|
|
||||||
Boost::bind
|
|
||||||
Boost::config
|
|
||||||
Boost::container
|
|
||||||
Boost::core
|
|
||||||
Boost::endian
|
|
||||||
Boost::intrusive
|
|
||||||
Boost::logic
|
|
||||||
Boost::mp11
|
|
||||||
Boost::optional
|
|
||||||
Boost::smart_ptr
|
|
||||||
Boost::static_assert
|
|
||||||
Boost::static_string
|
|
||||||
Boost::system
|
|
||||||
Boost::throw_exception
|
|
||||||
Boost::type_traits
|
|
||||||
Boost::utility
|
|
||||||
Boost::winapi
|
|
||||||
)
|
|
||||||
|
|
||||||
target_compile_features(boost_beast INTERFACE cxx_std_11)
|
|
||||||
|
|
||||||
else()
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2019 Vinnie Falco (vinnie.falco@gmail.com)
|
||||||
|
# Copyright (c) 2021 DMitry Arkhipov (grisumbras@gmail.com)
|
||||||
|
# Copyright (c) 2022 Alan de Freitas (alandefreitas@gmail.com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -50,254 +10,164 @@ else()
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
cmake_minimum_required (VERSION 3.5.1)
|
#-------------------------------------------------
|
||||||
|
|
||||||
if (POLICY CMP0074)
|
|
||||||
cmake_policy (SET CMP0074 NEW)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
function (DoGroupSources curdir rootdir folder)
|
|
||||||
file (GLOB children RELATIVE ${PROJECT_SOURCE_DIR}/${curdir} ${PROJECT_SOURCE_DIR}/${curdir}/*)
|
|
||||||
foreach (child ${children})
|
|
||||||
if (IS_DIRECTORY ${PROJECT_SOURCE_DIR}/${curdir}/${child})
|
|
||||||
DoGroupSources (${curdir}/${child} ${rootdir} ${folder})
|
|
||||||
elseif (${child} STREQUAL "CMakeLists.txt")
|
|
||||||
source_group("" FILES ${PROJECT_SOURCE_DIR}/${curdir}/${child})
|
|
||||||
else()
|
|
||||||
string (REGEX REPLACE ^${rootdir} ${folder} groupname ${curdir})
|
|
||||||
string (REPLACE "/" "\\" groupname ${groupname})
|
|
||||||
source_group (${groupname} FILES ${PROJECT_SOURCE_DIR}/${curdir}/${child})
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
function (GroupSources curdir folder)
|
|
||||||
DoGroupSources (${curdir} ${curdir} ${folder})
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------
|
|
||||||
#
|
#
|
||||||
# Beast
|
# Project
|
||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------
|
||||||
|
cmake_minimum_required(VERSION 3.8...3.20)
|
||||||
|
set(BOOST_BEAST_VERSION 356)
|
||||||
|
if (BOOST_SUPERPROJECT_VERSION)
|
||||||
|
set(BOOST_BEAST_VERSION ${BOOST_SUPERPROJECT_VERSION})
|
||||||
|
endif ()
|
||||||
|
project(boost_beast VERSION "${BOOST_BEAST_VERSION}" LANGUAGES CXX)
|
||||||
|
set(BOOST_BEAST_IS_ROOT OFF)
|
||||||
|
if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
|
||||||
|
set(BOOST_BEAST_IS_ROOT ON)
|
||||||
|
endif ()
|
||||||
|
set(__ignore__ ${CMAKE_C_COMPILER})
|
||||||
|
|
||||||
project (Beast VERSION 356)
|
#-------------------------------------------------
|
||||||
|
#
|
||||||
|
# Options
|
||||||
|
#
|
||||||
|
#-------------------------------------------------
|
||||||
|
if (BOOST_BEAST_IS_ROOT)
|
||||||
|
include(CTest)
|
||||||
|
endif ()
|
||||||
|
option(BOOST_BEAST_BUILD_TESTS "Build boost::beast tests" ${BUILD_TESTING})
|
||||||
|
option(BOOST_BEAST_BUILD_FUZZERS "Build boost::beast fuzzers" OFF)
|
||||||
|
option(BOOST_BEAST_BUILD_EXAMPLES "Build boost::beast examples" ${BOOST_BEAST_IS_ROOT})
|
||||||
|
option(BOOST_BEAST_WARNINGS_AS_ERRORS "Treat warnings as errors" OFF)
|
||||||
|
|
||||||
set_property (GLOBAL PROPERTY USE_FOLDERS ON)
|
# Check if environment variable BOOST_SRC_DIR is set
|
||||||
option (Beast_BUILD_EXAMPLES "Build examples" ON)
|
if (NOT DEFINED BOOST_SRC_DIR AND DEFINED ENV{BOOST_SRC_DIR})
|
||||||
option (Beast_BUILD_TESTS "Build tests" ${BUILD_TESTING})
|
set(DEFAULT_BOOST_SRC_DIR "$ENV{BOOST_SRC_DIR}")
|
||||||
option (Beast_BUILD_FUZZERS "Build fuzzers" OFF)
|
else ()
|
||||||
option (Beast_ENABLE_HANDLER_TRACKING "Define BOOST_ASIO_ENABLE_HANDLER_TRACKING when building libraries" OFF)
|
set(DEFAULT_BOOST_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../..")
|
||||||
option (Boost_USE_STATIC_LIBS "Use Static Boost libraries" ON)
|
endif ()
|
||||||
|
set(BOOST_SRC_DIR ${DEFAULT_BOOST_SRC_DIR} CACHE STRING "Boost source dir to use when running CMake from this directory")
|
||||||
|
|
||||||
if (MSVC)
|
#-------------------------------------------------
|
||||||
set (CMAKE_VERBOSE_MAKEFILE FALSE)
|
#
|
||||||
|
# Boost modules
|
||||||
add_definitions (
|
#
|
||||||
-D_WIN32_WINNT=0x0601
|
#-------------------------------------------------
|
||||||
-D_SCL_SECURE_NO_WARNINGS=1
|
# The boost super-project requires one explicit dependency per-line.
|
||||||
-D_CRT_SECURE_NO_WARNINGS=1
|
set(BOOST_BEAST_DEPENDENCIES
|
||||||
-D_SILENCE_CXX17_ALLOCATOR_VOID_DEPRECATION_WARNING
|
Boost::asio
|
||||||
-D_SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING
|
Boost::assert
|
||||||
)
|
Boost::bind
|
||||||
|
Boost::config
|
||||||
add_compile_options(
|
Boost::container
|
||||||
/bigobj # large object file format
|
Boost::container_hash
|
||||||
/permissive- # strict C++
|
Boost::core
|
||||||
#/wd4503 # decorated name length exceeded, name was truncated
|
Boost::endian
|
||||||
/W4 # enable all warnings
|
Boost::intrusive
|
||||||
/MP # Multi-processor compilation
|
Boost::logic
|
||||||
|
Boost::mp11
|
||||||
|
Boost::optional
|
||||||
|
Boost::preprocessor
|
||||||
|
Boost::smart_ptr
|
||||||
|
Boost::static_assert
|
||||||
|
Boost::static_string
|
||||||
|
Boost::system
|
||||||
|
Boost::throw_exception
|
||||||
|
Boost::type_index
|
||||||
|
Boost::type_traits
|
||||||
|
Boost::winapi
|
||||||
)
|
)
|
||||||
|
foreach (BOOST_BEAST_DEPENDENCY ${BOOST_BEAST_DEPENDENCIES})
|
||||||
set (Boost_USE_STATIC_RUNTIME ON)
|
if (BOOST_BEAST_DEPENDENCY MATCHES "^[ ]*Boost::([A-Za-z0-9_]+)[ ]*$")
|
||||||
|
list(APPEND BOOST_BEAST_INCLUDE_LIBRARIES ${CMAKE_MATCH_1})
|
||||||
set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd")
|
|
||||||
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Ob2 /Oi /Ot /GL /MT")
|
|
||||||
set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /Oi /Ot /MT")
|
|
||||||
|
|
||||||
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SAFESEH:NO")
|
|
||||||
set (CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /LTCG")
|
|
||||||
|
|
||||||
# for RelWithDebInfo builds, disable incremental linking
|
|
||||||
# since CMake sets it ON by default for that build type and it
|
|
||||||
# causes warnings
|
|
||||||
#
|
|
||||||
string (REPLACE "/INCREMENTAL" "/INCREMENTAL:NO" replacement_flags
|
|
||||||
${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO})
|
|
||||||
set (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO ${replacement_flags})
|
|
||||||
|
|
||||||
else()
|
|
||||||
set (THREADS_PREFER_PTHREAD_FLAG ON)
|
|
||||||
find_package (Threads)
|
|
||||||
link_libraries(Threads::Threads)
|
|
||||||
|
|
||||||
|
|
||||||
set( CMAKE_CXX_FLAGS
|
|
||||||
"${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wextra -Wpedantic -Wno-unused-parameter")
|
|
||||||
|
|
||||||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wrange-loop-analysis")
|
|
||||||
endif ()
|
endif ()
|
||||||
endif()
|
endforeach ()
|
||||||
|
# Conditional dependencies
|
||||||
|
if (BOOST_BEAST_BUILD_TESTS)
|
||||||
|
set(BOOST_BEAST_UNIT_TEST_LIBRARIES filesystem)
|
||||||
|
endif ()
|
||||||
|
if (BOOST_BEAST_BUILD_EXAMPLES)
|
||||||
|
set(BOOST_BEAST_EXAMPLE_LIBRARIES scope json)
|
||||||
|
endif ()
|
||||||
|
# Complete dependency list
|
||||||
|
set(BOOST_INCLUDE_LIBRARIES ${BOOST_BEAST_INCLUDE_LIBRARIES} ${BOOST_BEAST_UNIT_TEST_LIBRARIES} ${BOOST_BEAST_EXAMPLE_LIBRARIES})
|
||||||
|
set(BOOST_EXCLUDE_LIBRARIES beast)
|
||||||
|
|
||||||
# Must come before Boost includes, otherwise the
|
#-------------------------------------------------
|
||||||
# IDE sees the wrong file due to boost/ symlinks.
|
|
||||||
include_directories (include)
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------
|
|
||||||
#
|
#
|
||||||
# OpenSSL
|
# Add Boost Subdirectory
|
||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------
|
||||||
|
if (BOOST_BEAST_IS_ROOT)
|
||||||
|
set(CMAKE_FOLDER Dependencies)
|
||||||
|
# Find absolute BOOST_SRC_DIR
|
||||||
|
if (NOT IS_ABSOLUTE ${BOOST_SRC_DIR})
|
||||||
|
set(BOOST_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/${BOOST_SRC_DIR}")
|
||||||
|
endif ()
|
||||||
|
|
||||||
if (APPLE AND NOT DEFINED ENV{OPENSSL_ROOT_DIR})
|
# Validate BOOST_SRC_DIR
|
||||||
find_program(HOMEBREW brew)
|
set(BOOST_SRC_DIR_IS_VALID ON)
|
||||||
if (NOT HOMEBREW STREQUAL "HOMEBREW-NOTFOUND")
|
foreach (F "CMakeLists.txt" "Jamroot" "boost-build.jam" "bootstrap.sh" "libs")
|
||||||
execute_process(COMMAND brew --prefix openssl
|
if (NOT EXISTS "${BOOST_SRC_DIR}/${F}")
|
||||||
OUTPUT_VARIABLE OPENSSL_ROOT_DIR
|
message(STATUS "${BOOST_SRC_DIR}/${F} does not exist. Fallback to find_package.")
|
||||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
set(BOOST_SRC_DIR_IS_VALID OFF)
|
||||||
endif()
|
break()
|
||||||
endif()
|
endif ()
|
||||||
|
endforeach ()
|
||||||
|
|
||||||
find_package(OpenSSL)
|
# Create Boost interface targets
|
||||||
if (NOT MSVC)
|
if (BOOST_SRC_DIR_IS_VALID)
|
||||||
link_libraries(${OPENSSL_LIBRARIES})
|
# From BOOST_SRC_DIR
|
||||||
endif()
|
if (BUILD_SHARED_LIBS)
|
||||||
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||||
|
endif ()
|
||||||
|
set(BOOST_EXCLUDE_LIBRARIES ${PROJECT_NAME})
|
||||||
|
set(PREV_BUILD_TESTING ${BUILD_TESTING})
|
||||||
|
set(BUILD_TESTING OFF CACHE BOOL "Build the tests." FORCE)
|
||||||
|
add_subdirectory(${BOOST_SRC_DIR} Dependencies/boost EXCLUDE_FROM_ALL)
|
||||||
|
set(BUILD_TESTING ${PREV_BUILD_TESTING} CACHE BOOL "Build the tests." FORCE)
|
||||||
|
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${BOOST_SRC_DIR}/tools/cmake/include")
|
||||||
|
else ()
|
||||||
|
# From Boost Package
|
||||||
|
find_package(Boost REQUIRED COMPONENTS filesystem scope json)
|
||||||
|
foreach (BOOST_INCLUDE_LIBRARY ${BOOST_INCLUDE_LIBRARIES})
|
||||||
|
if (NOT TARGET Boost::${BOOST_INCLUDE_LIBRARY})
|
||||||
|
add_library(Boost::${BOOST_INCLUDE_LIBRARY} ALIAS Boost::headers)
|
||||||
|
endif ()
|
||||||
|
endforeach ()
|
||||||
|
endif ()
|
||||||
|
unset(CMAKE_FOLDER)
|
||||||
|
endif ()
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------
|
||||||
#
|
#
|
||||||
# Boost
|
# Library
|
||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------
|
||||||
|
add_library(boost_beast INTERFACE)
|
||||||
|
add_library(Boost::beast ALIAS boost_beast)
|
||||||
|
target_include_directories(boost_beast INTERFACE include)
|
||||||
|
target_link_libraries(boost_beast INTERFACE ${BOOST_BEAST_DEPENDENCIES})
|
||||||
|
target_compile_features(boost_beast INTERFACE cxx_std_11)
|
||||||
|
file(GLOB_RECURSE BOOST_BEAST_HEADERS CONFIGURE_DEPENDS include/boost/*.hpp)
|
||||||
|
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
||||||
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR}/include/boost PREFIX "" FILES ${BOOST_BEAST_HEADERS})
|
||||||
|
target_sources(boost_beast PRIVATE ${BOOST_BEAST_HEADERS} build.jam)
|
||||||
|
|
||||||
get_filename_component (BOOST_ROOT ../../ ABSOLUTE)
|
#-------------------------------------------------
|
||||||
|
|
||||||
# VFALCO I want static but "b2 stage" builds a minimal set which excludes static
|
|
||||||
add_definitions (-DBOOST_ALL_STATIC_LINK=1)
|
|
||||||
|
|
||||||
add_definitions (-DBOOST_ASIO_NO_DEPRECATED=1)
|
|
||||||
add_definitions (-DBOOST_ASIO_DISABLE_BOOST_ARRAY=1)
|
|
||||||
add_definitions (-DBOOST_ASIO_DISABLE_BOOST_BIND=1)
|
|
||||||
add_definitions (-DBOOST_ASIO_DISABLE_BOOST_DATE_TIME=1)
|
|
||||||
add_definitions (-DBOOST_ASIO_DISABLE_BOOST_REGEX=1)
|
|
||||||
add_definitions (-DBOOST_COROUTINES_NO_DEPRECATION_WARNING=1)
|
|
||||||
|
|
||||||
if (MSVC)
|
|
||||||
include_directories (${BOOST_ROOT})
|
|
||||||
link_libraries( bcrypt.lib )
|
|
||||||
else()
|
|
||||||
set(BOOST_INCLUDEDIR ${BOOST_ROOT})
|
|
||||||
set(BOOST_LIBRARYDIR ${BOOST_ROOT}/stage/lib)
|
|
||||||
find_package(Boost COMPONENTS context filesystem system thread REQUIRED)
|
|
||||||
link_libraries(Boost::context Boost::filesystem Boost::system Boost::thread)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
link_directories(${BOOST_ROOT}/stage/lib)
|
|
||||||
|
|
||||||
if (MINGW)
|
|
||||||
link_libraries(ws2_32 mswsock)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
if ("${VARIANT}" STREQUAL "coverage")
|
|
||||||
if (MSVC)
|
|
||||||
else()
|
|
||||||
set (CMAKE_BUILD_TYPE DEBUG)
|
|
||||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse4.2 --coverage")
|
|
||||||
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --coverage")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
elseif ("${VARIANT}" STREQUAL "ubasan")
|
|
||||||
if (MSVC)
|
|
||||||
else()
|
|
||||||
set (CMAKE_BUILD_TYPE RELWITHDEBINFO)
|
|
||||||
set (CMAKE_CXX_FLAGS
|
|
||||||
"${CMAKE_CXX_FLAGS} -DBOOST_BEAST_NO_SLOW_TESTS=1 -msse4.2 -funsigned-char -fno-omit-frame-pointer -fsanitize=address,undefined -fno-sanitize-recover=address,undefined -fsanitize-blacklist=${PROJECT_SOURCE_DIR}/tools/blacklist.supp")
|
|
||||||
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=address,undefined -fno-sanitize-recover=address,undefined")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
elseif ("${VARIANT}" STREQUAL "debug")
|
|
||||||
set (CMAKE_BUILD_TYPE DEBUG)
|
|
||||||
|
|
||||||
elseif ("${VARIANT}" STREQUAL "release")
|
|
||||||
set (CMAKE_BUILD_TYPE RELEASE)
|
|
||||||
|
|
||||||
endif()
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------
|
|
||||||
#
|
#
|
||||||
# Static Libraries
|
# Tests
|
||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------
|
||||||
|
if (BOOST_BEAST_BUILD_TESTS)
|
||||||
|
add_subdirectory(test)
|
||||||
|
endif ()
|
||||||
|
|
||||||
add_definitions (-DBOOST_ASIO_SEPARATE_COMPILATION=1)
|
#-------------------------------------------------
|
||||||
add_definitions (-DBOOST_BEAST_SEPARATE_COMPILATION=1)
|
|
||||||
|
|
||||||
GroupSources (test "/")
|
|
||||||
|
|
||||||
add_library (
|
|
||||||
lib-asio STATIC
|
|
||||||
test/lib_asio.cpp
|
|
||||||
)
|
|
||||||
if(Beast_ENABLE_HANDLER_TRACKING)
|
|
||||||
target_compile_definitions(lib-asio
|
|
||||||
PUBLIC BOOST_ASIO_ENABLE_HANDLER_TRACKING=1)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set_property(TARGET lib-asio PROPERTY FOLDER "static-libs")
|
|
||||||
|
|
||||||
add_library (
|
|
||||||
lib-asio-ssl STATIC
|
|
||||||
test/lib_asio_ssl.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
set_property(TARGET lib-asio-ssl PROPERTY FOLDER "static-libs")
|
|
||||||
|
|
||||||
add_library (
|
|
||||||
lib-beast STATIC
|
|
||||||
test/lib_beast.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
set_property(TARGET lib-beast PROPERTY FOLDER "static-libs")
|
|
||||||
|
|
||||||
target_link_libraries(lib-beast lib-asio)
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------
|
|
||||||
#
|
#
|
||||||
# Tests and examples
|
# Examples
|
||||||
#
|
#
|
||||||
|
#-------------------------------------------------
|
||||||
include_directories (.)
|
if (BOOST_BEAST_BUILD_EXAMPLES)
|
||||||
|
add_subdirectory(example)
|
||||||
if (OPENSSL_FOUND)
|
endif ()
|
||||||
include_directories (${OPENSSL_INCLUDE_DIR})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
file (GLOB_RECURSE BOOST_BEAST_FILES
|
|
||||||
${PROJECT_SOURCE_DIR}/include/boost/beast/*.hpp
|
|
||||||
${PROJECT_SOURCE_DIR}/include/boost/beast/*.ipp
|
|
||||||
)
|
|
||||||
|
|
||||||
file (GLOB_RECURSE BOOST_BEAST_EXPERIMENTAL_FILES
|
|
||||||
${PROJECT_SOURCE_DIR}/include/boost/beast/_experimental/*.hpp
|
|
||||||
${PROJECT_SOURCE_DIR}/include/boost/beast/_experimental/*.ipp
|
|
||||||
)
|
|
||||||
|
|
||||||
file (GLOB_RECURSE COMMON_FILES
|
|
||||||
${PROJECT_SOURCE_DIR}/example/common/*.hpp
|
|
||||||
)
|
|
||||||
|
|
||||||
if (Beast_BUILD_EXAMPLES AND
|
|
||||||
(NOT "${VARIANT}" STREQUAL "coverage") AND
|
|
||||||
(NOT "${VARIANT}" STREQUAL "ubasan"))
|
|
||||||
add_subdirectory (example)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (Beast_BUILD_TESTS)
|
|
||||||
add_subdirectory (test)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
endif()
|
|
||||||
|
@ -198,11 +198,9 @@ CMake may be used to generate a very nice Visual Studio solution and
|
|||||||
a set of Visual Studio project files using these commands:
|
a set of Visual Studio project files using these commands:
|
||||||
|
|
||||||
```
|
```
|
||||||
cd libs/beast
|
cmake -G "Visual Studio 17 2022" -A win32 -B bin -DCMAKE_TOOLCHAIN_FILE="C:/vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_CHAINLOAD_TOOLCHAIN_FILE="C:/boost/libs/beast/cmake/toolchains/msvc.cmake"
|
||||||
mkdir bin
|
|
||||||
cd bin
|
cmake -G "Visual Studio 17 2022" -A x64 -B bin64 -DCMAKE_TOOLCHAIN_FILE="C:/vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_CHAINLOAD_TOOLCHAIN_FILE="C:/boost/libs/beast/cmake/toolchains/msvc.cmake"
|
||||||
cmake -G "Visual Studio 17 2022" -A Win32 .. # for 32-bit Windows builds, or
|
|
||||||
cmake -G "Visual Studio 17 2022" -A x64 .. # for 64-bit Windows builds
|
|
||||||
```
|
```
|
||||||
|
|
||||||
The files in the repository are laid out thusly:
|
The files in the repository are laid out thusly:
|
||||||
|
5
cmake/toolchains/clang.cmake
Normal file
5
cmake/toolchains/clang.cmake
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# Include gcc options.
|
||||||
|
include(${CMAKE_CURRENT_LIST_DIR}/gcc.cmake)
|
||||||
|
|
||||||
|
# Compiler options.
|
||||||
|
add_compile_options(-Wrange-loop-analysis)
|
18
cmake/toolchains/common.cmake
Normal file
18
cmake/toolchains/common.cmake
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# C++ standard.
|
||||||
|
set(CMAKE_CXX_EXTENSIONS OFF CACHE STRING "")
|
||||||
|
|
||||||
|
# Static library linkage.
|
||||||
|
set(BUILD_SHARED_LIBS OFF CACHE STRING "")
|
||||||
|
add_definitions(-DBOOST_ALL_STATIC_LINK=1)
|
||||||
|
|
||||||
|
# Interprocedural optimization.
|
||||||
|
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE ON CACHE STRING "")
|
||||||
|
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_MINSIZEREL ON CACHE STRING "")
|
||||||
|
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELWITHDEBINFO ON CACHE STRING "")
|
||||||
|
|
||||||
|
# Compiler definitions.
|
||||||
|
if(WIN32)
|
||||||
|
add_definitions(-D_WIN32_WINNT=0x0601 -D_CRT_SECURE_NO_WARNINGS)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Project options.
|
5
cmake/toolchains/gcc.cmake
Normal file
5
cmake/toolchains/gcc.cmake
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# Include common options.
|
||||||
|
include(${CMAKE_CURRENT_LIST_DIR}/common.cmake)
|
||||||
|
|
||||||
|
# Compiler options.
|
||||||
|
add_compile_options(-Wall -Wextra -Wpedantic -Wno-unused-parameter)
|
35
cmake/toolchains/msvc.cmake
Normal file
35
cmake/toolchains/msvc.cmake
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
# Include common options.
|
||||||
|
include(${CMAKE_CURRENT_LIST_DIR}/common.cmake)
|
||||||
|
|
||||||
|
# Static runtime linkage.
|
||||||
|
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>" CACHE STRING "")
|
||||||
|
|
||||||
|
# Compiler options.
|
||||||
|
# Specific to C and CXX, to prevent passing them to MASM
|
||||||
|
add_compile_options(
|
||||||
|
$<$<COMPILE_LANGUAGE:CXX>:/bigobj>
|
||||||
|
$<$<COMPILE_LANGUAGE:CXX>:/permissive->
|
||||||
|
$<$<COMPILE_LANGUAGE:C,CXX>:/W4>
|
||||||
|
$<$<COMPILE_LANGUAGE:C,CXX>:/MP>
|
||||||
|
)
|
||||||
|
if("${CMAKE_GENERATOR_PLATFORM}" STREQUAL "Win32") # 32-bit
|
||||||
|
add_compile_options(
|
||||||
|
/arch:SSE2
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Linker options.
|
||||||
|
add_link_options(
|
||||||
|
)
|
||||||
|
|
||||||
|
# Disable logos.
|
||||||
|
foreach(lang C CXX ASM_MASM RC)
|
||||||
|
set(CMAKE_${lang}_FLAGS_INIT "/nologo")
|
||||||
|
endforeach()
|
||||||
|
foreach(type EXE SHARED MODULE)
|
||||||
|
set(CMAKE_${type}_LINKER_FLAGS_INIT "/nologo")
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
# Silence Visual Studio CMake integration warnings.
|
||||||
|
set(SILENCE_VS_DEFINITIONS ${CMAKE_TOOLCHAIN_FILE} ${CMAKE_C_COMPILER})
|
||||||
|
set(SILENCE_VS_DEFINITIONS)
|
@ -7,8 +7,10 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
add_subdirectory (advanced)
|
find_package(OpenSSL)
|
||||||
add_subdirectory (http)
|
|
||||||
add_subdirectory (websocket)
|
|
||||||
|
|
||||||
add_subdirectory (echo-op)
|
add_subdirectory(advanced)
|
||||||
|
add_subdirectory(http)
|
||||||
|
add_subdirectory(websocket)
|
||||||
|
|
||||||
|
add_subdirectory(echo-op)
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2013-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2013-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,6 +8,9 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
add_subdirectory (server)
|
add_subdirectory(server)
|
||||||
add_subdirectory (server-flex)
|
|
||||||
add_subdirectory (server-flex-awaitable)
|
if (OPENSSL_FOUND)
|
||||||
|
add_subdirectory(server-flex)
|
||||||
|
add_subdirectory(server-flex-awaitable)
|
||||||
|
endif ()
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,25 +8,15 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
if (OPENSSL_FOUND)
|
add_executable(advanced-server-flex-awaitable
|
||||||
GroupSources(include/boost/beast beast)
|
Jamfile
|
||||||
GroupSources(example/common common)
|
advanced_server_flex_awaitable.cpp)
|
||||||
GroupSources(example/advanced/server-flex-awaitable "/")
|
|
||||||
|
|
||||||
add_executable (advanced-server-flex-awaitable
|
target_include_directories(advanced-server-flex-awaitable
|
||||||
${BOOST_BEAST_FILES}
|
PRIVATE ${PROJECT_SOURCE_DIR})
|
||||||
${PROJECT_SOURCE_DIR}/example/common/server_certificate.hpp
|
|
||||||
Jamfile
|
|
||||||
advanced_server_flex_awaitable.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
set_property(TARGET advanced-server-flex-awaitable PROPERTY FOLDER "example-advanced-server")
|
target_link_libraries(advanced-server-flex-awaitable
|
||||||
|
PRIVATE Boost::beast Boost::scope OpenSSL::SSL OpenSSL::Crypto)
|
||||||
target_link_libraries (advanced-server-flex-awaitable
|
|
||||||
OpenSSL::SSL OpenSSL::Crypto
|
|
||||||
lib-asio
|
|
||||||
lib-asio-ssl
|
|
||||||
lib-beast
|
|
||||||
)
|
|
||||||
|
|
||||||
endif()
|
set_target_properties(advanced-server-flex-awaitable
|
||||||
|
PROPERTIES FOLDER "example-advanced-server")
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,25 +8,15 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
if (OPENSSL_FOUND)
|
add_executable(advanced-server-flex
|
||||||
GroupSources(include/boost/beast beast)
|
Jamfile
|
||||||
GroupSources(example/common common)
|
advanced_server_flex.cpp)
|
||||||
GroupSources(example/advanced/server-flex "/")
|
|
||||||
|
|
||||||
add_executable (advanced-server-flex
|
target_include_directories(advanced-server-flex
|
||||||
${BOOST_BEAST_FILES}
|
PRIVATE ${PROJECT_SOURCE_DIR})
|
||||||
${PROJECT_SOURCE_DIR}/example/common/server_certificate.hpp
|
|
||||||
Jamfile
|
|
||||||
advanced_server_flex.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
set_property(TARGET advanced-server-flex PROPERTY FOLDER "example-advanced-server")
|
target_link_libraries(advanced-server-flex
|
||||||
|
PRIVATE Boost::beast OpenSSL::SSL OpenSSL::Crypto)
|
||||||
target_link_libraries (advanced-server-flex
|
|
||||||
OpenSSL::SSL OpenSSL::Crypto
|
|
||||||
lib-asio
|
|
||||||
lib-asio-ssl
|
|
||||||
lib-beast
|
|
||||||
)
|
|
||||||
|
|
||||||
endif()
|
set_target_properties(advanced-server-flex
|
||||||
|
PROPERTIES FOLDER "example-advanced-server")
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,17 +8,10 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources(include/boost/beast beast)
|
add_executable(advanced-server
|
||||||
GroupSources(example/advanced/server "/")
|
|
||||||
|
|
||||||
add_executable (advanced-server
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
advanced_server.cpp
|
advanced_server.cpp)
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(advanced-server
|
target_link_libraries(advanced-server PRIVATE Boost::beast)
|
||||||
lib-asio
|
|
||||||
lib-beast)
|
|
||||||
|
|
||||||
set_property(TARGET advanced-server PROPERTY FOLDER "example-advanced-server")
|
set_target_properties(advanced-server PROPERTIES FOLDER "example-advanced-server")
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,17 +8,11 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources(include/boost/beast beast)
|
add_executable(echo-op
|
||||||
GroupSources(example/echo-op "/")
|
|
||||||
|
|
||||||
add_executable (echo-op
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
echo_op.cpp
|
echo_op.cpp)
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(echo-op
|
target_link_libraries(echo-op PRIVATE Boost::beast)
|
||||||
lib-asio
|
|
||||||
lib-beast)
|
|
||||||
|
|
||||||
set_property(TARGET echo-op PROPERTY FOLDER "example")
|
set_target_properties(echo-op
|
||||||
|
PROPERTIES FOLDER "example-echo-op")
|
||||||
|
@ -7,5 +7,5 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
add_subdirectory (client)
|
add_subdirectory(client)
|
||||||
add_subdirectory (server)
|
add_subdirectory(server)
|
||||||
|
@ -7,19 +7,18 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
add_subdirectory (async)
|
add_subdirectory(async)
|
||||||
add_subdirectory (awaitable)
|
add_subdirectory(awaitable)
|
||||||
add_subdirectory (coro)
|
add_subdirectory(body)
|
||||||
add_subdirectory (crawl)
|
add_subdirectory(coro)
|
||||||
add_subdirectory (sync)
|
add_subdirectory(crawl)
|
||||||
add_subdirectory (body)
|
add_subdirectory(methods)
|
||||||
add_subdirectory (methods)
|
add_subdirectory(sync)
|
||||||
|
|
||||||
if (OPENSSL_FOUND)
|
if (OPENSSL_FOUND)
|
||||||
add_subdirectory (async-ssl)
|
add_subdirectory(async-ssl)
|
||||||
add_subdirectory (async-ssl-system-executor)
|
add_subdirectory(async-ssl-system-executor)
|
||||||
add_subdirectory (awaitable-ssl)
|
add_subdirectory(awaitable-ssl)
|
||||||
add_subdirectory (coro-ssl)
|
add_subdirectory(coro-ssl)
|
||||||
add_subdirectory (sync-ssl)
|
add_subdirectory(sync-ssl)
|
||||||
endif()
|
endif ()
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,25 +8,15 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
if (OPENSSL_FOUND)
|
add_executable(http-client-async-ssl-system-executor
|
||||||
GroupSources(include/boost/beast beast)
|
Jamfile
|
||||||
GroupSources(example/common common)
|
http_client_async_ssl_system_executor.cpp)
|
||||||
GroupSources(example/http/client/async-ssl-system-executor "/")
|
|
||||||
|
|
||||||
add_executable (http-client-async-ssl-system-executor
|
target_include_directories(http-client-async-ssl-system-executor
|
||||||
${BOOST_BEAST_FILES}
|
PRIVATE ${PROJECT_SOURCE_DIR})
|
||||||
${PROJECT_SOURCE_DIR}/example/common/root_certificates.hpp
|
|
||||||
Jamfile
|
|
||||||
http_client_async_ssl_system_executor.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
set_property(TARGET http-client-async-ssl-system-executor PROPERTY FOLDER "example-http-client")
|
target_link_libraries(http-client-async-ssl-system-executor
|
||||||
|
PRIVATE Boost::beast OpenSSL::SSL OpenSSL::Crypto)
|
||||||
|
|
||||||
target_link_libraries (http-client-async-ssl-system-executor
|
set_target_properties(http-client-async-ssl-system-executor
|
||||||
OpenSSL::SSL OpenSSL::Crypto
|
PROPERTIES FOLDER "example-http-client")
|
||||||
lib-asio
|
|
||||||
lib-asio-ssl
|
|
||||||
lib-beast
|
|
||||||
)
|
|
||||||
|
|
||||||
endif()
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,25 +8,15 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
if (OPENSSL_FOUND)
|
add_executable(http-client-async-ssl
|
||||||
GroupSources(include/boost/beast beast)
|
Jamfile
|
||||||
GroupSources(example/common common)
|
http_client_async_ssl.cpp)
|
||||||
GroupSources(example/http/client/async-ssl "/")
|
|
||||||
|
|
||||||
add_executable (http-client-async-ssl
|
target_include_directories(http-client-async-ssl
|
||||||
${BOOST_BEAST_FILES}
|
PRIVATE ${PROJECT_SOURCE_DIR})
|
||||||
${PROJECT_SOURCE_DIR}/example/common/root_certificates.hpp
|
|
||||||
Jamfile
|
|
||||||
http_client_async_ssl.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
set_property(TARGET http-client-async-ssl PROPERTY FOLDER "example-http-client")
|
target_link_libraries(http-client-async-ssl
|
||||||
|
PRIVATE Boost::beast OpenSSL::SSL OpenSSL::Crypto)
|
||||||
|
|
||||||
target_link_libraries (http-client-async-ssl
|
set_target_properties(http-client-async-ssl
|
||||||
OpenSSL::SSL OpenSSL::Crypto
|
PROPERTIES FOLDER "example-http-client")
|
||||||
lib-asio
|
|
||||||
lib-asio-ssl
|
|
||||||
lib-beast
|
|
||||||
)
|
|
||||||
|
|
||||||
endif()
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,17 +8,11 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources(include/boost/beast beast)
|
add_executable(http-client-async
|
||||||
GroupSources(example/http/client/async "/")
|
|
||||||
|
|
||||||
add_executable (http-client-async
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
http_client_async.cpp
|
http_client_async.cpp)
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(http-client-async
|
target_link_libraries(http-client-async PRIVATE Boost::beast)
|
||||||
lib-asio
|
|
||||||
lib-beast)
|
|
||||||
|
|
||||||
set_property(TARGET http-client-async PROPERTY FOLDER "example-http-client")
|
set_target_properties(http-client-async
|
||||||
|
PROPERTIES FOLDER "example-http-client")
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,19 +8,15 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources(include/boost/beast beast)
|
add_executable(http-client-awaitable-ssl
|
||||||
GroupSources(example/http/client/awaitable "/")
|
|
||||||
|
|
||||||
add_executable (http-client-awaitable-ssl
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
http_client_awaitable_ssl.cpp
|
http_client_awaitable_ssl.cpp)
|
||||||
)
|
|
||||||
|
target_include_directories(http-client-awaitable-ssl
|
||||||
|
PRIVATE ${PROJECT_SOURCE_DIR})
|
||||||
|
|
||||||
target_link_libraries(http-client-awaitable-ssl
|
target_link_libraries(http-client-awaitable-ssl
|
||||||
OpenSSL::SSL OpenSSL::Crypto
|
PRIVATE Boost::beast OpenSSL::SSL OpenSSL::Crypto)
|
||||||
lib-asio
|
|
||||||
lib-asio-ssl
|
|
||||||
lib-beast)
|
|
||||||
|
|
||||||
set_property(TARGET http-client-awaitable-ssl PROPERTY FOLDER "example-http-client")
|
set_target_properties(http-client-awaitable-ssl
|
||||||
|
PROPERTIES FOLDER "example-http-client")
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,17 +8,11 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources(include/boost/beast beast)
|
add_executable(http-client-awaitable
|
||||||
GroupSources(example/http/client/awaitable "/")
|
|
||||||
|
|
||||||
add_executable (http-client-awaitable
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
http_client_awaitable.cpp
|
http_client_awaitable.cpp)
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(http-client-awaitable
|
target_link_libraries(http-client-awaitable PRIVATE Boost::beast)
|
||||||
lib-asio
|
|
||||||
lib-beast)
|
|
||||||
|
|
||||||
set_property(TARGET http-client-awaitable PROPERTY FOLDER "example-http-client")
|
set_target_properties(http-client-awaitable
|
||||||
|
PROPERTIES FOLDER "example-http-client")
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,17 +8,11 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources(include/boost/beast beast)
|
add_executable(http-client-json
|
||||||
GroupSources(example/http/client/coro "/")
|
|
||||||
|
|
||||||
add_executable (http-client-json
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
json_client.cpp
|
json_client.cpp)
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(http-client-json
|
target_link_libraries(http-client-json PRIVATE Boost::beast Boost::json)
|
||||||
lib-asio
|
|
||||||
lib-beast)
|
|
||||||
|
|
||||||
set_property(TARGET http-client-json PROPERTY FOLDER "example-json-client")
|
set_target_properties(http-client-json
|
||||||
|
PROPERTIES FOLDER "example-http-client")
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,25 +8,15 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
if (OPENSSL_FOUND)
|
add_executable(http-client-coro-ssl
|
||||||
GroupSources(include/boost/beast beast)
|
Jamfile
|
||||||
GroupSources(example/common common)
|
http_client_coro_ssl.cpp)
|
||||||
GroupSources(example/http/client/coro-ssl "/")
|
|
||||||
|
|
||||||
add_executable (http-client-coro-ssl
|
target_include_directories(http-client-coro-ssl
|
||||||
${BOOST_BEAST_FILES}
|
PRIVATE ${PROJECT_SOURCE_DIR})
|
||||||
${PROJECT_SOURCE_DIR}/example/common/root_certificates.hpp
|
|
||||||
Jamfile
|
|
||||||
http_client_coro_ssl.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
set_property(TARGET http-client-coro-ssl PROPERTY FOLDER "example-http-client")
|
target_link_libraries(http-client-coro-ssl
|
||||||
|
PRIVATE Boost::beast OpenSSL::SSL OpenSSL::Crypto)
|
||||||
|
|
||||||
target_link_libraries (http-client-coro-ssl
|
set_target_properties(http-client-coro-ssl
|
||||||
OpenSSL::SSL OpenSSL::Crypto
|
PROPERTIES FOLDER "example-http-client")
|
||||||
lib-asio
|
|
||||||
lib-asio-ssl
|
|
||||||
lib-beast
|
|
||||||
)
|
|
||||||
|
|
||||||
endif()
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,17 +8,11 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources(include/boost/beast beast)
|
add_executable(http-client-coro
|
||||||
GroupSources(example/http/client/coro "/")
|
|
||||||
|
|
||||||
add_executable (http-client-coro
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
http_client_coro.cpp
|
http_client_coro.cpp)
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(http-client-coro
|
target_link_libraries(http-client-coro PRIVATE Boost::beast)
|
||||||
lib-asio
|
|
||||||
lib-beast)
|
|
||||||
|
|
||||||
set_property(TARGET http-client-coro PROPERTY FOLDER "example-http-client")
|
set_target_properties(http-client-coro
|
||||||
|
PROPERTIES FOLDER "example-http-client")
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,20 +8,12 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources(include/boost/beast beast)
|
add_executable(http-crawl
|
||||||
GroupSources(example/http/client/crawl "/")
|
|
||||||
|
|
||||||
add_executable (http-crawl
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
urls_large_data.hpp
|
|
||||||
urls_large_data.cpp
|
|
||||||
http_crawl.cpp
|
http_crawl.cpp
|
||||||
)
|
urls_large_data.cpp)
|
||||||
|
|
||||||
target_link_libraries(http-crawl
|
target_link_libraries(http-crawl PRIVATE Boost::beast)
|
||||||
lib-asio
|
|
||||||
lib-beast)
|
|
||||||
|
|
||||||
set_property(TARGET http-crawl PROPERTY FOLDER "example-http-client")
|
|
||||||
|
|
||||||
|
set_target_properties(http-crawl
|
||||||
|
PROPERTIES FOLDER "example-http-client")
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,17 +8,11 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources(include/boost/beast beast)
|
add_executable(http-client-methods
|
||||||
GroupSources(example/http/client/methods "/")
|
|
||||||
|
|
||||||
add_executable (http-client-methods
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
http_client_methods.cpp
|
http_client_methods.cpp)
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(http-client-methods
|
target_link_libraries(http-client-methods PRIVATE Boost::beast)
|
||||||
lib-asio
|
|
||||||
lib-beast)
|
|
||||||
|
|
||||||
set_property(TARGET http-client-methods PROPERTY FOLDER "example-http-client-methods")
|
set_target_properties(http-client-methods
|
||||||
|
PROPERTIES FOLDER "example-http-client")
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,25 +8,15 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
if (OPENSSL_FOUND)
|
add_executable(http-client-sync-ssl
|
||||||
GroupSources(include/boost/beast beast)
|
Jamfile
|
||||||
GroupSources(example/common common)
|
http_client_sync_ssl.cpp)
|
||||||
GroupSources(example/http/client/sync-ssl "/")
|
|
||||||
|
|
||||||
add_executable (http-client-sync-ssl
|
target_include_directories(http-client-sync-ssl
|
||||||
${BOOST_BEAST_FILES}
|
PRIVATE ${PROJECT_SOURCE_DIR})
|
||||||
${PROJECT_SOURCE_DIR}/example/common/root_certificates.hpp
|
|
||||||
Jamfile
|
|
||||||
http_client_sync_ssl.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
set_property(TARGET http-client-sync-ssl PROPERTY FOLDER "example-http-client")
|
target_link_libraries(http-client-sync-ssl
|
||||||
|
PRIVATE Boost::beast OpenSSL::SSL OpenSSL::Crypto)
|
||||||
|
|
||||||
target_link_libraries (http-client-sync-ssl
|
set_target_properties(http-client-sync-ssl
|
||||||
OpenSSL::SSL OpenSSL::Crypto
|
PROPERTIES FOLDER "example-http-client")
|
||||||
lib-asio
|
|
||||||
lib-asio-ssl
|
|
||||||
lib-beast
|
|
||||||
)
|
|
||||||
|
|
||||||
endif()
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,17 +8,11 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources(include/boost/beast beast)
|
add_executable(http-client-sync
|
||||||
GroupSources(example/http/client/sync "/")
|
|
||||||
|
|
||||||
add_executable (http-client-sync
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
http_client_sync.cpp
|
http_client_sync.cpp)
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(http-client-sync
|
target_link_libraries(http-client-sync PRIVATE Boost::beast)
|
||||||
lib-asio
|
|
||||||
lib-beast)
|
|
||||||
|
|
||||||
set_property(TARGET http-client-sync PROPERTY FOLDER "example-http-client")
|
set_target_properties(http-client-sync
|
||||||
|
PROPERTIES FOLDER "example-http-client")
|
||||||
|
@ -7,18 +7,18 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
add_subdirectory (async)
|
add_subdirectory(async)
|
||||||
add_subdirectory (awaitable)
|
add_subdirectory(awaitable)
|
||||||
add_subdirectory (coro)
|
add_subdirectory(coro)
|
||||||
add_subdirectory (fast)
|
add_subdirectory(fast)
|
||||||
add_subdirectory (small)
|
add_subdirectory(small)
|
||||||
add_subdirectory (stackless)
|
add_subdirectory(stackless)
|
||||||
add_subdirectory (sync)
|
add_subdirectory(sync)
|
||||||
|
|
||||||
if (OPENSSL_FOUND)
|
if (OPENSSL_FOUND)
|
||||||
add_subdirectory (async-ssl)
|
add_subdirectory(async-ssl)
|
||||||
add_subdirectory (coro-ssl)
|
add_subdirectory(coro-ssl)
|
||||||
add_subdirectory (flex)
|
add_subdirectory(flex)
|
||||||
add_subdirectory (stackless-ssl)
|
add_subdirectory(stackless-ssl)
|
||||||
add_subdirectory (sync-ssl)
|
add_subdirectory(sync-ssl)
|
||||||
endif()
|
endif ()
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,25 +8,15 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
if (OPENSSL_FOUND)
|
add_executable(http-server-async-ssl
|
||||||
GroupSources(include/boost/beast beast)
|
Jamfile
|
||||||
GroupSources(example/common common)
|
http_server_async_ssl.cpp)
|
||||||
GroupSources(example/http/server/async-ssl "/")
|
|
||||||
|
|
||||||
add_executable (http-server-async-ssl
|
target_include_directories(http-server-async-ssl
|
||||||
${BOOST_BEAST_FILES}
|
PRIVATE ${PROJECT_SOURCE_DIR})
|
||||||
${PROJECT_SOURCE_DIR}/example/common/server_certificate.hpp
|
|
||||||
Jamfile
|
|
||||||
http_server_async_ssl.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
set_property(TARGET http-server-async-ssl PROPERTY FOLDER "example-http-server")
|
target_link_libraries(http-server-async-ssl
|
||||||
|
PRIVATE Boost::beast OpenSSL::SSL OpenSSL::Crypto)
|
||||||
|
|
||||||
target_link_libraries (http-server-async-ssl
|
set_target_properties(http-server-async-ssl
|
||||||
OpenSSL::SSL OpenSSL::Crypto
|
PROPERTIES FOLDER "example-http-server")
|
||||||
lib-asio
|
|
||||||
lib-asio-ssl
|
|
||||||
lib-beast
|
|
||||||
)
|
|
||||||
|
|
||||||
endif()
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,18 +8,11 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources(include/boost/beast beast)
|
add_executable(http-server-async
|
||||||
GroupSources(example/http/server/async "/")
|
|
||||||
|
|
||||||
add_executable (http-server-async
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
http_server_async.cpp
|
http_server_async.cpp)
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(http-server-async
|
target_link_libraries(http-server-async PRIVATE Boost::beast)
|
||||||
lib-asio
|
|
||||||
lib-asio-ssl
|
|
||||||
lib-beast)
|
|
||||||
|
|
||||||
set_property(TARGET http-server-async PROPERTY FOLDER "example-http-server")
|
set_target_properties(http-server-async
|
||||||
|
PROPERTIES FOLDER "example-http-server")
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,17 +8,11 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources(include/boost/beast beast)
|
add_executable(http-server-awaitable
|
||||||
GroupSources(example/http/server/awaitable "/")
|
|
||||||
|
|
||||||
add_executable (http-server-awaitable
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
http_server_awaitable.cpp
|
http_server_awaitable.cpp)
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(http-server-awaitable
|
target_link_libraries(http-server-awaitable PRIVATE Boost::beast)
|
||||||
lib-asio
|
|
||||||
lib-beast)
|
|
||||||
|
|
||||||
set_property(TARGET http-server-awaitable PROPERTY FOLDER "example-http-server")
|
set_target_properties(http-server-awaitable
|
||||||
|
PROPERTIES FOLDER "example-http-server")
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,25 +8,15 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
if (OPENSSL_FOUND)
|
add_executable(http-server-coro-ssl
|
||||||
GroupSources(include/boost/beast beast)
|
Jamfile
|
||||||
GroupSources(example/common common)
|
http_server_coro_ssl.cpp)
|
||||||
GroupSources(example/http/server/coro-ssl "/")
|
|
||||||
|
|
||||||
add_executable (http-server-coro-ssl
|
target_include_directories(http-server-coro-ssl
|
||||||
${BOOST_BEAST_FILES}
|
PRIVATE ${PROJECT_SOURCE_DIR})
|
||||||
${PROJECT_SOURCE_DIR}/example/common/server_certificate.hpp
|
|
||||||
Jamfile
|
|
||||||
http_server_coro_ssl.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
set_property(TARGET http-server-coro-ssl PROPERTY FOLDER "example-http-server")
|
target_link_libraries(http-server-coro-ssl
|
||||||
|
PRIVATE Boost::beast OpenSSL::SSL OpenSSL::Crypto)
|
||||||
|
|
||||||
target_link_libraries (http-server-coro-ssl
|
set_target_properties(http-server-coro-ssl
|
||||||
OpenSSL::SSL OpenSSL::Crypto
|
PROPERTIES FOLDER "example-http-server")
|
||||||
lib-asio
|
|
||||||
lib-asio-ssl
|
|
||||||
lib-beast
|
|
||||||
)
|
|
||||||
|
|
||||||
endif()
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,17 +8,11 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources(include/boost/beast beast)
|
add_executable(http-server-coro
|
||||||
GroupSources(example/http/server/coro "/")
|
|
||||||
|
|
||||||
add_executable (http-server-coro
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
http_server_coro.cpp
|
http_server_coro.cpp)
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(http-server-coro
|
target_link_libraries(http-server-coro PRIVATE Boost::beast)
|
||||||
lib-asio
|
|
||||||
lib-beast)
|
|
||||||
|
|
||||||
set_property(TARGET http-server-coro PROPERTY FOLDER "example-http-server")
|
set_target_properties(http-server-coro
|
||||||
|
PROPERTIES FOLDER "example-http-server")
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,20 +8,11 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources(include/boost/beast beast)
|
add_executable(http-server-fast
|
||||||
GroupSources(example/common common)
|
|
||||||
GroupSources(example/http/server/fast "/")
|
|
||||||
|
|
||||||
add_executable (http-server-fast
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
${COMMON_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
fields_alloc.hpp
|
http_server_fast.cpp)
|
||||||
http_server_fast.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(http-server-fast
|
target_link_libraries(http-server-fast PRIVATE Boost::beast)
|
||||||
lib-asio
|
|
||||||
lib-beast)
|
|
||||||
|
|
||||||
set_property(TARGET http-server-fast PROPERTY FOLDER "example-http-server")
|
set_target_properties(http-server-fast
|
||||||
|
PROPERTIES FOLDER "example-http-server")
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,25 +8,15 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
if (OPENSSL_FOUND)
|
add_executable(http-server-flex
|
||||||
GroupSources(include/boost/beast beast)
|
Jamfile
|
||||||
GroupSources(example/common common)
|
http_server_flex.cpp)
|
||||||
GroupSources(example/http/server/flex "/")
|
|
||||||
|
|
||||||
add_executable (http-server-flex
|
target_include_directories(http-server-flex
|
||||||
${BOOST_BEAST_FILES}
|
PRIVATE ${PROJECT_SOURCE_DIR})
|
||||||
${PROJECT_SOURCE_DIR}/example/common/server_certificate.hpp
|
|
||||||
Jamfile
|
|
||||||
http_server_flex.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
set_property(TARGET http-server-flex PROPERTY FOLDER "example-http-server")
|
target_link_libraries(http-server-flex
|
||||||
|
PRIVATE Boost::beast OpenSSL::SSL OpenSSL::Crypto)
|
||||||
|
|
||||||
target_link_libraries (http-server-flex
|
set_target_properties(http-server-flex
|
||||||
OpenSSL::SSL OpenSSL::Crypto
|
PROPERTIES FOLDER "example-http-server")
|
||||||
lib-asio
|
|
||||||
lib-asio-ssl
|
|
||||||
lib-beast
|
|
||||||
)
|
|
||||||
|
|
||||||
endif()
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,17 +8,11 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources(include/boost/beast beast)
|
add_executable(http-server-small
|
||||||
GroupSources(example/http/server/small "/")
|
|
||||||
|
|
||||||
add_executable (http-server-small
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
http_server_small.cpp
|
http_server_small.cpp)
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(http-server-small
|
target_link_libraries(http-server-small PRIVATE Boost::beast)
|
||||||
lib-asio
|
|
||||||
lib-beast)
|
|
||||||
|
|
||||||
set_property(TARGET http-server-small PROPERTY FOLDER "example-http-server")
|
set_target_properties(http-server-small
|
||||||
|
PROPERTIES FOLDER "example-http-server")
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,25 +8,15 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
if (OPENSSL_FOUND)
|
add_executable(http-server-stackless-ssl
|
||||||
GroupSources(include/boost/beast beast)
|
Jamfile
|
||||||
GroupSources(example/common common)
|
http_server_stackless_ssl.cpp)
|
||||||
GroupSources(example/http/server/stackless-ssl "/")
|
|
||||||
|
|
||||||
add_executable (http-server-stackless-ssl
|
target_include_directories(http-server-stackless-ssl
|
||||||
${BOOST_BEAST_FILES}
|
PRIVATE ${PROJECT_SOURCE_DIR})
|
||||||
${PROJECT_SOURCE_DIR}/example/common/server_certificate.hpp
|
|
||||||
Jamfile
|
|
||||||
http_server_stackless_ssl.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
set_property(TARGET http-server-stackless-ssl PROPERTY FOLDER "example-http-server")
|
target_link_libraries(http-server-stackless-ssl
|
||||||
|
PRIVATE Boost::beast OpenSSL::SSL OpenSSL::Crypto)
|
||||||
|
|
||||||
target_link_libraries (http-server-stackless-ssl
|
set_target_properties(http-server-stackless-ssl
|
||||||
OpenSSL::SSL OpenSSL::Crypto
|
PROPERTIES FOLDER "example-http-server")
|
||||||
lib-asio
|
|
||||||
lib-asio-ssl
|
|
||||||
lib-beast
|
|
||||||
)
|
|
||||||
|
|
||||||
endif()
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,17 +8,11 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources(include/boost/beast beast)
|
add_executable(http-server-stackless
|
||||||
GroupSources(example/http/server/stackless "/")
|
|
||||||
|
|
||||||
add_executable (http-server-stackless
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
http_server_stackless.cpp
|
http_server_stackless.cpp)
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(http-server-stackless
|
target_link_libraries(http-server-stackless PRIVATE Boost::beast)
|
||||||
lib-asio
|
|
||||||
lib-beast)
|
|
||||||
|
|
||||||
set_property(TARGET http-server-stackless PROPERTY FOLDER "example-http-server")
|
set_target_properties(http-server-stackless
|
||||||
|
PROPERTIES FOLDER "example-http-server")
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,25 +8,15 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
if (OPENSSL_FOUND)
|
add_executable(http-server-sync-ssl
|
||||||
GroupSources(include/boost/beast beast)
|
Jamfile
|
||||||
GroupSources(example/common common)
|
http_server_sync_ssl.cpp)
|
||||||
GroupSources(example/http/server/sync-ssl "/")
|
|
||||||
|
|
||||||
add_executable (http-server-sync-ssl
|
target_include_directories(http-server-sync-ssl
|
||||||
${BOOST_BEAST_FILES}
|
PRIVATE ${PROJECT_SOURCE_DIR})
|
||||||
${PROJECT_SOURCE_DIR}/example/common/server_certificate.hpp
|
|
||||||
Jamfile
|
|
||||||
http_server_sync_ssl.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
set_property(TARGET http-server-sync-ssl PROPERTY FOLDER "example-http-server")
|
target_link_libraries(http-server-sync-ssl
|
||||||
|
PRIVATE Boost::beast OpenSSL::SSL OpenSSL::Crypto)
|
||||||
target_link_libraries (http-server-sync-ssl
|
|
||||||
OpenSSL::SSL OpenSSL::Crypto
|
|
||||||
lib-asio
|
|
||||||
lib-asio-ssl
|
|
||||||
lib-beast
|
|
||||||
)
|
|
||||||
|
|
||||||
endif()
|
set_target_properties(http-server-sync-ssl
|
||||||
|
PROPERTIES FOLDER "example-http-server")
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,18 +8,11 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources(include/boost/beast beast)
|
add_executable(http-server-sync
|
||||||
GroupSources(example/http/server/sync "/")
|
|
||||||
|
|
||||||
add_executable (http-server-sync
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
http_server_sync.cpp
|
http_server_sync.cpp)
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(http-server-sync
|
target_link_libraries(http-server-sync PRIVATE Boost::beast)
|
||||||
lib-asio
|
|
||||||
lib-asio-ssl
|
|
||||||
lib-beast)
|
|
||||||
|
|
||||||
set_property(TARGET http-server-sync PROPERTY FOLDER "example-http-server")
|
set_target_properties(http-server-sync
|
||||||
|
PROPERTIES FOLDER "example-http-server")
|
||||||
|
@ -7,5 +7,5 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
add_subdirectory (client)
|
add_subdirectory(client)
|
||||||
add_subdirectory (server)
|
add_subdirectory(server)
|
||||||
|
@ -7,14 +7,14 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
add_subdirectory (async)
|
add_subdirectory(async)
|
||||||
add_subdirectory (awaitable)
|
add_subdirectory(awaitable)
|
||||||
add_subdirectory (coro)
|
add_subdirectory(coro)
|
||||||
add_subdirectory (sync)
|
add_subdirectory(sync)
|
||||||
|
|
||||||
if (OPENSSL_FOUND)
|
if (OPENSSL_FOUND)
|
||||||
add_subdirectory (async-ssl)
|
add_subdirectory(async-ssl)
|
||||||
add_subdirectory (async-ssl-system-executor)
|
add_subdirectory(async-ssl-system-executor)
|
||||||
add_subdirectory (coro-ssl)
|
add_subdirectory(coro-ssl)
|
||||||
add_subdirectory (sync-ssl)
|
add_subdirectory(sync-ssl)
|
||||||
endif()
|
endif ()
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,25 +8,15 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
if (OPENSSL_FOUND)
|
add_executable(websocket-client-async-ssl-system-executor
|
||||||
GroupSources(include/boost/beast beast)
|
Jamfile
|
||||||
GroupSources(example/common common)
|
websocket_client_async_ssl_system_executor.cpp)
|
||||||
GroupSources(example/websocket/client/async-ssl-system-executor "/")
|
|
||||||
|
|
||||||
add_executable (websocket-client-async-ssl-system-executor
|
target_include_directories(websocket-client-async-ssl-system-executor
|
||||||
${BOOST_BEAST_FILES}
|
PRIVATE ${PROJECT_SOURCE_DIR})
|
||||||
${PROJECT_SOURCE_DIR}/example/common/root_certificates.hpp
|
|
||||||
Jamfile
|
|
||||||
websocket_client_async_ssl_system_executor.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
set_property(TARGET websocket-client-async-ssl-system-executor PROPERTY FOLDER "example-websocket-client")
|
target_link_libraries(websocket-client-async-ssl-system-executor
|
||||||
|
PRIVATE Boost::beast OpenSSL::SSL OpenSSL::Crypto)
|
||||||
|
|
||||||
target_link_libraries (websocket-client-async-ssl-system-executor
|
set_target_properties(websocket-client-async-ssl-system-executor
|
||||||
OpenSSL::SSL OpenSSL::Crypto
|
PROPERTIES FOLDER "example-websocket-client")
|
||||||
lib-asio
|
|
||||||
lib-asio-ssl
|
|
||||||
lib-beast
|
|
||||||
)
|
|
||||||
|
|
||||||
endif()
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,25 +8,15 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
if (OPENSSL_FOUND)
|
add_executable(websocket-client-async-ssl
|
||||||
GroupSources(include/boost/beast beast)
|
Jamfile
|
||||||
GroupSources(example/common common)
|
websocket_client_async_ssl.cpp)
|
||||||
GroupSources(example/websocket/client/async-ssl "/")
|
|
||||||
|
|
||||||
add_executable (websocket-client-async-ssl
|
target_include_directories(websocket-client-async-ssl
|
||||||
${BOOST_BEAST_FILES}
|
PRIVATE ${PROJECT_SOURCE_DIR})
|
||||||
${PROJECT_SOURCE_DIR}/example/common/root_certificates.hpp
|
|
||||||
Jamfile
|
|
||||||
websocket_client_async_ssl.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
set_property(TARGET websocket-client-async-ssl PROPERTY FOLDER "example-websocket-client")
|
target_link_libraries(websocket-client-async-ssl
|
||||||
|
PRIVATE Boost::beast OpenSSL::SSL OpenSSL::Crypto)
|
||||||
|
|
||||||
target_link_libraries (websocket-client-async-ssl
|
set_target_properties(websocket-client-async-ssl
|
||||||
OpenSSL::SSL OpenSSL::Crypto
|
PROPERTIES FOLDER "example-websocket-client")
|
||||||
lib-asio
|
|
||||||
lib-asio-ssl
|
|
||||||
lib-beast
|
|
||||||
)
|
|
||||||
|
|
||||||
endif()
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,17 +8,11 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources(include/boost/beast beast)
|
add_executable(websocket-client-async
|
||||||
GroupSources(example/websocket/client/async "/")
|
|
||||||
|
|
||||||
add_executable (websocket-client-async
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
websocket_client_async.cpp
|
websocket_client_async.cpp)
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(websocket-client-async
|
target_link_libraries(websocket-client-async PRIVATE Boost::beast)
|
||||||
lib-asio
|
|
||||||
lib-beast)
|
|
||||||
|
|
||||||
set_property(TARGET websocket-client-async PROPERTY FOLDER "example-websocket-client")
|
set_target_properties(websocket-client-async
|
||||||
|
PROPERTIES FOLDER "example-websocket-client")
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,17 +8,11 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources(include/boost/beast beast)
|
add_executable(websocket-client-awaitable
|
||||||
GroupSources(example/websocket/client/awaitable "/")
|
|
||||||
|
|
||||||
add_executable (websocket-client-awaitable
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
websocket_client_awaitable.cpp
|
websocket_client_awaitable.cpp)
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(websocket-client-awaitable
|
target_link_libraries(websocket-client-awaitable PRIVATE Boost::beast)
|
||||||
lib-asio
|
|
||||||
lib-beast)
|
|
||||||
|
|
||||||
set_property(TARGET websocket-client-awaitable PROPERTY FOLDER "example-websocket-client")
|
set_target_properties(websocket-client-awaitable
|
||||||
|
PROPERTIES FOLDER "example-websocket-client")
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,25 +8,15 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
if (OPENSSL_FOUND)
|
add_executable(websocket-client-coro-ssl
|
||||||
GroupSources(include/boost/beast beast)
|
Jamfile
|
||||||
GroupSources(example/common common)
|
websocket_client_coro_ssl.cpp)
|
||||||
GroupSources(example/websocket/client/coro-ssl "/")
|
|
||||||
|
|
||||||
add_executable (websocket-client-coro-ssl
|
target_include_directories(websocket-client-coro-ssl
|
||||||
${BOOST_BEAST_FILES}
|
PRIVATE ${PROJECT_SOURCE_DIR})
|
||||||
${PROJECT_SOURCE_DIR}/example/common/root_certificates.hpp
|
|
||||||
Jamfile
|
|
||||||
websocket_client_coro_ssl.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
set_property(TARGET websocket-client-coro-ssl PROPERTY FOLDER "example-websocket-client")
|
target_link_libraries(websocket-client-coro-ssl
|
||||||
|
PRIVATE Boost::beast OpenSSL::SSL OpenSSL::Crypto)
|
||||||
|
|
||||||
target_link_libraries (websocket-client-coro-ssl
|
set_target_properties(websocket-client-coro-ssl
|
||||||
OpenSSL::SSL OpenSSL::Crypto
|
PROPERTIES FOLDER "example-websocket-client")
|
||||||
lib-asio
|
|
||||||
lib-asio-ssl
|
|
||||||
lib-beast
|
|
||||||
)
|
|
||||||
|
|
||||||
endif()
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,17 +8,11 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources(include/boost/beast beast)
|
add_executable(websocket-client-coro
|
||||||
GroupSources(example/websocket/client/coro "/")
|
|
||||||
|
|
||||||
add_executable (websocket-client-coro
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
websocket_client_coro.cpp
|
websocket_client_coro.cpp)
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(websocket-client-coro
|
target_link_libraries(websocket-client-coro PRIVATE Boost::beast)
|
||||||
lib-asio
|
|
||||||
lib-beast)
|
|
||||||
|
|
||||||
set_property(TARGET websocket-client-coro PROPERTY FOLDER "example-websocket-client")
|
set_target_properties(websocket-client-coro
|
||||||
|
PROPERTIES FOLDER "example-websocket-client")
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,25 +8,15 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
if (OPENSSL_FOUND)
|
add_executable(websocket-client-sync-ssl
|
||||||
GroupSources(include/boost/beast beast)
|
Jamfile
|
||||||
GroupSources(example/common common)
|
websocket_client_sync_ssl.cpp)
|
||||||
GroupSources(example/websocket/client/sync-ssl "/")
|
|
||||||
|
|
||||||
add_executable (websocket-client-sync-ssl
|
target_include_directories(websocket-client-sync-ssl
|
||||||
${BOOST_BEAST_FILES}
|
PRIVATE ${PROJECT_SOURCE_DIR})
|
||||||
${PROJECT_SOURCE_DIR}/example/common/root_certificates.hpp
|
|
||||||
Jamfile
|
|
||||||
websocket_client_sync_ssl.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
set_property(TARGET websocket-client-sync-ssl PROPERTY FOLDER "example-websocket-client")
|
target_link_libraries(websocket-client-sync-ssl
|
||||||
|
PRIVATE Boost::beast OpenSSL::SSL OpenSSL::Crypto)
|
||||||
|
|
||||||
target_link_libraries (websocket-client-sync-ssl
|
set_target_properties(websocket-client-sync-ssl
|
||||||
OpenSSL::SSL OpenSSL::Crypto
|
PROPERTIES FOLDER "example-websocket-client")
|
||||||
lib-asio
|
|
||||||
lib-asio-ssl
|
|
||||||
lib-beast
|
|
||||||
)
|
|
||||||
|
|
||||||
endif()
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,17 +8,11 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources(include/boost/beast beast)
|
add_executable(websocket-client-sync
|
||||||
GroupSources(example/websocket/client/sync "/")
|
|
||||||
|
|
||||||
add_executable (websocket-client-sync
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
websocket_client_sync.cpp
|
websocket_client_sync.cpp)
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(websocket-client-sync
|
target_link_libraries(websocket-client-sync PRIVATE Boost::beast)
|
||||||
lib-asio
|
|
||||||
lib-beast)
|
|
||||||
|
|
||||||
set_property(TARGET websocket-client-sync PROPERTY FOLDER "example-websocket-client")
|
set_target_properties(websocket-client-sync
|
||||||
|
PROPERTIES FOLDER "example-websocket-client")
|
||||||
|
@ -7,17 +7,17 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
add_subdirectory (async)
|
add_subdirectory(async)
|
||||||
add_subdirectory (awaitable)
|
add_subdirectory(awaitable)
|
||||||
add_subdirectory (chat-multi)
|
add_subdirectory(chat-multi)
|
||||||
add_subdirectory (coro)
|
add_subdirectory(coro)
|
||||||
add_subdirectory (fast)
|
add_subdirectory(fast)
|
||||||
add_subdirectory (stackless)
|
add_subdirectory(stackless)
|
||||||
add_subdirectory (sync)
|
add_subdirectory(sync)
|
||||||
|
|
||||||
if (OPENSSL_FOUND)
|
if (OPENSSL_FOUND)
|
||||||
add_subdirectory (async-ssl)
|
add_subdirectory(async-ssl)
|
||||||
add_subdirectory (coro-ssl)
|
add_subdirectory(coro-ssl)
|
||||||
add_subdirectory (stackless-ssl)
|
add_subdirectory(stackless-ssl)
|
||||||
add_subdirectory (sync-ssl)
|
add_subdirectory(sync-ssl)
|
||||||
endif()
|
endif ()
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,25 +8,15 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
if (OPENSSL_FOUND)
|
add_executable(websocket-server-async-ssl
|
||||||
GroupSources(include/boost/beast beast)
|
Jamfile
|
||||||
GroupSources(example/common common)
|
websocket_server_async_ssl.cpp)
|
||||||
GroupSources(example/websocket/server/async-ssl "/")
|
|
||||||
|
|
||||||
add_executable (websocket-server-async-ssl
|
target_include_directories(websocket-server-async-ssl
|
||||||
${BOOST_BEAST_FILES}
|
PRIVATE ${PROJECT_SOURCE_DIR})
|
||||||
${PROJECT_SOURCE_DIR}/example/common/server_certificate.hpp
|
|
||||||
Jamfile
|
|
||||||
websocket_server_async_ssl.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
set_property(TARGET websocket-server-async-ssl PROPERTY FOLDER "example-websocket-server")
|
target_link_libraries(websocket-server-async-ssl
|
||||||
|
PRIVATE Boost::beast OpenSSL::SSL OpenSSL::Crypto)
|
||||||
|
|
||||||
target_link_libraries (websocket-server-async-ssl
|
set_target_properties(websocket-server-async-ssl
|
||||||
OpenSSL::SSL OpenSSL::Crypto
|
PROPERTIES FOLDER "example-websocket-server")
|
||||||
lib-asio
|
|
||||||
lib-asio-ssl
|
|
||||||
lib-beast
|
|
||||||
)
|
|
||||||
|
|
||||||
endif()
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,17 +8,11 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources(include/boost/beast beast)
|
add_executable(websocket-server-async
|
||||||
GroupSources(example/websocket/server/async "/")
|
|
||||||
|
|
||||||
add_executable (websocket-server-async
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
websocket_server_async.cpp
|
websocket_server_async.cpp)
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(websocket-server-async
|
target_link_libraries(websocket-server-async PRIVATE Boost::beast)
|
||||||
lib-asio
|
|
||||||
lib-beast)
|
|
||||||
|
|
||||||
set_property(TARGET websocket-server-async PROPERTY FOLDER "example-websocket-server")
|
set_target_properties(websocket-server-async
|
||||||
|
PROPERTIES FOLDER "example-websocket-server")
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,17 +8,11 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources(include/boost/beast beast)
|
add_executable(websocket-server-awaitable
|
||||||
GroupSources(example/websocket/server/awaitable "/")
|
|
||||||
|
|
||||||
add_executable (websocket-server-awaitable
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
websocket_server_awaitable.cpp
|
websocket_server_awaitable.cpp)
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(websocket-server-awaitable
|
target_link_libraries(websocket-server-awaitable PRIVATE Boost::beast)
|
||||||
lib-asio
|
|
||||||
lib-beast)
|
|
||||||
|
|
||||||
set_property(TARGET websocket-server-awaitable PROPERTY FOLDER "example-websocket-server")
|
set_target_properties(websocket-server-awaitable
|
||||||
|
PROPERTIES FOLDER "example-websocket-server")
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,35 +8,22 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources(include/boost/beast beast)
|
add_executable(websocket-chat-multi
|
||||||
GroupSources(example/websocket/server/chat-multi "/")
|
beast.hpp
|
||||||
|
chat_client.html
|
||||||
|
http_session.cpp
|
||||||
|
http_session.hpp
|
||||||
|
Jamfile
|
||||||
|
listener.cpp
|
||||||
|
listener.hpp
|
||||||
|
main.cpp
|
||||||
|
net.hpp
|
||||||
|
shared_state.cpp
|
||||||
|
shared_state.hpp
|
||||||
|
websocket_session.cpp
|
||||||
|
websocket_session.hpp)
|
||||||
|
|
||||||
file (GLOB APP_FILES
|
target_link_libraries(websocket-chat-multi PRIVATE Boost::beast)
|
||||||
beast.hpp
|
|
||||||
http_session.cpp
|
|
||||||
http_session.hpp
|
|
||||||
Jamfile
|
|
||||||
listener.cpp
|
|
||||||
listener.hpp
|
|
||||||
main.cpp
|
|
||||||
net.hpp
|
|
||||||
shared_state.cpp
|
|
||||||
shared_state.hpp
|
|
||||||
websocket_session.cpp
|
|
||||||
websocket_session.hpp
|
|
||||||
chat_client.html
|
|
||||||
README.md
|
|
||||||
)
|
|
||||||
|
|
||||||
source_group ("" FILES ${APP_FILES})
|
set_target_properties(websocket-chat-multi
|
||||||
|
PROPERTIES FOLDER "example-websocket-server")
|
||||||
add_executable (websocket-chat-multi
|
|
||||||
${APP_FILES}
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(websocket-chat-multi
|
|
||||||
lib-asio
|
|
||||||
lib-beast)
|
|
||||||
|
|
||||||
set_property(TARGET websocket-chat-multi PROPERTY FOLDER "example-websocket-server")
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,25 +8,15 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
if (OPENSSL_FOUND)
|
add_executable(websocket-server-coro-ssl
|
||||||
GroupSources(include/boost/beast beast)
|
Jamfile
|
||||||
GroupSources(example/common common)
|
websocket_server_coro_ssl.cpp)
|
||||||
GroupSources(example/websocket/server/coro-ssl "/")
|
|
||||||
|
|
||||||
add_executable (websocket-server-coro-ssl
|
target_include_directories(websocket-server-coro-ssl
|
||||||
${BOOST_BEAST_FILES}
|
PRIVATE ${PROJECT_SOURCE_DIR})
|
||||||
${PROJECT_SOURCE_DIR}/example/common/server_certificate.hpp
|
|
||||||
Jamfile
|
|
||||||
websocket_server_coro_ssl.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
set_property(TARGET websocket-server-coro-ssl PROPERTY FOLDER "example-websocket-server")
|
target_link_libraries(websocket-server-coro-ssl
|
||||||
|
PRIVATE Boost::beast OpenSSL::SSL OpenSSL::Crypto)
|
||||||
|
|
||||||
target_link_libraries (websocket-server-coro-ssl
|
set_target_properties(websocket-server-coro-ssl
|
||||||
OpenSSL::SSL OpenSSL::Crypto
|
PROPERTIES FOLDER "example-websocket-server")
|
||||||
lib-asio
|
|
||||||
lib-asio-ssl
|
|
||||||
lib-beast
|
|
||||||
)
|
|
||||||
|
|
||||||
endif()
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,17 +8,11 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources(include/boost/beast beast)
|
add_executable(websocket-server-coro
|
||||||
GroupSources(example/websocket/server/coro "/")
|
|
||||||
|
|
||||||
add_executable (websocket-server-coro
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
websocket_server_coro.cpp
|
websocket_server_coro.cpp)
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(websocket-server-coro
|
target_link_libraries(websocket-server-coro PRIVATE Boost::beast)
|
||||||
lib-asio
|
|
||||||
lib-beast)
|
|
||||||
|
|
||||||
set_property(TARGET websocket-server-coro PROPERTY FOLDER "example-websocket-server")
|
set_target_properties(websocket-server-coro
|
||||||
|
PROPERTIES FOLDER "example-websocket-server")
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,17 +8,11 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources(include/boost/beast beast)
|
add_executable(websocket-server-fast
|
||||||
GroupSources(example/websocket/server/fast "/")
|
|
||||||
|
|
||||||
add_executable (websocket-server-fast
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
websocket_server_fast.cpp
|
websocket_server_fast.cpp)
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(websocket-server-fast
|
target_link_libraries(websocket-server-fast PRIVATE Boost::beast)
|
||||||
lib-asio
|
|
||||||
lib-beast)
|
|
||||||
|
|
||||||
set_property(TARGET websocket-server-fast PROPERTY FOLDER "example-websocket-server")
|
set_target_properties(websocket-server-fast
|
||||||
|
PROPERTIES FOLDER "example-websocket-server")
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,25 +8,15 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
if (OPENSSL_FOUND)
|
add_executable(websocket-server-stackless-ssl
|
||||||
GroupSources(include/boost/beast beast)
|
Jamfile
|
||||||
GroupSources(example/common common)
|
websocket_server_stackless_ssl.cpp)
|
||||||
GroupSources(example/websocket/server/stackless-ssl "/")
|
|
||||||
|
|
||||||
add_executable (websocket-server-stackless-ssl
|
target_include_directories(websocket-server-stackless-ssl
|
||||||
${BOOST_BEAST_FILES}
|
PRIVATE ${PROJECT_SOURCE_DIR})
|
||||||
${PROJECT_SOURCE_DIR}/example/common/server_certificate.hpp
|
|
||||||
Jamfile
|
|
||||||
websocket_server_stackless_ssl.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
set_property(TARGET websocket-server-stackless-ssl PROPERTY FOLDER "example-websocket-server")
|
target_link_libraries(websocket-server-stackless-ssl
|
||||||
|
PRIVATE Boost::beast OpenSSL::SSL OpenSSL::Crypto)
|
||||||
|
|
||||||
target_link_libraries (websocket-server-stackless-ssl
|
set_target_properties(websocket-server-stackless-ssl
|
||||||
OpenSSL::SSL OpenSSL::Crypto
|
PROPERTIES FOLDER "example-websocket-server")
|
||||||
lib-asio
|
|
||||||
lib-asio-ssl
|
|
||||||
lib-beast
|
|
||||||
)
|
|
||||||
|
|
||||||
endif()
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,17 +8,11 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources(include/boost/beast beast)
|
add_executable(websocket-server-stackless
|
||||||
GroupSources(example/websocket/server/stackless "/")
|
|
||||||
|
|
||||||
add_executable (websocket-server-stackless
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
websocket_server_stackless.cpp
|
websocket_server_stackless.cpp)
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(websocket-server-stackless
|
target_link_libraries(websocket-server-stackless PRIVATE Boost::beast)
|
||||||
lib-asio
|
|
||||||
lib-beast)
|
|
||||||
|
|
||||||
set_property(TARGET websocket-server-stackless PROPERTY FOLDER "example-websocket-server")
|
set_target_properties(websocket-server-stackless
|
||||||
|
PROPERTIES FOLDER "example-websocket-server")
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,25 +8,15 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
if (OPENSSL_FOUND)
|
add_executable(websocket-server-sync-ssl
|
||||||
GroupSources(include/boost/beast beast)
|
Jamfile
|
||||||
GroupSources(example/common common)
|
websocket_server_sync_ssl.cpp)
|
||||||
GroupSources(example/websocket/server/sync-ssl "/")
|
|
||||||
|
|
||||||
add_executable (websocket-server-sync-ssl
|
target_include_directories(websocket-server-sync-ssl
|
||||||
${BOOST_BEAST_FILES}
|
PRIVATE ${PROJECT_SOURCE_DIR})
|
||||||
${PROJECT_SOURCE_DIR}/example/common/server_certificate.hpp
|
|
||||||
Jamfile
|
|
||||||
websocket_server_sync_ssl.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
set_property(TARGET websocket-server-sync-ssl PROPERTY FOLDER "example-websocket-server")
|
target_link_libraries(websocket-server-sync-ssl
|
||||||
|
PRIVATE Boost::beast OpenSSL::SSL OpenSSL::Crypto)
|
||||||
|
|
||||||
target_link_libraries (websocket-server-sync-ssl
|
set_target_properties(websocket-server-sync-ssl
|
||||||
OpenSSL::SSL OpenSSL::Crypto
|
PROPERTIES FOLDER "example-websocket-server")
|
||||||
lib-asio
|
|
||||||
lib-asio-ssl
|
|
||||||
lib-beast
|
|
||||||
)
|
|
||||||
|
|
||||||
endif()
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,17 +8,11 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources(include/boost/beast beast)
|
add_executable(websocket-server-sync
|
||||||
GroupSources(example/websocket/server/sync "/")
|
|
||||||
|
|
||||||
add_executable (websocket-server-sync
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
websocket_server_sync.cpp
|
websocket_server_sync.cpp)
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(websocket-server-sync
|
target_link_libraries(websocket-server-sync PRIVATE Boost::beast)
|
||||||
lib-asio
|
|
||||||
lib-beast)
|
|
||||||
|
|
||||||
set_property(TARGET websocket-server-sync PROPERTY FOLDER "example-websocket-server")
|
set_target_properties(websocket-server-sync
|
||||||
|
PROPERTIES FOLDER "example-websocket-server")
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,70 +8,65 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
include_directories (./extern)
|
find_package(OpenSSL)
|
||||||
include_directories (./extras/include)
|
|
||||||
|
|
||||||
file (GLOB_RECURSE EXTRAS_FILES
|
# lib-asio
|
||||||
${PROJECT_SOURCE_DIR}/test/extras/include/*.hpp
|
add_library(lib-asio STATIC lib_asio.cpp)
|
||||||
${PROJECT_SOURCE_DIR}/test/extras/include/*.ipp
|
target_compile_definitions(lib-asio PUBLIC
|
||||||
${PROJECT_SOURCE_DIR}/test/lib_ssl.cpp
|
BOOST_ASIO_SEPARATE_COMPILATION
|
||||||
)
|
BOOST_ASIO_NO_DEPRECATED
|
||||||
|
BOOST_ASIO_DISABLE_BOOST_ARRAY
|
||||||
|
BOOST_ASIO_DISABLE_BOOST_BIND
|
||||||
|
BOOST_ASIO_DISABLE_BOOST_DATE_TIME
|
||||||
|
BOOST_ASIO_DISABLE_BOOST_REGEX)
|
||||||
|
target_link_libraries(lib-asio PUBLIC Boost::asio)
|
||||||
|
set_target_properties(lib-asio PROPERTIES FOLDER "static-libs")
|
||||||
|
|
||||||
if (OPENSSL_FOUND)
|
# lib-asio-ssl
|
||||||
link_libraries (${OPENSSL_LIBRARIES})
|
add_library(lib-asio-ssl STATIC lib_asio_ssl.cpp)
|
||||||
endif()
|
target_link_libraries(lib-asio-ssl PUBLIC lib-asio)
|
||||||
|
target_link_libraries(lib-asio-ssl PUBLIC OpenSSL::SSL OpenSSL::Crypto)
|
||||||
|
set_target_properties(lib-asio-ssl PROPERTIES FOLDER "static-libs")
|
||||||
|
|
||||||
set (ZLIB_SOURCES
|
# lib-beast
|
||||||
${CMAKE_CURRENT_LIST_DIR}/extern/zlib-1.2.12/crc32.h
|
add_library(lib-beast STATIC lib_beast.cpp)
|
||||||
${CMAKE_CURRENT_LIST_DIR}/extern/zlib-1.2.12/deflate.h
|
target_compile_definitions(lib-beast PUBLIC BOOST_BEAST_SEPARATE_COMPILATION)
|
||||||
#${CMAKE_CURRENT_LIST_DIR}/extern/zlib-1.2.12/gzguts.h
|
target_link_libraries(lib-beast PUBLIC Boost::beast lib-asio)
|
||||||
${CMAKE_CURRENT_LIST_DIR}/extern/zlib-1.2.12/inffast.h
|
set_target_properties(lib-beast PROPERTIES FOLDER "static-libs")
|
||||||
${CMAKE_CURRENT_LIST_DIR}/extern/zlib-1.2.12/inffixed.h
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/extern/zlib-1.2.12/inflate.h
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/extern/zlib-1.2.12/inftrees.h
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/extern/zlib-1.2.12/trees.h
|
|
||||||
#${CMAKE_CURRENT_LIST_DIR}/extern/zlib-1.2.12/zconf.h
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/extern/zlib-1.2.12/zlib.h
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/extern/zlib-1.2.12/zutil.h
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/extern/zlib-1.2.12/adler32.c
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/extern/zlib-1.2.12/compress.c
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/extern/zlib-1.2.12/crc32.c
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/extern/zlib-1.2.12/deflate.c
|
|
||||||
#${CMAKE_CURRENT_LIST_DIR}/extern/zlib-1.2.12/gzclose.c
|
|
||||||
#${CMAKE_CURRENT_LIST_DIR}/extern/zlib-1.2.12/gzlib.c
|
|
||||||
#${CMAKE_CURRENT_LIST_DIR}/extern/zlib-1.2.12/gzread.c
|
|
||||||
#${CMAKE_CURRENT_LIST_DIR}/extern/zlib-1.2.12/gzwrite.c
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/extern/zlib-1.2.12/infback.c
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/extern/zlib-1.2.12/inffast.c
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/extern/zlib-1.2.12/inflate.c
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/extern/zlib-1.2.12/inftrees.c
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/extern/zlib-1.2.12/trees.c
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/extern/zlib-1.2.12/uncompr.c
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/extern/zlib-1.2.12/zutil.c
|
|
||||||
)
|
|
||||||
|
|
||||||
add_library (
|
# lib-zlib
|
||||||
lib-zlib
|
enable_language(C)
|
||||||
${ZLIB_SOURCES}
|
add_library(lib-zlib STATIC
|
||||||
)
|
extern/zlib-1.2.12/adler32.c
|
||||||
target_include_directories(lib-zlib PUBLIC "${CMAKE_CURRENT_LIST_DIR}/extern/zlib-1.2.12")
|
extern/zlib-1.2.12/compress.c
|
||||||
set_property(TARGET lib-zlib PROPERTY FOLDER "static-libs")
|
extern/zlib-1.2.12/crc32.c
|
||||||
|
extern/zlib-1.2.12/deflate.c
|
||||||
|
extern/zlib-1.2.12/infback.c
|
||||||
|
extern/zlib-1.2.12/inffast.c
|
||||||
|
extern/zlib-1.2.12/inflate.c
|
||||||
|
extern/zlib-1.2.12/inftrees.c
|
||||||
|
extern/zlib-1.2.12/trees.c
|
||||||
|
extern/zlib-1.2.12/uncompr.c
|
||||||
|
extern/zlib-1.2.12/zutil.c)
|
||||||
|
target_compile_options(lib-zlib PRIVATE
|
||||||
|
$<$<CXX_COMPILER_ID:GNU,Clang,AppleClang>:-w>
|
||||||
|
$<$<CXX_COMPILER_ID:MSVC>:/wd4127>
|
||||||
|
$<$<CXX_COMPILER_ID:MSVC>:/wd4244>
|
||||||
|
$<$<CXX_COMPILER_ID:MSVC>:/wd4131>)
|
||||||
|
target_include_directories(lib-zlib PUBLIC extern/zlib-1.2.12)
|
||||||
|
set_target_properties(lib-zlib PROPERTIES FOLDER "static-libs")
|
||||||
|
|
||||||
set (TEST_MAIN ${PROJECT_SOURCE_DIR}/test/lib_beast.cpp)
|
# lib-test
|
||||||
|
add_library(lib-test STATIC lib_test.cpp)
|
||||||
|
target_include_directories(lib-test PUBLIC extras/include)
|
||||||
|
target_link_libraries(lib-test PUBLIC lib-beast)
|
||||||
|
set_target_properties(lib-test PROPERTIES FOLDER "static-libs")
|
||||||
|
|
||||||
GroupSources (. "/")
|
add_subdirectory(beast)
|
||||||
|
add_subdirectory(bench)
|
||||||
|
add_subdirectory(doc)
|
||||||
|
add_subdirectory(example)
|
||||||
|
|
||||||
add_library (
|
if (BOOST_BEAST_BUILD_FUZZERS AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||||
lib-test STATIC
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/lib_test.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
set_property(TARGET lib-test PROPERTY FOLDER "static-libs")
|
|
||||||
|
|
||||||
add_subdirectory (beast)
|
|
||||||
add_subdirectory (bench)
|
|
||||||
add_subdirectory (doc)
|
|
||||||
add_subdirectory (example)
|
|
||||||
if (Beast_BUILD_FUZZERS AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
|
||||||
add_subdirectory(fuzz)
|
add_subdirectory(fuzz)
|
||||||
endif()
|
endif ()
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,73 +8,28 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
function(build_individual_tests prefix)
|
add_definitions(-DBOOST_BEAST_ALLOW_DEPRECATED)
|
||||||
set(options )
|
add_definitions(-DBOOST_BEAST_TESTS) # For buffers_cat
|
||||||
set(oneValueArgs )
|
|
||||||
set(multiValueArgs EXCLUDE LIBS EXTRA)
|
|
||||||
cmake_parse_arguments(bit "${options}"
|
|
||||||
"${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
|
||||||
|
|
||||||
file(GLOB test_srcs "*.cpp")
|
add_subdirectory(_experimental)
|
||||||
set(individual_tests)
|
add_subdirectory(core)
|
||||||
foreach(test_src IN LISTS test_srcs)
|
add_subdirectory(http)
|
||||||
get_filename_component(test_suffix "${test_src}" NAME_WE)
|
add_subdirectory(ssl)
|
||||||
if(NOT test_suffix IN_LIST bit_EXCLUDE)
|
add_subdirectory(websocket)
|
||||||
set(test_name "${prefix}-${test_suffix}")
|
add_subdirectory(zlib)
|
||||||
add_executable("${test_name}" EXCLUDE_FROM_ALL "${test_src}")
|
|
||||||
foreach(lib IN LISTS bit_LIBS)
|
|
||||||
target_link_libraries("${test_name}" "${lib}")
|
|
||||||
endforeach()
|
|
||||||
list(APPEND individual_tests COMMAND "${test_name}")
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
add_custom_target("${prefix}-all" ${individual_tests})
|
add_executable(tests-beast
|
||||||
endfunction()
|
|
||||||
|
|
||||||
add_definitions (-DBOOST_BEAST_ALLOW_DEPRECATED)
|
|
||||||
|
|
||||||
# For buffers_cat
|
|
||||||
add_definitions (-DBOOST_BEAST_TESTS)
|
|
||||||
|
|
||||||
add_subdirectory (_experimental)
|
|
||||||
add_subdirectory (core)
|
|
||||||
add_subdirectory (http)
|
|
||||||
add_subdirectory (ssl)
|
|
||||||
add_subdirectory (websocket)
|
|
||||||
add_subdirectory (zlib)
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
GroupSources (include/boost/beast beast)
|
|
||||||
GroupSources (test/extras/include/boost /)
|
|
||||||
GroupSources (test/beast /)
|
|
||||||
|
|
||||||
add_executable (tests-beast
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
${EXTRAS_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
core.cpp
|
core.cpp
|
||||||
http.cpp
|
http.cpp
|
||||||
ssl.cpp
|
ssl.cpp
|
||||||
version.cpp
|
version.cpp
|
||||||
websocket.cpp
|
websocket.cpp
|
||||||
zlib.cpp
|
zlib.cpp)
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(tests-beast
|
target_link_libraries(tests-beast
|
||||||
lib-asio
|
|
||||||
lib-asio-ssl
|
lib-asio-ssl
|
||||||
lib-beast
|
|
||||||
lib-test)
|
lib-test)
|
||||||
|
|
||||||
set_property(TARGET tests-beast PROPERTY FOLDER "tests")
|
set_target_properties(tests-beast
|
||||||
|
PROPERTIES FOLDER "tests")
|
||||||
#add_custom_target(tests-beast-all
|
|
||||||
# DEPENDS
|
|
||||||
# tests-beast-_experimental-all
|
|
||||||
# tests-beast-core-all
|
|
||||||
# tests-beast-http-all
|
|
||||||
# tests-beast-ssl-all
|
|
||||||
# tests-beast-websocket-all
|
|
||||||
# tests-beast-zlib-all )
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,29 +8,15 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources (include/boost/beast beast)
|
add_executable(tests-beast-_experimental
|
||||||
GroupSources (test/beast/_experimental "/")
|
|
||||||
|
|
||||||
add_executable (tests-beast-_experimental
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
_test_detail_stream_state.cpp
|
_test_detail_stream_state.cpp
|
||||||
error.cpp
|
error.cpp
|
||||||
icy_stream.cpp
|
icy_stream.cpp
|
||||||
stream.cpp
|
stream.cpp)
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(tests-beast-_experimental
|
target_link_libraries(tests-beast-_experimental
|
||||||
lib-asio
|
lib-test)
|
||||||
lib-beast
|
|
||||||
lib-test
|
|
||||||
)
|
|
||||||
|
|
||||||
set_property(TARGET tests-beast-_experimental PROPERTY FOLDER "tests")
|
set_target_properties(tests-beast-_experimental
|
||||||
|
PROPERTIES FOLDER "tests")
|
||||||
#
|
|
||||||
# Individual tests
|
|
||||||
#
|
|
||||||
#build_individual_tests(tests-beast-_experimental
|
|
||||||
# EXCLUDE
|
|
||||||
# LIBS lib-asio lib-asio-ssl lib-beast lib-test)
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,11 +8,7 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources (include/boost/beast beast)
|
add_executable(tests-beast-core
|
||||||
GroupSources (test/beast/core "/")
|
|
||||||
|
|
||||||
add_executable (tests-beast-core
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
test_buffer.hpp
|
test_buffer.hpp
|
||||||
file_test.hpp
|
file_test.hpp
|
||||||
@ -64,21 +61,11 @@ add_executable (tests-beast-core
|
|||||||
static_string.cpp
|
static_string.cpp
|
||||||
stream_traits.cpp
|
stream_traits.cpp
|
||||||
string.cpp
|
string.cpp
|
||||||
tcp_stream.cpp
|
tcp_stream.cpp)
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(tests-beast-core
|
target_link_libraries(tests-beast-core
|
||||||
lib-asio
|
|
||||||
lib-asio-ssl
|
|
||||||
lib-beast
|
|
||||||
lib-test
|
lib-test
|
||||||
)
|
Boost::filesystem)
|
||||||
|
|
||||||
set_property(TARGET tests-beast-core PROPERTY FOLDER "tests")
|
set_target_properties(tests-beast-core
|
||||||
|
PROPERTIES FOLDER "tests")
|
||||||
#
|
|
||||||
# Individual tests
|
|
||||||
#
|
|
||||||
#build_individual_tests(tests-beast-core
|
|
||||||
# EXCLUDE _detail_static_const close_socket zlib make_strand prepare_buffers
|
|
||||||
# LIBS lib-asio lib-asio-ssl lib-beast lib-test)
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,13 +8,7 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources (include/boost/beast beast)
|
|
||||||
GroupSources (test/extras/include/boost/beast extras)
|
|
||||||
GroupSources (test/beast/http "/")
|
|
||||||
|
|
||||||
add_executable (tests-beast-http
|
add_executable (tests-beast-http
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
${EXTRAS_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
any_completion_handler.cpp
|
any_completion_handler.cpp
|
||||||
basic_dynamic_body_fwd.cpp
|
basic_dynamic_body_fwd.cpp
|
||||||
@ -55,19 +50,11 @@ add_executable (tests-beast-http
|
|||||||
vector_body_fwd.cpp
|
vector_body_fwd.cpp
|
||||||
vector_body.cpp
|
vector_body.cpp
|
||||||
verb.cpp
|
verb.cpp
|
||||||
write.cpp
|
write.cpp)
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(tests-beast-http
|
target_link_libraries(tests-beast-http
|
||||||
lib-asio
|
|
||||||
lib-asio-ssl
|
|
||||||
lib-beast
|
|
||||||
lib-test
|
lib-test
|
||||||
)
|
Boost::filesystem)
|
||||||
|
|
||||||
set_property(TARGET tests-beast-http PROPERTY FOLDER "tests")
|
set_target_properties(tests-beast-http
|
||||||
|
PROPERTIES FOLDER "tests")
|
||||||
#
|
|
||||||
# Individual tests
|
|
||||||
#
|
|
||||||
#build_individual_tests(tests-beast-http LIBS lib-asio lib-asio-ssl lib-beast lib-test)
|
|
||||||
|
@ -7,22 +7,13 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources (include/boost/beast beast)
|
|
||||||
GroupSources (test/beast/ssl "/")
|
|
||||||
|
|
||||||
add_executable (tests-beast-ssl
|
add_executable (tests-beast-ssl
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
ssl_stream.cpp
|
ssl_stream.cpp)
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(tests-beast-ssl
|
target_link_libraries(tests-beast-ssl
|
||||||
lib-asio
|
|
||||||
lib-asio-ssl
|
lib-asio-ssl
|
||||||
lib-beast
|
lib-test)
|
||||||
lib-test
|
|
||||||
)
|
|
||||||
|
|
||||||
set_property(TARGET tests-beast-ssl PROPERTY FOLDER "tests")
|
set_target_properties(tests-beast-ssl
|
||||||
|
PROPERTIES FOLDER "tests")
|
||||||
#build_individual_tests(tests-beast-ssl LIBS lib-asio lib-asio-ssl lib-beast lib-test)
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,13 +8,7 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources (include/boost/beast beast)
|
|
||||||
GroupSources (test/extras/include/boost/beast extras)
|
|
||||||
GroupSources (test/beast/websocket "/")
|
|
||||||
|
|
||||||
add_executable (tests-beast-websocket
|
add_executable (tests-beast-websocket
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
${EXTRAS_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
_detail_decorator.cpp
|
_detail_decorator.cpp
|
||||||
_detail_prng.cpp
|
_detail_prng.cpp
|
||||||
@ -42,18 +37,11 @@ add_executable (tests-beast-websocket
|
|||||||
teardown.cpp
|
teardown.cpp
|
||||||
timer.cpp
|
timer.cpp
|
||||||
utf8_checker.cpp
|
utf8_checker.cpp
|
||||||
write.cpp
|
write.cpp)
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(tests-beast-websocket
|
target_link_libraries(tests-beast-websocket
|
||||||
lib-asio
|
|
||||||
lib-asio-ssl
|
lib-asio-ssl
|
||||||
lib-beast
|
lib-test)
|
||||||
lib-test
|
|
||||||
)
|
|
||||||
|
|
||||||
set_property(TARGET tests-beast-websocket PROPERTY FOLDER "tests")
|
set_target_properties(tests-beast-websocket
|
||||||
|
PROPERTIES FOLDER "tests")
|
||||||
#build_individual_tests(tests-beast-websocket
|
|
||||||
# EXCLUDE doc_snippets
|
|
||||||
# LIBS lib-asio lib-asio-ssl lib-beast lib-test)
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,30 +8,19 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources (include/boost/beast beast)
|
|
||||||
GroupSources (test/extern/zlib-1.2.12 zlib)
|
|
||||||
GroupSources (test/beast/zlib "/")
|
|
||||||
|
|
||||||
if (MSVC)
|
|
||||||
set_source_files_properties (${ZLIB_SOURCES} PROPERTIES COMPILE_FLAGS "/wd4127 /wd4131 /wd4244")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_executable (tests-beast-zlib
|
add_executable (tests-beast-zlib
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
${ZLIB_SOURCES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
error.cpp
|
error.cpp
|
||||||
deflate_stream.cpp
|
deflate_stream.cpp
|
||||||
inflate_stream.cpp
|
inflate_stream.cpp
|
||||||
zlib.cpp
|
zlib.cpp)
|
||||||
)
|
|
||||||
|
target_include_directories(tests-beast-zlib
|
||||||
|
PRIVATE ${PROJECT_SOURCE_DIR}/test/extern)
|
||||||
|
|
||||||
target_link_libraries(tests-beast-zlib
|
target_link_libraries(tests-beast-zlib
|
||||||
lib-asio
|
|
||||||
lib-beast
|
|
||||||
lib-test
|
lib-test
|
||||||
)
|
lib-zlib)
|
||||||
|
|
||||||
set_property(TARGET tests-beast-zlib PROPERTY FOLDER "tests")
|
set_target_properties(tests-beast-zlib
|
||||||
|
PROPERTIES FOLDER "tests")
|
||||||
#build_individual_tests(tests-beast-zlib LIBS lib-asio lib-beast lib-test lib-zlib)
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,8 +8,8 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
add_subdirectory (buffers)
|
add_subdirectory(buffers)
|
||||||
add_subdirectory (parser)
|
add_subdirectory(parser)
|
||||||
add_subdirectory (utf8_checker)
|
add_subdirectory(utf8_checker)
|
||||||
add_subdirectory (wsload)
|
add_subdirectory(wsload)
|
||||||
add_subdirectory (zlib)
|
add_subdirectory(zlib)
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,19 +8,12 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources (include/boost/beast beast)
|
add_executable(bench-buffers
|
||||||
GroupSources (test/bench/buffers "/")
|
|
||||||
|
|
||||||
add_executable (bench-buffers
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
bench_buffers.cpp
|
bench_buffers.cpp)
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(bench-buffers
|
target_link_libraries(bench-buffers
|
||||||
lib-asio
|
lib-test)
|
||||||
lib-beast
|
|
||||||
lib-test
|
|
||||||
)
|
|
||||||
|
|
||||||
set_property(TARGET bench-buffers PROPERTY FOLDER "tests-bench")
|
set_target_properties(bench-buffers
|
||||||
|
PROPERTIES FOLDER "tests-bench")
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,23 +8,17 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources (include/boost/beast beast)
|
add_executable(bench-parser
|
||||||
GroupSources (test/beast/http "/")
|
|
||||||
GroupSources (test/bench/parser "/")
|
|
||||||
|
|
||||||
add_executable (bench-parser
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
${PROJECT_SOURCE_DIR}/test/beast/http/message_fuzz.hpp
|
|
||||||
nodejs_parser.hpp
|
nodejs_parser.hpp
|
||||||
nodejs_parser.cpp
|
nodejs_parser.cpp
|
||||||
bench_parser.cpp
|
bench_parser.cpp)
|
||||||
)
|
|
||||||
|
target_include_directories(bench-parser
|
||||||
|
PRIVATE ${PROJECT_SOURCE_DIR})
|
||||||
|
|
||||||
target_link_libraries(bench-parser
|
target_link_libraries(bench-parser
|
||||||
lib-asio
|
lib-test)
|
||||||
lib-beast
|
|
||||||
lib-test
|
|
||||||
)
|
|
||||||
|
|
||||||
set_property(TARGET bench-parser PROPERTY FOLDER "tests-bench")
|
set_target_properties(bench-parser
|
||||||
|
PROPERTIES FOLDER "tests-bench")
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,19 +8,12 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources (include/boost/beast beast)
|
add_executable(bench-utf8-checker
|
||||||
GroupSources (test/bench/utf8_checker "/")
|
|
||||||
|
|
||||||
add_executable (bench-utf8-checker
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
bench_utf8_checker.cpp
|
bench_utf8_checker.cpp)
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(bench-utf8-checker
|
target_link_libraries(bench-utf8-checker
|
||||||
lib-asio
|
lib-test)
|
||||||
lib-beast
|
|
||||||
lib-test
|
|
||||||
)
|
|
||||||
|
|
||||||
set_property(TARGET bench-utf8-checker PROPERTY FOLDER "tests-bench")
|
set_target_properties(bench-utf8-checker
|
||||||
|
PROPERTIES FOLDER "tests-bench")
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,18 +8,12 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources (include/boost/beast beast)
|
add_executable(bench-wsload
|
||||||
GroupSources (test/bench/wsload "/")
|
|
||||||
|
|
||||||
add_executable (bench-wsload
|
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
wsload.cpp
|
wsload.cpp)
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(bench-wsload
|
target_link_libraries(bench-wsload
|
||||||
lib-asio
|
lib-beast)
|
||||||
lib-beast
|
|
||||||
)
|
|
||||||
|
|
||||||
set_property(TARGET bench-wsload PROPERTY FOLDER "tests-bench")
|
set_target_properties(bench-wsload
|
||||||
|
PROPERTIES FOLDER "tests-bench")
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,25 +8,17 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources (include/boost/beast beast)
|
|
||||||
GroupSources (test/extern/zlib-1.2.12 zlib)
|
|
||||||
GroupSources (test/bench/zlib "/")
|
|
||||||
|
|
||||||
if (MSVC)
|
|
||||||
set_source_files_properties (${ZLIB_SOURCES} PROPERTIES COMPILE_FLAGS "/wd4127 /wd4131 /wd4244")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_executable (bench-zlib
|
add_executable (bench-zlib
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
${ZLIB_SOURCES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
deflate_stream.cpp
|
deflate_stream.cpp
|
||||||
inflate_stream.cpp
|
inflate_stream.cpp)
|
||||||
)
|
|
||||||
target_link_libraries(bench-zlib
|
|
||||||
lib-asio
|
|
||||||
lib-beast
|
|
||||||
lib-test
|
|
||||||
)
|
|
||||||
|
|
||||||
set_property(TARGET bench-zlib PROPERTY FOLDER "tests-bench")
|
target_include_directories(bench-zlib
|
||||||
|
PRIVATE ${PROJECT_SOURCE_DIR}/test/extern)
|
||||||
|
|
||||||
|
target_link_libraries(bench-zlib
|
||||||
|
lib-test
|
||||||
|
lib-zlib)
|
||||||
|
|
||||||
|
set_target_properties(bench-zlib
|
||||||
|
PROPERTIES FOLDER "tests-bench")
|
||||||
|
93
test/cmake_test/CMakeLists.txt
Normal file
93
test/cmake_test/CMakeLists.txt
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
#
|
||||||
|
# Copyright (c) 2023 Christian Mazakas
|
||||||
|
# Copyright (c) 2022 alandefreitas (alandefreitas@gmail.com)
|
||||||
|
#
|
||||||
|
# Distributed under the Boost Software License, Version 1.0.
|
||||||
|
# https://www.boost.org/LICENSE_1_0.txt
|
||||||
|
#
|
||||||
|
|
||||||
|
cmake_minimum_required(VERSION 3.5...3.16)
|
||||||
|
|
||||||
|
project(cmake_subdir_test LANGUAGES CXX)
|
||||||
|
set(__ignore__ ${CMAKE_C_COMPILER})
|
||||||
|
set(__ignore__ ${CMAKE_C_FLAGS})
|
||||||
|
|
||||||
|
if(BOOST_CI_INSTALL_TEST)
|
||||||
|
find_package(Boost CONFIG REQUIRED COMPONENTS beast)
|
||||||
|
else()
|
||||||
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||||
|
add_subdirectory(../.. boostorg/beast)
|
||||||
|
|
||||||
|
set(BOOST_URL_BUILD_TESTS OFF CACHE BOOL "" FORCE)
|
||||||
|
|
||||||
|
set(deps
|
||||||
|
# Primary dependencies
|
||||||
|
|
||||||
|
asio
|
||||||
|
assert
|
||||||
|
bind
|
||||||
|
config
|
||||||
|
container
|
||||||
|
container_hash
|
||||||
|
core
|
||||||
|
endian
|
||||||
|
intrusive
|
||||||
|
logic
|
||||||
|
mp11
|
||||||
|
optional
|
||||||
|
preprocessor
|
||||||
|
smart_ptr
|
||||||
|
static_assert
|
||||||
|
static_string
|
||||||
|
system
|
||||||
|
throw_exception
|
||||||
|
type_index
|
||||||
|
type_traits
|
||||||
|
winapi
|
||||||
|
|
||||||
|
# Secondary dependencies
|
||||||
|
|
||||||
|
align
|
||||||
|
context
|
||||||
|
date_time
|
||||||
|
move
|
||||||
|
describe
|
||||||
|
utility
|
||||||
|
variant2
|
||||||
|
predef
|
||||||
|
pool
|
||||||
|
algorithm
|
||||||
|
io
|
||||||
|
lexical_cast
|
||||||
|
numeric/conversion
|
||||||
|
range
|
||||||
|
tokenizer
|
||||||
|
array
|
||||||
|
concept_check
|
||||||
|
exception
|
||||||
|
function
|
||||||
|
iterator
|
||||||
|
mpl
|
||||||
|
regex
|
||||||
|
tuple
|
||||||
|
unordered
|
||||||
|
conversion
|
||||||
|
integer
|
||||||
|
detail
|
||||||
|
function_types
|
||||||
|
fusion
|
||||||
|
functional
|
||||||
|
typeof
|
||||||
|
)
|
||||||
|
|
||||||
|
foreach(dep IN LISTS deps)
|
||||||
|
add_subdirectory(../../../${dep} boostorg/${dep} EXCLUDE_FROM_ALL)
|
||||||
|
endforeach()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
add_executable(main main.cpp)
|
||||||
|
target_link_libraries(main Boost::beast)
|
||||||
|
|
||||||
|
enable_testing()
|
||||||
|
add_test(NAME main COMMAND main)
|
||||||
|
add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C $<CONFIG>)
|
5
test/cmake_test/main.cpp
Normal file
5
test/cmake_test/main.cpp
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
#include <boost/beast.hpp>
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
|
||||||
|
}
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,12 +8,7 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources (include/boost/beast beast)
|
|
||||||
GroupSources (example example)
|
|
||||||
GroupSources (test/doc "/")
|
|
||||||
|
|
||||||
add_executable (tests-doc
|
add_executable (tests-doc
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
snippets.hpp
|
snippets.hpp
|
||||||
snippets.ipp
|
snippets.ipp
|
||||||
@ -33,14 +29,14 @@ add_executable (tests-doc
|
|||||||
websocket_6_timeouts.cpp
|
websocket_6_timeouts.cpp
|
||||||
websocket_7_teardown.cpp
|
websocket_7_teardown.cpp
|
||||||
websocket_8_notes.cpp
|
websocket_8_notes.cpp
|
||||||
exemplars.cpp
|
exemplars.cpp)
|
||||||
)
|
|
||||||
|
target_include_directories(tests-doc
|
||||||
|
PRIVATE ${PROJECT_SOURCE_DIR})
|
||||||
|
|
||||||
target_link_libraries(tests-doc
|
target_link_libraries(tests-doc
|
||||||
lib-asio
|
|
||||||
lib-asio-ssl
|
lib-asio-ssl
|
||||||
lib-beast
|
lib-test)
|
||||||
lib-test
|
|
||||||
)
|
|
||||||
|
|
||||||
set_property(TARGET tests-doc PROPERTY FOLDER "tests")
|
set_target_properties(tests-doc
|
||||||
|
PROPERTIES FOLDER "tests")
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,4 +8,4 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
add_subdirectory (common)
|
add_subdirectory(common)
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
# Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||||
|
# Copyright (c) 2024 Mohammad Nejati
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -7,25 +8,17 @@
|
|||||||
# Official repository: https://github.com/boostorg/beast
|
# Official repository: https://github.com/boostorg/beast
|
||||||
#
|
#
|
||||||
|
|
||||||
GroupSources (include/boost/beast beast)
|
|
||||||
GroupSources (example/common common)
|
|
||||||
GroupSources (test/extras/include/boost/beast extras)
|
|
||||||
GroupSources (test/example/common "/")
|
|
||||||
|
|
||||||
add_executable (tests-example-common
|
add_executable (tests-example-common
|
||||||
${BOOST_BEAST_FILES}
|
|
||||||
${COMMON_FILES}
|
|
||||||
${EXTRAS_FILES}
|
|
||||||
Jamfile
|
Jamfile
|
||||||
root_certificates.cpp
|
root_certificates.cpp
|
||||||
server_certificate.cpp
|
server_certificate.cpp)
|
||||||
)
|
|
||||||
|
target_include_directories(tests-example-common
|
||||||
|
PRIVATE ${PROJECT_SOURCE_DIR})
|
||||||
|
|
||||||
target_link_libraries(tests-example-common
|
target_link_libraries(tests-example-common
|
||||||
lib-asio
|
|
||||||
lib-asio-ssl
|
lib-asio-ssl
|
||||||
lib-beast
|
lib-test)
|
||||||
lib-test
|
|
||||||
)
|
|
||||||
|
|
||||||
set_property(TARGET tests-example-common PROPERTY FOLDER "tests")
|
set_target_properties(tests-example-common
|
||||||
|
PROPERTIES FOLDER "tests")
|
||||||
|
@ -36,7 +36,6 @@ add_custom_target(
|
|||||||
WORKING_DIRECTORY ${BOOST_BEAST_FUZZER_SEEDS_PARENT_DIR}
|
WORKING_DIRECTORY ${BOOST_BEAST_FUZZER_SEEDS_PARENT_DIR}
|
||||||
COMMENT "Unzipping fuzz seeds"
|
COMMENT "Unzipping fuzz seeds"
|
||||||
VERBATIM)
|
VERBATIM)
|
||||||
|
|
||||||
set(BOOST_BEAST_FUZZER_CORPUS_DIR ${CMAKE_CURRENT_BINARY_DIR}/corpus)
|
set(BOOST_BEAST_FUZZER_CORPUS_DIR ${CMAKE_CURRENT_BINARY_DIR}/corpus)
|
||||||
set(BOOST_BEAST_FUZZER_MERGED_CORPUS_DIR ${CMAKE_CURRENT_BINARY_DIR}/merged-corpus)
|
set(BOOST_BEAST_FUZZER_MERGED_CORPUS_DIR ${CMAKE_CURRENT_BINARY_DIR}/merged-corpus)
|
||||||
if(EXISTS ${BOOST_BEAST_FUZZER_CORPUS_PATH})
|
if(EXISTS ${BOOST_BEAST_FUZZER_CORPUS_PATH})
|
||||||
@ -54,6 +53,7 @@ else()
|
|||||||
COMMENT "Creating fuzz corpus directory"
|
COMMENT "Creating fuzz corpus directory"
|
||||||
VERBATIM)
|
VERBATIM)
|
||||||
endif()
|
endif()
|
||||||
|
set_target_properties(untar_corpus untar_seeds PROPERTIES FOLDER "fuzzing")
|
||||||
add_dependencies(untar_corpus untar_seeds)
|
add_dependencies(untar_corpus untar_seeds)
|
||||||
|
|
||||||
# Target that runs all fuzz targets
|
# Target that runs all fuzz targets
|
||||||
@ -64,6 +64,7 @@ add_custom_target(
|
|||||||
COMMAND ${CMAKE_COMMAND} -E tar cf ${BOOST_BEAST_FUZZER_CORPUS_PATH} ${BOOST_BEAST_FUZZER_CORPUS_DIR}
|
COMMAND ${CMAKE_COMMAND} -E tar cf ${BOOST_BEAST_FUZZER_CORPUS_PATH} ${BOOST_BEAST_FUZZER_CORPUS_DIR}
|
||||||
WORKING_DIRECTORY ${BOOST_BEAST_FUZZER_CORPUS_PARENT_DIR}
|
WORKING_DIRECTORY ${BOOST_BEAST_FUZZER_CORPUS_PARENT_DIR}
|
||||||
VERBATIM)
|
VERBATIM)
|
||||||
|
set_target_properties(boost_beast_fuzz_all PROPERTIES FOLDER "fuzzing")
|
||||||
|
|
||||||
# Register a single fuzzer and add as dependency to fuzz target
|
# Register a single fuzzer and add as dependency to fuzz target
|
||||||
function(add_boost_beast_fuzzer NAME)
|
function(add_boost_beast_fuzzer NAME)
|
||||||
@ -73,7 +74,7 @@ function(add_boost_beast_fuzzer NAME)
|
|||||||
target_link_libraries(fuzzer_${NAME} PRIVATE lib-beast)
|
target_link_libraries(fuzzer_${NAME} PRIVATE lib-beast)
|
||||||
target_compile_options(fuzzer_${NAME} PRIVATE -g -O2 -fsanitize=fuzzer,address,undefined -fno-sanitize-recover=undefined)
|
target_compile_options(fuzzer_${NAME} PRIVATE -g -O2 -fsanitize=fuzzer,address,undefined -fno-sanitize-recover=undefined)
|
||||||
target_link_libraries(fuzzer_${NAME} PRIVATE -fsanitize=fuzzer,address,undefined)
|
target_link_libraries(fuzzer_${NAME} PRIVATE -fsanitize=fuzzer,address,undefined)
|
||||||
set_property(TARGET fuzzer_${NAME} PROPERTY FOLDER "fuzzing")
|
set_target_properties(fuzzer_${NAME} PROPERTIES FOLDER "fuzzing")
|
||||||
|
|
||||||
# Custom target to run fuzzer executable
|
# Custom target to run fuzzer executable
|
||||||
add_custom_target(
|
add_custom_target(
|
||||||
@ -106,7 +107,8 @@ function(add_boost_beast_fuzzer NAME)
|
|||||||
DEPENDS untar_corpus fuzzer_${NAME})
|
DEPENDS untar_corpus fuzzer_${NAME})
|
||||||
add_dependencies(fuzz_${NAME} fuzzer_${NAME})
|
add_dependencies(fuzz_${NAME} fuzzer_${NAME})
|
||||||
add_dependencies(boost_beast_fuzz_all fuzz_${NAME})
|
add_dependencies(boost_beast_fuzz_all fuzz_${NAME})
|
||||||
set_property(TARGET fuzz_${NAME} PROPERTY ENVIRONMENT "UBSAN_OPTIONS=halt_on_error=false")
|
set_target_properties(fuzz_${NAME} PROPERTIES FOLDER "UBSAN_OPTIONS=halt_on_error=false")
|
||||||
|
set_target_properties(fuzz_${NAME} PROPERTIES FOLDER "fuzzing")
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
# Register all fuzzers
|
# Register all fuzzers
|
||||||
|
Reference in New Issue
Block a user