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