From 7f05f67464e0acf50ee78fbd504e662aa3315698 Mon Sep 17 00:00:00 2001 From: Sacha Date: Thu, 29 Jun 2017 09:40:14 +1000 Subject: [PATCH] Add options for building examples and tests. Move zlib test sources to test/zlib --- CHANGELOG.md | 1 + CMakeLists.txt | 37 +++++++++++-------------------------- test/zlib/CMakeLists.txt | 23 +++++++++++++++++++++++ 3 files changed, 35 insertions(+), 26 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d65b9a00..7e2b37fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ WebSockets: * Allow close, ping, and write to happen concurrently * Fix race in websocket read op * Fix websocket write op +* Add cmake options for examples and tests -------------------------------------------------------------------------------- diff --git a/CMakeLists.txt b/CMakeLists.txt index e1a421e9..9eaffa9f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,6 +5,8 @@ cmake_minimum_required (VERSION 3.5.2) project (Beast VERSION 69) set_property (GLOBAL PROPERTY USE_FOLDERS ON) +option (Beast_BUILD_EXAMPLES "Build examples" ON) +option (Beast_BUILD_TESTS "Build tests" ON) if (MSVC) set (CMAKE_VERBOSE_MAKEFILE FALSE) @@ -51,7 +53,10 @@ endif() option (Boost_USE_STATIC_LIBS "Use static libraries for boost" ON) -set (BOOST_COMPONENTS coroutine context filesystem program_options system thread) +set(BOOST_COMPONENTS system) +if (Beast_BUILD_EXAMPLES OR Beast_BUILD_TESTS) + list(APPEND BOOST_COMPONENTS coroutine context filesystem program_options thread) +endif() find_package (Boost 1.58.0 REQUIRED COMPONENTS ${BOOST_COMPONENTS}) link_directories(${Boost_LIBRARY_DIRS}) @@ -160,29 +165,6 @@ if (OPENSSL_FOUND) include_directories (${OPENSSL_INCLUDE_DIR}) endif() -set(ZLIB_SOURCES - ${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/inffast.h - ${PROJECT_SOURCE_DIR}/test/zlib/zlib-1.2.8/inffixed.h - ${PROJECT_SOURCE_DIR}/test/zlib/zlib-1.2.8/inflate.h - ${PROJECT_SOURCE_DIR}/test/zlib/zlib-1.2.8/inftrees.h - ${PROJECT_SOURCE_DIR}/test/zlib/zlib-1.2.8/trees.h - ${PROJECT_SOURCE_DIR}/test/zlib/zlib-1.2.8/zlib.h - ${PROJECT_SOURCE_DIR}/test/zlib/zlib-1.2.8/zutil.h - ${PROJECT_SOURCE_DIR}/test/zlib/zlib-1.2.8/adler32.c - ${PROJECT_SOURCE_DIR}/test/zlib/zlib-1.2.8/compress.c - ${PROJECT_SOURCE_DIR}/test/zlib/zlib-1.2.8/crc32.c - ${PROJECT_SOURCE_DIR}/test/zlib/zlib-1.2.8/deflate.c - ${PROJECT_SOURCE_DIR}/test/zlib/zlib-1.2.8/infback.c - ${PROJECT_SOURCE_DIR}/test/zlib/zlib-1.2.8/inffast.c - ${PROJECT_SOURCE_DIR}/test/zlib/zlib-1.2.8/inflate.c - ${PROJECT_SOURCE_DIR}/test/zlib/zlib-1.2.8/inftrees.c - ${PROJECT_SOURCE_DIR}/test/zlib/zlib-1.2.8/trees.c - ${PROJECT_SOURCE_DIR}/test/zlib/zlib-1.2.8/uncompr.c - ${PROJECT_SOURCE_DIR}/test/zlib/zlib-1.2.8/zutil.c -) - file(GLOB_RECURSE BEAST_INCLUDES ${PROJECT_SOURCE_DIR}/include/beast/*.hpp ${PROJECT_SOURCE_DIR}/include/beast/*.ipp @@ -197,9 +179,12 @@ file(GLOB_RECURSE EXTRAS_INCLUDES ${PROJECT_SOURCE_DIR}/extras/beast/*.ipp ) -add_subdirectory (test) +if (Beast_BUILD_TESTS) + add_subdirectory (test) +endif() -if ((NOT "${VARIANT}" STREQUAL "coverage") AND +if (Beast_BUILD_EXAMPLES AND + (NOT "${VARIANT}" STREQUAL "coverage") AND (NOT "${VARIANT}" STREQUAL "ubasan")) add_subdirectory (example) endif() diff --git a/test/zlib/CMakeLists.txt b/test/zlib/CMakeLists.txt index 5bfd8f51..6d3c6f50 100644 --- a/test/zlib/CMakeLists.txt +++ b/test/zlib/CMakeLists.txt @@ -5,6 +5,29 @@ GroupSources(include/beast beast) GroupSources(test/zlib "/") +set(ZLIB_SOURCES + ${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/crc32.h + ${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/deflate.h + ${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/inffast.h + ${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/inffixed.h + ${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/inflate.h + ${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/inftrees.h + ${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/trees.h + ${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/zlib.h + ${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/zutil.h + ${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/adler32.c + ${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/compress.c + ${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/crc32.c + ${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/deflate.c + ${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/infback.c + ${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/inffast.c + ${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/inflate.c + ${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/inftrees.c + ${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/trees.c + ${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/uncompr.c + ${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.8/zutil.c +) + if (MSVC) set_source_files_properties (${ZLIB_SOURCES} PROPERTIES COMPILE_FLAGS "/wd4127 /wd4131 /wd4244") endif()