Commit 244475ea authored by Dominik Charousset's avatar Dominik Charousset

Integrate review feedback

parent 3d4c238a
......@@ -29,7 +29,7 @@ option(CAF_ENABLE_EXAMPLES "Build small programs showcasing CAF features" ON)
option(CAF_ENABLE_IO_MODULE "Build networking I/O module" ON)
option(CAF_ENABLE_TESTING "Build unit test suites" ON)
option(CAF_ENABLE_TOOLS "Build utility programs such as caf-run" ON)
option(CAF_ENABLE_WITH_EXCEPTIONS "Build CAF with support for exceptions" ON)
option(CAF_ENABLE_EXCEPTIONS "Build CAF with support for exceptions" ON)
# -- CAF options that depend on others -----------------------------------------
......@@ -40,7 +40,7 @@ cmake_dependent_option(CAF_ENABLE_OPENSSL_MODULE "Build OpenSSL module" ON
set(CAF_LOG_LEVEL "QUIET" CACHE STRING "Set log verbosity of CAF components")
set(CAF_SANITIZERS "" CACHE STRING
"comma separated sanitizers, e.g., 'address,undefined'")
"Comma separated sanitizers, e.g., 'address,undefined'")
set(CAF_INSTALL_CMAKEDIR
"${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/cmake/CAF" CACHE STRING
"Path for installing CMake files, enables 'find_package(CAF)'")
......@@ -61,18 +61,18 @@ if(CAF_ENABLE_OPENSSL_MODULE AND NOT CAF_ENABLE_IO_MODULE)
message(FATAL_ERROR "Invalid options: cannot build OpenSSL without I/O")
endif()
# TODO: use `if (CAF_LOG_LEVEL IN_LIST ...)` when switching to CMake ≥ 3.3
if(NOT ";QUIET;ERROR;WARNING;INFO;DEBUG;TRACE;" MATCHES ";${CAF_LOG_LEVEL};")
set(CAF_VALID_LOG_LEVELS QUIET ERROR WARNING INFO DEBUG TRACE)
if(NOT CAF_LOG_LEVEL IN_LIST CAF_VALID_LOG_LEVELS)
message(FATAL_ERROR "Invalid log level: \"${CAF_LOG_LEVEL}\"")
endif()
# -- compiler setup ------------------------------------------------------------
if(MSVC)
# disable 4275 and 4251 (warnings regarding C++ classes at ABI boundaries)
# Disable 4275 and 4251 (warnings regarding C++ classes at ABI boundaries).
add_compile_options(/wd4275 /wd4251)
if(CAF_SANITIZERS)
message(FATAL_ERROR "sanitizer builds are currently not supported on MSVC")
message(FATAL_ERROR "Sanitizer builds are currently not supported on MSVC")
endif()
elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang"
OR CMAKE_CXX_COMPILER_ID MATCHES "GNU")
......
......@@ -22,6 +22,10 @@ General CMake options:
--cxx-flags=STRING set CMAKE_CXX_FLAGS when running CMake
--prefix=PATH set installation directory
Locating packages in non-standard locations:
--openssl-root-dir=PATH set root directory of an OpenSSL installation
Debugging options:
--log-level=STRING build with debugging output, possible values:
......@@ -56,6 +60,7 @@ Flags (use --enable-<name> to activate and --disable-<name> to deactivate):
actor-profiler enable experimental proiler API [OFF]
examples build small programs showcasing CAF features [ON]
io-module build networking I/O module [ON]
openssl-module build OpenSSL module [ON]
testing build unit test suites [ON]
tools build utility programs such as caf-run [ON]
with-exceptions build CAF with support for exceptions [ON]
......@@ -79,7 +84,7 @@ append_cache_entry() {
CMakeCacheEntries="$CMakeCacheEntries -D \"$1:$2=$3\""
;;
*)
# string contains whitespace
# string contains no whitespace
CMakeCacheEntries="$CMakeCacheEntries -D $1:$2=$3"
;;
esac
......@@ -102,9 +107,10 @@ set_build_flag() {
actor-profiler) FlagName='CAF_ENABLE_ACTOR_PROFILER' ;;
examples) FlagName='CAF_ENABLE_EXAMPLES' ;;
io-module) FlagName='CAF_ENABLE_IO_MODULE' ;;
openssl-module) FlagName='CAF_ENABLE_OPENSSL_MODULE' ;;
testing) FlagName='CAF_ENABLE_TESTING' ;;
tools) FlagName='CAF_ENABLE_TOOLS' ;;
with-exceptions) FlagName='CAF_ENABLE_WITH_EXCEPTIONS' ;;
exceptions) FlagName='CAF_ENABLE_EXCEPTIONS' ;;
*)
echo "Invalid flag '$1'. Try $0 --help to see available options."
exit 1
......@@ -172,6 +178,9 @@ while [ $# -ne 0 ]; do
--disable-*)
set_build_flag $optarg OFF
;;
--openssl-root-dir=*)
append_cache_entry OPENSSL_ROOT_DIR PATH "$optarg"
;;
*)
echo "Invalid option '$1'. Try $0 --help to see available options."
exit 1
......
......@@ -245,6 +245,7 @@ target_include_directories(caf-core-test PRIVATE
"${CMAKE_BINARY_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}")
caf_add_test_suites(caf-core-test
$<$<BOOL:CAF_ENABLE_EXCEPTIONS>:custom_exception_handler>
actor_clock
actor_factory
actor_lifetime
......@@ -269,7 +270,6 @@ caf_add_test_suites(caf-core-test
constructor_attach
continuous_streaming
cow_tuple
custom_exception_handler
decorator.sequencer
deep_to_string
detached_actors
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment