Commit b7c55f36 authored by Dominik Charousset's avatar Dominik Charousset

Fix build on MSVC

parent 153fcb56
...@@ -146,6 +146,11 @@ if(NOT caf_is_subproject) ...@@ -146,6 +146,11 @@ if(NOT caf_is_subproject)
add_custom_target(configure COMMAND ${CMAKE_CURRENT_BINARY_DIR}/config.status) add_custom_target(configure COMMAND ${CMAKE_CURRENT_BINARY_DIR}/config.status)
endif() endif()
# Silence annoying MSVC warning.
if(MSVC)
add_compile_options(/wd4275 /wd4251)
endif()
################################################################################ ################################################################################
# utility functions # # utility functions #
################################################################################ ################################################################################
...@@ -181,7 +186,7 @@ add_executable(caf-generate-enum-strings cmake/caf-generate-enum-strings.cpp) ...@@ -181,7 +186,7 @@ add_executable(caf-generate-enum-strings cmake/caf-generate-enum-strings.cpp)
function(enum_to_string relative_input_file relative_output_file) function(enum_to_string relative_input_file relative_output_file)
set(input "${CMAKE_CURRENT_SOURCE_DIR}/${relative_input_file}") set(input "${CMAKE_CURRENT_SOURCE_DIR}/${relative_input_file}")
set(output "${CMAKE_CURRENT_BINARY_DIR}/${relative_output_file}") set(output "${CMAKE_BINARY_DIR}/${relative_output_file}")
add_custom_command(OUTPUT "${output}" add_custom_command(OUTPUT "${output}"
COMMAND caf-generate-enum-strings "${input}" "${output}" COMMAND caf-generate-enum-strings "${input}" "${output}"
DEPENDS caf-generate-enum-strings "${input}") DEPENDS caf-generate-enum-strings "${input}")
......
...@@ -16,14 +16,14 @@ enum_to_string("caf/stream_priority.hpp" "stream_priority_strings.cpp") ...@@ -16,14 +16,14 @@ enum_to_string("caf/stream_priority.hpp" "stream_priority_strings.cpp")
# -- list cpp files for libcaf_core -------------------------------------------- # -- list cpp files for libcaf_core --------------------------------------------
set(CAF_CORE_SOURCES set(CAF_CORE_SOURCES
"${CMAKE_CURRENT_BINARY_DIR}/exit_reason_strings.cpp" "${CMAKE_BINARY_DIR}/exit_reason_strings.cpp"
"${CMAKE_CURRENT_BINARY_DIR}/inbox_result_strings.cpp" "${CMAKE_BINARY_DIR}/inbox_result_strings.cpp"
"${CMAKE_CURRENT_BINARY_DIR}/invoke_msg_result_strings.cpp" "${CMAKE_BINARY_DIR}/invoke_msg_result_strings.cpp"
"${CMAKE_CURRENT_BINARY_DIR}/message_priority_strings.cpp" "${CMAKE_BINARY_DIR}/message_priority_strings.cpp"
"${CMAKE_CURRENT_BINARY_DIR}/pec_strings.cpp" "${CMAKE_BINARY_DIR}/pec_strings.cpp"
"${CMAKE_CURRENT_BINARY_DIR}/sec_strings.cpp" "${CMAKE_BINARY_DIR}/sec_strings.cpp"
"${CMAKE_CURRENT_BINARY_DIR}/stream_priority_strings.cpp" "${CMAKE_BINARY_DIR}/stream_priority_strings.cpp"
"${CMAKE_CURRENT_BINARY_DIR}/task_result_strings.cpp" "${CMAKE_BINARY_DIR}/task_result_strings.cpp"
src/abstract_actor.cpp src/abstract_actor.cpp
src/abstract_channel.cpp src/abstract_channel.cpp
src/abstract_composable_behavior.cpp src/abstract_composable_behavior.cpp
...@@ -277,11 +277,13 @@ add_library(caf::core ALIAS libcaf_core) ...@@ -277,11 +277,13 @@ add_library(caf::core ALIAS libcaf_core)
target_link_libraries(libcaf_core PUBLIC ${CAF_EXTRA_LDFLAGS}) target_link_libraries(libcaf_core PUBLIC ${CAF_EXTRA_LDFLAGS})
generate_export_header(libcaf_core_obj generate_export_header(libcaf_core
EXPORT_MACRO_NAME CAF_CORE_EXPORT EXPORT_MACRO_NAME CAF_CORE_EXPORT
EXPORT_FILE_NAME "${CMAKE_BINARY_DIR}/caf/detail/core_export.hpp" EXPORT_FILE_NAME "${CMAKE_BINARY_DIR}/caf/detail/core_export.hpp"
STATIC_DEFINE CAF_STATIC_BUILD) STATIC_DEFINE CAF_STATIC_BUILD)
target_compile_definitions(libcaf_core_obj PRIVATE libcaf_core_EXPORTS)
set_target_properties(libcaf_core PROPERTIES set_target_properties(libcaf_core PROPERTIES
EXPORT_NAME core EXPORT_NAME core
SOVERSION ${CAF_VERSION} SOVERSION ${CAF_VERSION}
...@@ -314,6 +316,7 @@ if(NOT CAF_NO_UNIT_TESTS) ...@@ -314,6 +316,7 @@ if(NOT CAF_NO_UNIT_TESTS)
"${PROJECT_SOURCE_DIR}/libcaf_test/caf/test/unit_test_impl.hpp" "${PROJECT_SOURCE_DIR}/libcaf_test/caf/test/unit_test_impl.hpp"
${CAF_CORE_TEST_SOURCES} ${CAF_CORE_TEST_SOURCES}
$<TARGET_OBJECTS:libcaf_core_obj>) $<TARGET_OBJECTS:libcaf_core_obj>)
target_compile_definitions(caf-core-test PRIVATE libcaf_core_EXPORTS)
target_link_libraries(caf-core-test ${CAF_EXTRA_LDFLAGS}) target_link_libraries(caf-core-test ${CAF_EXTRA_LDFLAGS})
add_test_suites(caf-core-test add_test_suites(caf-core-test
"${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}"
......
...@@ -185,6 +185,7 @@ enum class invoke_message_result; ...@@ -185,6 +185,7 @@ enum class invoke_message_result;
// -- aliases ------------------------------------------------------------------ // -- aliases ------------------------------------------------------------------
using actor_id = uint64_t; using actor_id = uint64_t;
using byte_buffer = std::vector<byte>;
using ip_address = ipv6_address; using ip_address = ipv6_address;
using ip_endpoint = ipv6_endpoint; using ip_endpoint = ipv6_endpoint;
using ip_subnet = ipv6_subnet; using ip_subnet = ipv6_subnet;
......
...@@ -44,6 +44,7 @@ using sorted_builtin_types ...@@ -44,6 +44,7 @@ using sorted_builtin_types
actor_addr, // @addr actor_addr, // @addr
std::vector<actor_addr>, // @addrvec std::vector<actor_addr>, // @addrvec
atom_value, // @atom atom_value, // @atom
byte_buffer, // @bytebuf
std::vector<char>, // @charbuf std::vector<char>, // @charbuf
config_value, // @config_value config_value, // @config_value
down_msg, // @down down_msg, // @down
......
...@@ -10,8 +10,8 @@ enum_to_string("caf/io/network/operation.hpp" "operation_to_string.cpp") ...@@ -10,8 +10,8 @@ enum_to_string("caf/io/network/operation.hpp" "operation_to_string.cpp")
# -- list cpp files ------------------------------------------------------------ # -- list cpp files ------------------------------------------------------------
set(CAF_IO_SOURCES set(CAF_IO_SOURCES
"${CMAKE_CURRENT_BINARY_DIR}/message_type_to_string.cpp" "${CMAKE_BINARY_DIR}/message_type_to_string.cpp"
"${CMAKE_CURRENT_BINARY_DIR}/operation_to_string.cpp" "${CMAKE_BINARY_DIR}/operation_to_string.cpp"
src/detail/socket_guard.cpp src/detail/socket_guard.cpp
src/io/abstract_broker.cpp src/io/abstract_broker.cpp
src/io/basp/header.cpp src/io/basp/header.cpp
...@@ -77,11 +77,13 @@ add_library(caf::io ALIAS libcaf_io) ...@@ -77,11 +77,13 @@ add_library(caf::io ALIAS libcaf_io)
target_link_libraries(libcaf_io PUBLIC caf::core ${CAF_EXTRA_LDFLAGS}) target_link_libraries(libcaf_io PUBLIC caf::core ${CAF_EXTRA_LDFLAGS})
generate_export_header(libcaf_io_obj generate_export_header(libcaf_io
EXPORT_MACRO_NAME CAF_IO_EXPORT EXPORT_MACRO_NAME CAF_IO_EXPORT
EXPORT_FILE_NAME "${CMAKE_BINARY_DIR}/caf/detail/io_export.hpp" EXPORT_FILE_NAME "${CMAKE_BINARY_DIR}/caf/detail/io_export.hpp"
STATIC_DEFINE CAF_STATIC_BUILD) STATIC_DEFINE CAF_STATIC_BUILD)
target_compile_definitions(libcaf_io_obj PRIVATE libcaf_io_EXPORTS)
set_target_properties(libcaf_io PROPERTIES set_target_properties(libcaf_io PROPERTIES
EXPORT_NAME io EXPORT_NAME io
SOVERSION ${CAF_VERSION} SOVERSION ${CAF_VERSION}
...@@ -113,6 +115,7 @@ if(NOT CAF_NO_UNIT_TESTS) ...@@ -113,6 +115,7 @@ if(NOT CAF_NO_UNIT_TESTS)
"${PROJECT_SOURCE_DIR}/libcaf_test/caf/test/unit_test_impl.hpp" "${PROJECT_SOURCE_DIR}/libcaf_test/caf/test/unit_test_impl.hpp"
${CAF_IO_TEST_SOURCES} ${CAF_IO_TEST_SOURCES}
$<TARGET_OBJECTS:libcaf_io_obj>) $<TARGET_OBJECTS:libcaf_io_obj>)
target_compile_definitions(caf-io-test PRIVATE libcaf_io_EXPORTS)
target_link_libraries(caf-io-test caf::core ${CAF_EXTRA_LDFLAGS}) target_link_libraries(caf-io-test caf::core ${CAF_EXTRA_LDFLAGS})
add_test_suites(caf-io-test add_test_suites(caf-io-test
"${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}"
......
...@@ -140,6 +140,14 @@ public: ...@@ -140,6 +140,14 @@ public:
explicit default_multiplexer(actor_system* sys); explicit default_multiplexer(actor_system* sys);
default_multiplexer(default_multiplexer&&) = delete;
default_multiplexer(const default_multiplexer&) = delete;
default_multiplexer& operator=(default_multiplexer&&) = delete;
default_multiplexer& operator=(const default_multiplexer&) = delete;
~default_multiplexer() override; ~default_multiplexer() override;
supervisor_ptr make_supervisor() override; supervisor_ptr make_supervisor() override;
......
...@@ -29,15 +29,16 @@ target_link_libraries(libcaf_openssl PUBLIC ...@@ -29,15 +29,16 @@ target_link_libraries(libcaf_openssl PUBLIC
caf::core caf::io ${OPENSSL_LIBRARIES}) caf::core caf::io ${OPENSSL_LIBRARIES})
if(NOT APPLE AND NOT WIN32) if(NOT APPLE AND NOT WIN32)
target_link_libraries(libcaf_openssl_obj PUBLIC "-pthread")
target_link_libraries(libcaf_openssl PUBLIC "-pthread") target_link_libraries(libcaf_openssl PUBLIC "-pthread")
endif() endif()
generate_export_header(libcaf_openssl_obj generate_export_header(libcaf_openssl
EXPORT_MACRO_NAME CAF_OPENSSL_EXPORT EXPORT_MACRO_NAME CAF_OPENSSL_EXPORT
EXPORT_FILE_NAME "${CMAKE_BINARY_DIR}/caf/detail/openssl_export.hpp" EXPORT_FILE_NAME "${CMAKE_BINARY_DIR}/caf/detail/openssl_export.hpp"
STATIC_DEFINE CAF_STATIC_BUILD) STATIC_DEFINE CAF_STATIC_BUILD)
target_compile_definitions(libcaf_openssl_obj PRIVATE libcaf_openssl_EXPORTS)
target_include_directories(libcaf_openssl PUBLIC target_include_directories(libcaf_openssl PUBLIC
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}> $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}> $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}>
...@@ -74,6 +75,7 @@ if(NOT CAF_NO_UNIT_TESTS) ...@@ -74,6 +75,7 @@ if(NOT CAF_NO_UNIT_TESTS)
"${PROJECT_SOURCE_DIR}/libcaf_test/caf/test/unit_test_impl.hpp" "${PROJECT_SOURCE_DIR}/libcaf_test/caf/test/unit_test_impl.hpp"
${CAF_OPENSSL_TEST_SOURCES} ${CAF_OPENSSL_TEST_SOURCES}
$<TARGET_OBJECTS:libcaf_openssl_obj>) $<TARGET_OBJECTS:libcaf_openssl_obj>)
target_compile_definitions(caf-openssl-test PRIVATE libcaf_openssl_EXPORTS)
target_link_libraries(caf-openssl-test caf::core caf::io target_link_libraries(caf-openssl-test caf::core caf::io
${OPENSSL_LIBRARIES} ${CAF_EXTRA_LDFLAGS}) ${OPENSSL_LIBRARIES} ${CAF_EXTRA_LDFLAGS})
add_test_suites(caf-openssl-test add_test_suites(caf-openssl-test
......
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