Revert "Add a Beast CMake interface target:"

This reverts commit 906db45bec.
This commit is contained in:
Vinnie Falco
2017-06-12 22:08:05 -07:00
parent 4b5ffeff1e
commit 4d21f8d2cf
10 changed files with 111 additions and 68 deletions

View File

@@ -1,7 +1,6 @@
Version 55:
* Don't allocate memory to handle obs-fold
* Add Beast CMake interface target
* Avoid a parser allocation using non-flat buffer
* read_size replaces read_size_helper

View File

@@ -1,12 +1,8 @@
#-------------------------------------------------------------------------------
#
# Beast
#
#-------------------------------------------------------------------------------
# Part of Beast
cmake_minimum_required (VERSION 3.5.2)
project (Beast VERSION 1.0.0)
project (Beast)
set_property (GLOBAL PROPERTY USE_FOLDERS ON)
@@ -44,25 +40,31 @@ endif()
#
# Boost
#
#-------------------------------------------------------------------------------
option (Boost_USE_STATIC_LIBS "Use static libraries for boost" ON)
set (Boost_NO_SYSTEM_PATHS ON)
set (Boost_USE_MULTITHREADED ON)
add_definitions (-DBOOST_COROUTINES_NO_DEPRECATION_WARNING=1) # for asio
unset (Boost_INCLUDE_DIR CACHE)
unset (Boost_LIBRARY_DIRS CACHE)
set (BOOST_COMPONENTS coroutine context filesystem program_options system thread)
find_package (Boost REQUIRED COMPONENTS ${BOOST_COMPONENTS})
if (MSVC)
find_package (Boost REQUIRED)
else()
find_package (Boost REQUIRED COMPONENTS
coroutine
context
filesystem
program_options
system
thread
)
link_libraries (${Boost_LIBRARIES})
endif()
# Workaround for Jenkins incomplete install
if (NOT TARGET Boost::atomic)
add_library(Boost::atomic INTERFACE IMPORTED)
endif()
if (NOT TARGET Boost::date_time)
add_library(Boost::date_time INTERFACE IMPORTED)
endif()
include_directories (SYSTEM ${Boost_INCLUDE_DIRS})
if (MINGW)
link_libraries(ws2_32 mswsock)
@@ -72,7 +74,6 @@ endif()
#
# OpenSSL
#
#-------------------------------------------------------------------------------
if (APPLE AND NOT DEFINED ENV{OPENSSL_ROOT_DIR})
find_program(HOMEBREW brew)
@@ -129,25 +130,6 @@ elseif ("${VARIANT}" STREQUAL "release")
endif()
#-------------------------------------------------------------------------------
#
# Library interface
#
#-------------------------------------------------------------------------------
add_library(${PROJECT_NAME} INTERFACE)
target_link_libraries(${PROJECT_NAME} INTERFACE Boost::system Boost::disable_autolinking)
if (NOT MSVC)
target_link_libraries(${PROJECT_NAME} INTERFACE Threads::Threads)
endif()
target_compile_definitions(${PROJECT_NAME} INTERFACE BOOST_COROUTINES_NO_DEPRECATION_WARNING=1)
#-------------------------------------------------------------------------------
#
# Tests and Examples
#
#-------------------------------------------------------------------------------
include_directories (.)
include_directories (extras)
include_directories (include)
@@ -189,12 +171,6 @@ file(GLOB_RECURSE EXTRAS_INCLUDES
${PROJECT_SOURCE_DIR}/extras/beast/*.ipp
)
add_subdirectory (test)
add_subdirectory (test/core)
add_subdirectory (test/http)
add_subdirectory (test/websocket)
add_subdirectory (test/zlib)
add_subdirectory (examples)
if (NOT OPENSSL_FOUND)
message("OpenSSL not found. Not building SSL tests and examples")
@@ -202,3 +178,9 @@ else()
add_subdirectory (examples/ssl)
add_subdirectory (test/websocket/ssl)
endif()
add_subdirectory (test)
add_subdirectory (test/core)
add_subdirectory (test/http)
add_subdirectory (test/websocket)
add_subdirectory (test/zlib)

View File

@@ -10,7 +10,11 @@ add_executable (echo-op
echo_op.cpp
)
target_link_libraries(echo-op Beast)
if (NOT WIN32)
target_link_libraries(echo-op ${Boost_LIBRARIES} Threads::Threads)
else()
target_link_libraries(echo-op ${Boost_LIBRARIES})
endif()
add_executable (http-crawl
${BEAST_INCLUDES}
@@ -20,7 +24,11 @@ add_executable (http-crawl
http_crawl.cpp
)
target_link_libraries(http-crawl Beast)
if (NOT WIN32)
target_link_libraries(http-crawl ${Boost_LIBRARIES} Threads::Threads)
else()
target_link_libraries(http-crawl ${Boost_LIBRARIES})
endif()
add_executable (http-server
${BEAST_INCLUDES}
@@ -32,7 +40,11 @@ add_executable (http-server
http_server.cpp
)
target_link_libraries(http-server Beast Boost::program_options Boost::filesystem)
if (NOT WIN32)
target_link_libraries(http-server ${Boost_LIBRARIES} Threads::Threads)
else()
target_link_libraries(http-server ${Boost_LIBRARIES})
endif()
add_executable (http-example
@@ -41,7 +53,11 @@ add_executable (http-example
http_example.cpp
)
target_link_libraries(http-example Beast)
if (NOT WIN32)
target_link_libraries(http-example ${Boost_LIBRARIES} Threads::Threads)
else()
target_link_libraries(http-example ${Boost_LIBRARIES})
endif()
add_executable (websocket-echo
@@ -51,7 +67,11 @@ add_executable (websocket-echo
websocket_echo.cpp
)
target_link_libraries(websocket-echo Beast)
if (NOT WIN32)
target_link_libraries(websocket-echo ${Boost_LIBRARIES} Threads::Threads)
else()
target_link_libraries(websocket-echo ${Boost_LIBRARIES})
endif()
add_executable (websocket-example
@@ -60,4 +80,8 @@ add_executable (websocket-example
websocket_example.cpp
)
target_link_libraries(websocket-example Beast)
if (NOT WIN32)
target_link_libraries(websocket-example ${Boost_LIBRARIES} Threads::Threads)
else()
target_link_libraries(websocket-example ${Boost_LIBRARIES})
endif()

View File

@@ -5,13 +5,19 @@ GroupSources(include/beast beast)
GroupSources(examples/ssl "/")
include_directories(${OPENSSL_INCLUDE_DIR})
add_executable (http-ssl-example
${BEAST_INCLUDES}
${EXTRAS_INCLUDES}
http_ssl_example.cpp
)
target_link_libraries(http-ssl-example Beast OpenSSL::SSL)
target_link_libraries(http-ssl-example ${OPENSSL_LIBRARIES})
if (NOT WIN32)
target_link_libraries(http-ssl-example ${Boost_LIBRARIES} Threads::Threads)
endif()
add_executable (websocket-ssl-example
${BEAST_INCLUDES}
@@ -19,4 +25,8 @@ add_executable (websocket-ssl-example
websocket_ssl_example.cpp
)
target_link_libraries(websocket-ssl-example Beast OpenSSL::SSL)
target_link_libraries(websocket-ssl-example ${OPENSSL_LIBRARIES})
if (NOT WIN32)
target_link_libraries(websocket-ssl-example ${Boost_LIBRARIES} Threads::Threads)
endif()

View File

@@ -16,7 +16,11 @@ add_executable (lib-tests
zlib.cpp
)
target_link_libraries(lib-tests Beast Boost::program_options)
if (NOT WIN32)
target_link_libraries(lib-tests ${Boost_LIBRARIES} Threads::Threads)
else()
target_link_libraries(lib-tests ${Boost_LIBRARIES})
endif()
if (MINGW)
set_target_properties(lib-tests PROPERTIES COMPILE_FLAGS "-Wa,-mbig-obj")

View File

@@ -40,4 +40,6 @@ add_executable (core-tests
sha1.cpp
)
target_link_libraries(core-tests Beast Boost::program_options Boost::filesystem Boost::coroutine Boost::thread Boost::context)
if (NOT WIN32)
target_link_libraries(core-tests ${Boost_LIBRARIES} Threads::Threads)
endif()

View File

@@ -33,7 +33,11 @@ add_executable (http-tests
write.cpp
)
target_link_libraries(http-tests Beast Boost::program_options Boost::filesystem Boost::coroutine Boost::thread Boost::context)
if (NOT WIN32)
target_link_libraries(http-tests ${Boost_LIBRARIES} Threads::Threads)
else()
target_link_libraries(http-tests ${Boost_LIBRARIES})
endif()
add_executable (http-bench
${BEAST_INCLUDES}
@@ -45,4 +49,8 @@ add_executable (http-bench
parser_bench.cpp
)
target_link_libraries(http-bench Beast Boost::program_options Boost::filesystem)
if (NOT WIN32)
target_link_libraries(http-bench ${Boost_LIBRARIES} Threads::Threads)
else()
target_link_libraries(http-bench ${Boost_LIBRARIES})
endif()

View File

@@ -21,7 +21,11 @@ add_executable (websocket-tests
utf8_checker.cpp
)
target_link_libraries(websocket-tests Beast Boost::program_options Boost::filesystem Boost::coroutine Boost::thread Boost::context)
if (NOT WIN32)
target_link_libraries(websocket-tests ${Boost_LIBRARIES} Threads::Threads)
else()
target_link_libraries(websocket-tests ${Boost_LIBRARIES})
endif()
if (MINGW)
set_target_properties(websocket-tests PROPERTIES COMPILE_FLAGS "-Wa,-mbig-obj -Og")

View File

@@ -5,6 +5,8 @@ GroupSources(include/beast beast)
GroupSources(test/websocket/ssl "/")
include_directories(${OPENSSL_INCLUDE_DIR})
add_executable (websocket-ssl-tests
${BEAST_INCLUDES}
${EXTRAS_INCLUDES}
@@ -14,4 +16,8 @@ add_executable (websocket-ssl-tests
ssl_server.cpp
)
target_link_libraries(websocket-ssl-tests Beast Boost::program_options Boost::filesystem OpenSSL::SSL)
target_link_libraries(websocket-ssl-tests ${OPENSSL_LIBRARIES})
if (NOT WIN32)
target_link_libraries(websocket-ssl-tests ${Boost_LIBRARIES} Threads::Threads)
endif()

View File

@@ -19,4 +19,8 @@ add_executable (zlib-tests
inflate_stream.cpp
)
target_link_libraries(zlib-tests Beast Boost::program_options Boost::filesystem)
if (NOT WIN32)
target_link_libraries(zlib-tests ${Boost_LIBRARIES} Threads::Threads)
else()
target_link_libraries(zlib-tests ${Boost_LIBRARIES})
endif()