Tidy up CMakeLists.txt

This commit is contained in:
Vinnie Falco
2017-06-20 17:16:07 -07:00
parent 3ff585d36e
commit 26b5e91725
14 changed files with 41 additions and 45 deletions

View File

@@ -29,10 +29,10 @@ if (MSVC)
set (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO ${replacement_flags}) set (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO ${replacement_flags})
else() else()
set(THREADS_PREFER_PTHREAD_FLAG ON) set (THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads) find_package (Threads)
set(CMAKE_CXX_FLAGS set( CMAKE_CXX_FLAGS
"${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wextra -Wpedantic -Wno-unused-parameter") "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wextra -Wpedantic -Wno-unused-parameter")
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
@@ -72,6 +72,7 @@ find_package(OpenSSL)
if (OPENSSL_FOUND) if (OPENSSL_FOUND)
add_definitions (-DBEAST_USE_OPENSSL=1) add_definitions (-DBEAST_USE_OPENSSL=1)
else() else()
add_definitions (-DBEAST_USE_OPENSSL=0) add_definitions (-DBEAST_USE_OPENSSL=0)
message("OpenSSL not found.") message("OpenSSL not found.")
@@ -81,11 +82,11 @@ endif()
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
function(DoGroupSources curdir rootdir folder) function(DoGroupSources curdir rootdir folder)
file(GLOB children RELATIVE ${PROJECT_SOURCE_DIR}/${curdir} ${PROJECT_SOURCE_DIR}/${curdir}/*) file (GLOB children RELATIVE ${PROJECT_SOURCE_DIR}/${curdir} ${PROJECT_SOURCE_DIR}/${curdir}/*)
foreach(child ${children}) foreach (child ${children})
if(IS_DIRECTORY ${PROJECT_SOURCE_DIR}/${curdir}/${child}) if (IS_DIRECTORY ${PROJECT_SOURCE_DIR}/${curdir}/${child})
DoGroupSources(${curdir}/${child} ${rootdir} ${folder}) DoGroupSources(${curdir}/${child} ${rootdir} ${folder})
elseif(${child} STREQUAL "CMakeLists.txt") elseif (${child} STREQUAL "CMakeLists.txt")
source_group("" FILES ${PROJECT_SOURCE_DIR}/${curdir}/${child}) source_group("" FILES ${PROJECT_SOURCE_DIR}/${curdir}/${child})
else() else()
string(REGEX REPLACE ^${rootdir} ${folder} groupname ${curdir}) string(REGEX REPLACE ^${rootdir} ${folder} groupname ${curdir})
@@ -96,7 +97,7 @@ function(DoGroupSources curdir rootdir folder)
endfunction() endfunction()
function(GroupSources curdir folder) function(GroupSources curdir folder)
DoGroupSources(${curdir} ${curdir} ${folder}) DoGroupSources (${curdir} ${curdir} ${folder})
endfunction() endfunction()
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
@@ -104,7 +105,7 @@ endfunction()
if ("${VARIANT}" STREQUAL "coverage") if ("${VARIANT}" STREQUAL "coverage")
if (MSVC) if (MSVC)
else() else()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage")
set (CMAKE_BUILD_TYPE RELWITHDEBINFO) set (CMAKE_BUILD_TYPE RELWITHDEBINFO)
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lgcov") set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lgcov")
endif() endif()
@@ -112,17 +113,17 @@ if ("${VARIANT}" STREQUAL "coverage")
elseif ("${VARIANT}" STREQUAL "ubasan") elseif ("${VARIANT}" STREQUAL "ubasan")
if (MSVC) if (MSVC)
else() else()
set(CMAKE_CXX_FLAGS set (CMAKE_CXX_FLAGS
"${CMAKE_CXX_FLAGS} -DBEAST_NO_SLOW_TESTS=1 -funsigned-char -fno-omit-frame-pointer -fsanitize=address,undefined -fsanitize-blacklist=${PROJECT_SOURCE_DIR}/scripts/blacklist.supp") "${CMAKE_CXX_FLAGS} -DBEAST_NO_SLOW_TESTS=1 -funsigned-char -fno-omit-frame-pointer -fsanitize=address,undefined -fsanitize-blacklist=${PROJECT_SOURCE_DIR}/scripts/blacklist.supp")
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=address,undefined") set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=address,undefined")
set(CMAKE_BUILD_TYPE RELWITHDEBINFO) set (CMAKE_BUILD_TYPE RELWITHDEBINFO)
endif() endif()
elseif ("${VARIANT}" STREQUAL "debug") elseif ("${VARIANT}" STREQUAL "debug")
set(CMAKE_BUILD_TYPE DEBUG) set (CMAKE_BUILD_TYPE DEBUG)
elseif ("${VARIANT}" STREQUAL "release") elseif ("${VARIANT}" STREQUAL "release")
set(CMAKE_BUILD_TYPE RELEASE) set (CMAKE_BUILD_TYPE RELEASE)
endif() endif()
@@ -131,14 +132,14 @@ endif()
# Library interface # Library interface
# #
add_library(${PROJECT_NAME} INTERFACE) add_library (${PROJECT_NAME} INTERFACE)
target_link_libraries(${PROJECT_NAME} INTERFACE ${Boost_SYSTEM_LIBRARY}) target_link_libraries (${PROJECT_NAME} INTERFACE ${Boost_SYSTEM_LIBRARY})
if (NOT MSVC) if (NOT MSVC)
target_link_libraries(${PROJECT_NAME} INTERFACE Threads::Threads) target_link_libraries (${PROJECT_NAME} INTERFACE Threads::Threads)
endif() endif()
set_property(TARGET ${PROJECT_NAME} PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${Boost_INCLUDE_DIRS}) set_property (TARGET ${PROJECT_NAME} PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${Boost_INCLUDE_DIRS})
set_property(TARGET ${PROJECT_NAME} PROPERTY INTERFACE_SYSTEM_INCLUDE_DIRECTORIES ${Boost_INCLUDE_DIRS}) set_property (TARGET ${PROJECT_NAME} PROPERTY INTERFACE_SYSTEM_INCLUDE_DIRECTORIES ${Boost_INCLUDE_DIRS})
target_compile_definitions(${PROJECT_NAME} INTERFACE BOOST_COROUTINES_NO_DEPRECATION_WARNING=1) target_compile_definitions (${PROJECT_NAME} INTERFACE BOOST_COROUTINES_NO_DEPRECATION_WARNING=1)
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# #
@@ -149,6 +150,10 @@ include_directories (.)
include_directories (extras) include_directories (extras)
include_directories (include) include_directories (include)
if (OPENSSL_FOUND)
include_directories (${OPENSSL_INCLUDE_DIR})
endif()
set(ZLIB_SOURCES set(ZLIB_SOURCES
${PROJECT_SOURCE_DIR}/test/zlib/zlib-1.2.8/crc32.h ${PROJECT_SOURCE_DIR}/test/zlib/zlib-1.2.8/crc32.h
${PROJECT_SOURCE_DIR}/test/zlib/zlib-1.2.8/deflate.h ${PROJECT_SOURCE_DIR}/test/zlib/zlib-1.2.8/deflate.h

View File

@@ -1,6 +1,5 @@
# Part of Beast # Part of Beast
GroupSources(extras/beast extras)
GroupSources(include/beast beast) GroupSources(include/beast beast)
GroupSources(example/echo-op "/") GroupSources(example/echo-op "/")

View File

@@ -4,11 +4,12 @@ GroupSources(include/beast beast)
GroupSources(example/http-client-ssl "/") GroupSources(example/http-client-ssl "/")
include_directories(${OPENSSL_INCLUDE_DIR})
add_executable (http-client-ssl add_executable (http-client-ssl
${BEAST_INCLUDES} ${BEAST_INCLUDES}
http_client_ssl.cpp http_client_ssl.cpp
) )
target_link_libraries(http-client-ssl Beast ${OPENSSL_LIBRARIES}) target_link_libraries(http-client-ssl
Beast
${OPENSSL_LIBRARIES}
)

View File

@@ -1,6 +1,5 @@
# Part of Beast # Part of Beast
GroupSources(extras/beast extras)
GroupSources(include/beast beast) GroupSources(include/beast beast)
GroupSources(example/http-client "/") GroupSources(example/http-client "/")

View File

@@ -1,6 +1,5 @@
# Part of Beast # Part of Beast
GroupSources(extras/beast extras)
GroupSources(include/beast beast) GroupSources(include/beast beast)
GroupSources(example/http-crawl "/") GroupSources(example/http-crawl "/")

View File

@@ -4,10 +4,6 @@ GroupSources(include/beast beast)
GroupSources(example/server-framework "/") GroupSources(example/server-framework "/")
if (OPENSSL_FOUND)
include_directories(${OPENSSL_INCLUDE_DIR})
endif()
add_executable (server-framework add_executable (server-framework
${BEAST_INCLUDES} ${BEAST_INCLUDES}
${SERVER_INCLUDES} ${SERVER_INCLUDES}
@@ -21,5 +17,5 @@ target_link_libraries(
${Boost_FILESYSTEM_LIBRARY}) ${Boost_FILESYSTEM_LIBRARY})
if (OPENSSL_FOUND) if (OPENSSL_FOUND)
target_link_libraries(server-framework ${OPENSSL_LIBRARIES}) target_link_libraries(server-framework ${OPENSSL_LIBRARIES})
endif() endif()

View File

@@ -4,11 +4,12 @@ GroupSources(include/beast beast)
GroupSources(example/websocket-client-ssl "/") GroupSources(example/websocket-client-ssl "/")
include_directories(${OPENSSL_INCLUDE_DIR})
add_executable (websocket-client-ssl add_executable (websocket-client-ssl
${BEAST_INCLUDES} ${BEAST_INCLUDES}
websocket_client_ssl.cpp websocket_client_ssl.cpp
) )
target_link_libraries(websocket-client-ssl Beast ${OPENSSL_LIBRARIES}) target_link_libraries(websocket-client-ssl
Beast
${OPENSSL_LIBRARIES}
)

View File

@@ -1,6 +1,5 @@
# Part of Beast # Part of Beast
GroupSources(extras/beast extras)
GroupSources(include/beast beast) GroupSources(include/beast beast)
GroupSources(example/websocket-client "/") GroupSources(example/websocket-client "/")

View File

@@ -13,6 +13,7 @@ if ((NOT "${VARIANT}" STREQUAL "coverage") AND
GroupSources(extras/beast extras) GroupSources(extras/beast extras)
GroupSources(include/beast beast) GroupSources(include/beast beast)
GroupSources(test "/") GroupSources(test "/")
add_executable (lib-tests add_executable (lib-tests

View File

@@ -2,6 +2,7 @@
GroupSources(extras/beast extras) GroupSources(extras/beast extras)
GroupSources(include/beast beast) GroupSources(include/beast beast)
GroupSources(test/benchmarks "/") GroupSources(test/benchmarks "/")
GroupSources(test/http "/") GroupSources(test/http "/")

View File

@@ -3,6 +3,7 @@
GroupSources(examples examples) GroupSources(examples examples)
GroupSources(extras/beast extras) GroupSources(extras/beast extras)
GroupSources(include/beast beast) GroupSources(include/beast beast)
GroupSources(test/core "/") GroupSources(test/core "/")
add_executable (core-tests add_executable (core-tests

View File

@@ -6,10 +6,6 @@ GroupSources(include/beast beast)
GroupSources(test/server "/") GroupSources(test/server "/")
if (OPENSSL_FOUND)
include_directories(${OPENSSL_INCLUDE_DIR})
endif()
add_executable (server-test add_executable (server-test
${BEAST_INCLUDES} ${BEAST_INCLUDES}
${SERVER_INCLUDES} ${SERVER_INCLUDES}
@@ -42,5 +38,5 @@ target_link_libraries(server-test
) )
if (OPENSSL_FOUND) if (OPENSSL_FOUND)
target_link_libraries(server-test ${OPENSSL_LIBRARIES}) target_link_libraries (server-test ${OPENSSL_LIBRARIES})
endif() endif()

View File

@@ -2,13 +2,10 @@
GroupSources(extras/beast extras) GroupSources(extras/beast extras)
GroupSources(include/beast beast) GroupSources(include/beast beast)
GroupSources(test/websocket "/") GroupSources(test/websocket "/")
include_directories(../../example/) #include_directories(../../example/)
if (OPENSSL_FOUND)
include_directories(${OPENSSL_INCLUDE_DIR})
endif()
add_executable (websocket-tests add_executable (websocket-tests
${BEAST_INCLUDES} ${BEAST_INCLUDES}
@@ -37,5 +34,5 @@ target_link_libraries(websocket-tests
) )
if (OPENSSL_FOUND) if (OPENSSL_FOUND)
target_link_libraries(websocket-tests ${OPENSSL_LIBRARIES}) target_link_libraries(websocket-tests ${OPENSSL_LIBRARIES})
endif() endif()

View File

@@ -2,6 +2,7 @@
GroupSources(extras/beast extras) GroupSources(extras/beast extras)
GroupSources(include/beast beast) GroupSources(include/beast beast)
GroupSources(test/zlib "/") GroupSources(test/zlib "/")
if (MSVC) if (MSVC)