39 lines
1.2 KiB
CMake

add_executable(https_client https_client.cpp)
add_executable(async_https_client async_https_client.cpp)
add_executable(echo_client echo_client.cpp)
add_executable(echo_server echo_server.cpp)
target_link_libraries(https_client PRIVATE
boost-wintls
)
target_link_libraries(async_https_client PRIVATE
boost-wintls
)
target_link_libraries(echo_server PRIVATE
boost-wintls
)
target_link_libraries(echo_client PRIVATE
boost-wintls
)
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
# Temporary workaround issue https://github.com/boostorg/beast/issues/1582
target_compile_options(https_client PRIVATE "-wd4702")
target_compile_options(async_https_client PRIVATE "-wd4702")
endif()
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
target_compile_options(echo_client PRIVATE -Wno-unused-private-field)
target_compile_options(echo_server PRIVATE -Wno-unused-private-field)
target_compile_options(https_client PRIVATE -Wno-unused-private-field)
target_compile_options(async_https_client PRIVATE -Wno-unused-private-field)
endif()
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
# Work around string table overflow by enabling optimizations
target_compile_options(async_https_client PRIVATE -Os)
endif()