Skip to content

Commit 8c75abf

Browse files
committed
fixed compilation issues for Windows and Linux
1 parent ba9a6a8 commit 8c75abf

File tree

3 files changed

+17
-9
lines changed

3 files changed

+17
-9
lines changed

CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,9 @@ FetchContent_Declare(
4444
GIT_REPOSITORY https://github.com/bemanproject/net
4545
GIT_TAG 193d043002143242731f9baf759efc6d624cace7
4646
)
47-
FetchContent_MakeAvailable(net)
47+
if(NOT WIN32)
48+
FetchContent_MakeAvailable(net)
49+
endif()
4850

4951
add_subdirectory(src/beman/task)
5052

examples/CMakeLists.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,11 @@ message("Examples to be built: ${ALL_EXAMPLES}")
3434
foreach(example ${ALL_EXAMPLES})
3535
add_executable(beman.task.examples.${example})
3636
target_sources(beman.task.examples.${example} PRIVATE ${example}.cpp)
37-
target_link_libraries(beman.task.examples.${example} beman::task beman::net)
37+
if(WIN32)
38+
target_link_libraries(beman.task.examples.${example} beman::task)
39+
else()
40+
target_link_libraries(beman.task.examples.${example} beman::task beman::net)
41+
endif()
3842
add_test(
3943
NAME beman.task.examples.${example}
4044
COMMAND $<TARGET_FILE:beman.task.examples.${example}>

examples/environment.cpp

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// examples/environment.cpp -*-C++-*-
22
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
33

4+
#ifndef _MSC_VER
45
#include <beman/task/task.hpp>
56
#include <beman/execution/execution.hpp>
67
#include <beman/net/net.hpp>
@@ -87,23 +88,21 @@ struct env_scheduler {
8788

8889
std::string name;
8990
task_sender sender;
91+
92+
auto get_env() const noexcept -> env {
93+
return env{this->name, ex::get_completion_scheduler<ex::set_value_t>(ex::get_env(this->sender))};
94+
}
95+
9096
template <ex::receiver Rcvr>
9197
auto connect(Rcvr&& rcvr) && {
92-
static_assert(ex::receiver<receiver<Rcvr>>);
9398
return ex::connect(std::move(this->sender),
9499
receiver<Rcvr>(std::forward<Rcvr>(rcvr), std::move(this->name)));
95100
}
96-
97-
auto get_env() const noexcept {
98-
return env{this->name, ex::get_completion_scheduler<ex::set_value_t>(ex::get_env(this->sender))};
99-
}
100101
};
101-
static_assert(ex::sender<sender>);
102102

103103
auto schedule() -> sender { return sender{this->name, ex::schedule(this->scheduler)}; }
104104
bool operator==(const env_scheduler&) const = default;
105105
};
106-
static_assert(ex::scheduler<env_scheduler>);
107106

108107
struct with_env {
109108
using scheduler_type = env_scheduler;
@@ -155,3 +154,6 @@ int main() {
155154
context.run();
156155
}
157156
}
157+
#else
158+
int main() {}
159+
#endif

0 commit comments

Comments
 (0)