Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

introduce unifex::async_resource #475

Draft
wants to merge 141 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
141 commits
Select commit Hold shift + click to select a range
e6bad7b
work around absence of type traits variable tempates
Feb 14, 2021
4e0af79
work around missing <optional> header
Feb 14, 2021
797c04f
use @mpark's variant when the stdlib doesn't provide one
Feb 15, 2021
81b9a05
add a fallback implementation for std::invoke
ericniebler Feb 17, 2021
5de794b
add a fallback for std::apply
ericniebler Feb 17, 2021
1cc3036
provide a fallback when cstddef doesn't provide std::byte
ericniebler Feb 18, 2021
2a86276
Add an option to use Abseil for optional<> and variant<>
ericniebler Feb 19, 2021
cfe4d39
work around the lack of std::as_const
ericniebler Feb 19, 2021
0678cc4
add a fallback for std::void_t
ericniebler Feb 20, 2021
0ba525c
Fix `std::invoke` feature test macro
ericniebler Mar 30, 2021
c9218c9
add a replacement for std::aligned_union_t
ericniebler Apr 25, 2021
3b7c481
accommodate Abseil's in_place_type_t tag in any_unique
ericniebler Apr 28, 2021
b25067f
Merge pull request #288 from facebookexperimental/master
ericniebler May 24, 2021
90b4f8a
Merge pull request #289 from facebookexperimental/unstable
ericniebler May 24, 2021
bd65da8
Merge branch 'master' into unstable
Jun 8, 2021
351a97c
task<> scheduler affinity (#290)
ericniebler Jun 9, 2021
8b9d807
Merge branch 'unstable' into broken-stdlib
Jun 9, 2021
01c8ccb
use unifex::bool_constant
Jun 10, 2021
c9d3b2e
Merge pull request #300 from facebookexperimental/master
ericniebler Jun 19, 2021
aa4fdd2
Merge pull request #301 from facebookexperimental/unstable
ericniebler Jun 19, 2021
b00333a
Merge remote-tracking branch 'origin/master' into scheduler-affinity
Jun 19, 2021
9e5d834
back out change to awaiter_type_t
Jun 23, 2021
bb1e79f
Merge pull request #311 from facebookexperimental/master
ericniebler Jun 28, 2021
c39a429
Merge pull request #312 from facebookexperimental/master
ericniebler Jun 28, 2021
46abded
add unifex::create for trivially wrapping a C-style async API
Jul 1, 2021
b25e938
Merge branch 'master' into unstable
Jul 4, 2021
b05dc62
Merge branch 'create-sender-master' into create-sender
Jul 4, 2021
89f02fa
Merge pull request #316 from facebookexperimental/create-sender
ericniebler Jul 4, 2021
979f656
Merge branch 'master' into scheduler-affinity
ericniebler Jul 23, 2021
33e36a9
avoid warning about missing braces in initializer
ericniebler Jul 26, 2021
1f3eacb
move deduction guide to namespace scope for gcc-10
ericniebler Jul 26, 2021
2d706e5
in scheduler concept, check copy_constructability after requiring cal…
ericniebler Jul 27, 2021
34348c7
work around gcc-10 bugs
ericniebler Jul 28, 2021
7ebb3e6
Move implementation of special co_await behavior of scheduler senders…
ericniebler Jul 26, 2021
46e766a
Merge branch 'scheduler-affinity' into unstable
ericniebler Jul 28, 2021
b8de8ed
avoid warning about implicit lambda capture of this
ericniebler Jul 28, 2021
659910d
remove unused lambda capture
ericniebler Jul 28, 2021
afa041e
add missing braces
ericniebler Jul 28, 2021
7c71039
Merge remote-tracking branch 'origin/unstable' into broken-stdlib
ispeters Jul 30, 2021
9068c75
Remove `std::` from call to as_const in stop_if_requested
ispeters Jul 31, 2021
3ad49d2
Merge branch 'master' into unstable
ericniebler Aug 1, 2021
64e65e1
Avoid symmetric transfer in Xcode 13 on ARMv7
ispeters Jul 31, 2021
1900cae
Adapt unifex::create and its tests to broken-stdlib
ispeters Aug 2, 2021
ce50d5e
Make Unifex's tests build with our broken stdlib
ispeters Aug 2, 2021
511af1d
Merge branch 'master' into unstable
ericniebler Aug 2, 2021
a3ec0b8
Revert "Avoid symmetric transfer in Xcode 13 on ARMv7"
ispeters Aug 13, 2021
5fc8222
Merge remote-tracking branch 'origin/unstable' into broken-stdlib
ispeters Aug 19, 2021
4e9470d
Hoist untyped RAII containers for coroutine_handle<> out of task<> an…
ispeters Aug 21, 2021
2209173
Merge branch 'master' into unstable
ericniebler Aug 21, 2021
b9eb256
Hoist untyped RAII containers for coroutine_handle<> out of task<> an…
ispeters Aug 21, 2021
d250f6b
Merge branch 'unstable' into merge_from_unstable
ispeters Aug 23, 2021
20f257d
Fix a couple of typos in the pre-P2300 back-compat
ispeters Aug 26, 2021
269b45c
Fix a couple of typos in the pre-P2300 back-compat
ispeters Aug 26, 2021
e606d54
Fix the definition of unifex::let
ispeters Aug 27, 2021
eb8ee3a
Fix the definition of unifex::let
ispeters Aug 27, 2021
51cd56d
Merge pull request #343 from facebookexperimental/master
ericniebler Sep 5, 2021
4e7b0da
Merge branch 'master' into unstable
ispeters Sep 10, 2021
1bd8be1
Merge branch 'unstable' into broken-stdlib
ispeters Sep 10, 2021
94590ac
back out fix to just[_error] and fix let_value instead (#344)
ericniebler Sep 6, 2021
b4d1421
Remove the deprecated headers
ispeters Sep 17, 2021
c1e5fc9
Add let_value_with_stop_token algorithm (#345)
MarkCMann Oct 6, 2021
a2b5e99
Make take_until's next_sender a scheduler_provider
ispeters Oct 7, 2021
3e8e2eb
Merge remote-tracking branch 'origin/main' into unstable
ericniebler Oct 9, 2021
be3a152
Implement just_void_or_done combinator (#357)
egorich239 Oct 14, 2021
e1b784e
Add more receiver query customizations
ispeters Oct 15, 2021
005a18a
Merge branch 'unstable' into broken-stdlib
ispeters Oct 15, 2021
9ee326d
Fix up references to std::optional and std::variant
ispeters Oct 15, 2021
3de179f
Fix into_variant_test in broken-stdlib
ispeters Oct 18, 2021
b2ea999
Merge branch 'make_take_until_provde_a_scheduler' into broken-stdlib
ispeters Oct 18, 2021
c7f2dc1
Add detach on cancel
jesswong Oct 15, 2021
f87a3e6
address comments
jesswong Oct 19, 2021
943d582
add memory order
jesswong Oct 19, 2021
bcad9d2
address Ian's comments
jesswong Oct 22, 2021
51ab34b
clang format
jesswong Oct 22, 2021
12bffd1
Address lewis' comments
jesswong Oct 26, 2021
9fa12da
Make unifex::async_scope::spawn return a unifex::future<> (#372)
ispeters Nov 12, 2021
bfabd77
Fix ownership in async_scope::detached_spawn (#376)
ispeters Nov 14, 2021
51a7eed
Respect blocking_kind in `let_value()` (#381)
janondrusek Dec 7, 2021
5f5740f
delete move operators from inplace_stop_token
janondrusek Dec 13, 2021
1999df0
preserve operation state in let_value_with_stop_token (#388)
janondrusek Dec 23, 2021
aeaca6c
extract fused_stop_source (#390)
janondrusek Feb 3, 2022
234ddc2
add async_scope::attach
janondrusek Jan 26, 2022
2ae262d
Merge pull request #392 from janondrusek/broken-stdlib
janondrusek Feb 4, 2022
4ab7a0f
Minimal changes to allow compilation to succeed on gcc and clang on M…
bustercopley Feb 9, 2022
42720cc
Remove <unifex/functional.hpp> (#395)
ispeters Feb 18, 2022
3d1e261
Remove <unifex/tuple.hpp>
ispeters Feb 26, 2022
a21c410
Fix detach_on_cancel error_types propagation (#400)
MarkCMann Mar 1, 2022
c3402ab
Remove unifex::byte
ispeters Mar 4, 2022
3d536ea
Avoid tail calls when compiling with the Emscripten (WebAssembly) com…
adamjhill3 Mar 8, 2022
2ac35a2
add nothrow_connectable test for `let_value_with_stop_source()` (#393)
janondrusek Mar 9, 2022
9b4f273
Fix scheduler affinity (#405)
ispeters Mar 12, 2022
ed41be7
Make `type_erased_stream` `Scheduler` aware
janondrusek Mar 8, 2022
a26d158
Remove the std type_trait polyfills (#406)
MarkCMann Mar 14, 2022
0aee19f
Remove as_const polyfill from utility (#408)
MarkCMann Mar 14, 2022
6569dfd
Fix logic bug that determines when to disable inlining for await_susp…
mnbannister Dec 15, 2021
8cb099d
Make the when_all sender multiply-connectable
ispeters Mar 16, 2022
7bfb565
new algorithm unifex::unstoppable
lehecka Mar 22, 2022
0b84c84
fixing linter error
lehecka Mar 28, 2022
50ffc87
Fix asan error for let_value with coroutines (#416)
jesswong Apr 27, 2022
25b7f50
Fix let_value to query sender properties through sender_traits
AnujYamdagni May 11, 2022
17dc7f0
Fix compile issue related to io_uring (#373)
adevress Dec 7, 2021
69e4279
Fix race condition in `when_all`
janondrusek May 19, 2022
92e271b
revert left shift in `when_all()`
janondrusek May 25, 2022
189233c
Fix `record_done` ordering in `async_scope::attach`
janondrusek May 26, 2022
36131fc
make io_uring syscalls retrying on interruptions
Skory May 17, 2022
c15f298
Fix the error comparison
Skory May 17, 2022
e30ca50
Remove extra call
Skory Jun 6, 2022
1fe8880
fix cancellation race in `async_scope::attach*`
janondrusek Jun 13, 2022
d0e092e
make `async_scope::attached_sender` copyable
janondrusek Jun 20, 2022
445df0e
`async_scope::attach` cleanup
janondrusek Jul 7, 2022
428d3e4
add `detach_on_cancel()` to docs
janondrusek Jul 7, 2022
cb371b4
add `then()` example to docs
janondrusek Jul 7, 2022
fe5f0d8
update `async_scope` docs
janondrusek Jul 7, 2022
425f8ec
add `async_scope::attach` docs
janondrusek Jul 7, 2022
bd2388e
fix cancellation race in `detach_on_cancel()`
janondrusek Jul 6, 2022
ebd6f9b
Merge pull request #433 from janondrusek/async-attach
AnujYamdagni Jul 7, 2022
d703f8e
Merge pull request #434 from janondrusek/api_reference
AnujYamdagni Jul 7, 2022
68e42e4
fix `async_scope_test::attach_record_done`
janondrusek Jul 11, 2022
550196f
`CreateTest.AwaitTest` local `this` pointer
janondrusek Jul 20, 2022
fbbb5d0
fix `detach_on_cancel_test.cancellation_and_completion_race`
janondrusek Jul 19, 2022
1efc435
Merge unstable to broken-stdlib
janondrusek Oct 8, 2021
7d9a56f
Upstream when_all_range algorithm (#454)
AnujYamdagni Aug 25, 2022
15e5492
use `manual_lifetime` in `variant_sender`
janondrusek Sep 13, 2022
40efcd6
use `unifex/variant` polyfill
janondrusek Sep 13, 2022
7fa7777
move `unifex::async_scope` into the inline `v1` namespace
janondrusek Sep 13, 2022
0c738b8
add `async_auto_reset_event`
janondrusek Sep 16, 2022
4c33630
fix `tag_invoke(CPO)` in `async_scope`
janondrusek Sep 23, 2022
cd5a019
add `unifex::v2::async_scope` (#463)
janondrusek Oct 3, 2022
b232ad1
Add missing include to when_all_range.hpp
ispeters Oct 4, 2022
7f55c36
Support lvalue let_value_with senders (#469)
ispeters Oct 12, 2022
540b507
Introduce unifex::nest() (#468)
ispeters Oct 12, 2022
07ea9d4
Introduce spawn_detached(sender, scope, allocator) (#470)
ispeters Oct 13, 2022
7f67d67
Simplify v1::async_scope
ispeters Oct 12, 2022
fa922b0
fix `variant_sender` blocking kind
janondrusek Oct 20, 2022
fb115db
Disable continuation visitations by default for binary size savings (…
jesswong Nov 30, 2022
7e4d9c8
use stable release `os: ubuntu-20.04`
janondrusek Jan 17, 2023
f99ed04
rm absl and related polyfills (#480)
janondrusek Jan 18, 2023
a145c8f
Auto-format let_value_with_stop_token.hpp
ispeters Jan 24, 2023
3c810a5
Fix the constraints in let_value_with_stop_token (#483)
ispeters Jan 25, 2023
fb13829
Add an internal receiver to v2::async_scope's nest op (#484)
ispeters Feb 1, 2023
123ae48
introduce `unifex::async_resource`
janondrusek Nov 4, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
110 changes: 84 additions & 26 deletions .github/workflows/libunifex-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,150 +18,166 @@ jobs:
config:
- {
name: "Linux GCC 9 Debug (C++17)", artifact: "Linux.tar.xz",
os: ubuntu-latest,
os: ubuntu-20.04,
build_type: Debug,
cc: "gcc-9", cxx: "g++-9"
}
- {
name: "Linux GCC 9 Optimised (C++17)", artifact: "Linux.tar.xz",
os: ubuntu-latest,
os: ubuntu-20.04,
build_type: RelWithDebInfo,
cc: "gcc-9", cxx: "g++-9"
}
- {
name: "Linux GCC 9 Debug (C++20)", artifact: "Linux.tar.xz",
os: ubuntu-latest,
os: ubuntu-20.04,
build_type: Debug,
cc: "gcc-9", cxx: "g++-9",
cmake_args: "-D CMAKE_CXX_STANDARD:STRING=20"
}
- {
name: "Linux GCC 9 Optimised (C++20)", artifact: "Linux.tar.xz",
os: ubuntu-latest,
os: ubuntu-20.04,
build_type: RelWithDebInfo,
cc: "gcc-9", cxx: "g++-9",
cmake_args: "-D CMAKE_CXX_STANDARD:STRING=20"
}
- {
name: "Linux GCC 10 Debug (C++17)", artifact: "Linux.tar.xz",
os: ubuntu-latest,
os: ubuntu-20.04,
build_type: Debug,
cc: "gcc-10", cxx: "g++-10"
}
- {
name: "Linux GCC 10 Optimised (C++17)", artifact: "Linux.tar.xz",
os: ubuntu-latest,
os: ubuntu-20.04,
build_type: RelWithDebInfo,
cc: "gcc-10", cxx: "g++-10"
}
- {
name: "Linux GCC 10 Debug (C++20)", artifact: "Linux.tar.xz",
os: ubuntu-latest,
os: ubuntu-20.04,
build_type: Debug,
cc: "gcc-10", cxx: "g++-10",
cmake_args: "-D CMAKE_CXX_STANDARD:STRING=20"
}
- {
name: "Linux GCC 10 Optimised (C++20)", artifact: "Linux.tar.xz",
os: ubuntu-latest,
os: ubuntu-20.04,
build_type: RelWithDebInfo,
cc: "gcc-10", cxx: "g++-10",
cmake_args: "-D CMAKE_CXX_STANDARD:STRING=20"
}
- {
name: "Linux GCC 10 Debug (C++20) w/coroutines", artifact: "Linux.tar.xz",
os: ubuntu-latest,
os: ubuntu-20.04,
build_type: Debug,
cc: "gcc-10", cxx: "g++-10",
cmake_args: "-D CMAKE_CXX_STANDARD:STRING=20 -D CMAKE_CXX_FLAGS:STRING=-fcoroutines"
}
- {
name: "Linux GCC 10 Optimised (C++20) w/coroutines", artifact: "Linux.tar.xz",
os: ubuntu-latest,
os: ubuntu-20.04,
build_type: RelWithDebInfo,
cc: "gcc-10", cxx: "g++-10",
cmake_args: "-D CMAKE_CXX_STANDARD:STRING=20 -D CMAKE_CXX_FLAGS:STRING=-fcoroutines"
}
- {
name: "Linux GCC 10 Debug (C++20) w/coroutines w/liburing", artifact: "Linux.tar.xz",
os: ubuntu-20.04,
build_type: Debug,
io_sys: io_uring,
cc: "gcc-10", cxx: "g++-10",
cmake_args: "-D CMAKE_CXX_STANDARD:STRING=20 -D CMAKE_CXX_FLAGS:STRING=-fcoroutines"
}
- {
name: "Linux GCC 10 Optimised (C++20) w/coroutines w/liburing", artifact: "Linux.tar.xz",
os: ubuntu-20.04,
build_type: RelWithDebInfo,
io_sys: io_uring,
cc: "gcc-10", cxx: "g++-10",
cmake_args: "-D CMAKE_CXX_STANDARD:STRING=20 -D CMAKE_CXX_FLAGS:STRING=-fcoroutines"
}
- {
name: "Linux Clang 10 Debug (C++17)", artifact: "Linux.tar.xz",
os: ubuntu-latest,
os: ubuntu-20.04,
build_type: Debug,
cc: "clang-10", cxx: "clang++-10",
cmake_args: "-D \"CMAKE_CXX_FLAGS:STRING=-fsanitize=address -fno-omit-frame-pointer\""
}
- {
name: "Linux Clang 10 Optimised (C++17)", artifact: "Linux.tar.xz",
os: ubuntu-latest,
os: ubuntu-20.04,
build_type: RelWithDebInfo,
cc: "clang-10", cxx: "clang++-10",
cmake_args: "-D \"CMAKE_CXX_FLAGS:STRING=-fsanitize=address -fno-omit-frame-pointer\""
}
- {
name: "Linux Clang 10 Debug (C++20)", artifact: "Linux.tar.xz",
os: ubuntu-latest,
os: ubuntu-20.04,
build_type: Debug,
cc: "clang-10", cxx: "clang++-10",
cmake_args: "-D CMAKE_CXX_STANDARD:STRING=20 -D \"CMAKE_CXX_FLAGS:STRING=-fsanitize=address -fno-omit-frame-pointer\""
}
- {
name: "Linux Clang 10 Optimised (C++20)", artifact: "Linux.tar.xz",
os: ubuntu-latest,
os: ubuntu-20.04,
build_type: RelWithDebInfo,
cc: "clang-10", cxx: "clang++-10",
cmake_args: "-D CMAKE_CXX_STANDARD:STRING=20 -D \"CMAKE_CXX_FLAGS:STRING=-fsanitize=address -fno-omit-frame-pointer\""
}
- {
name: "Linux Clang 11 Debug (C++17)", artifact: "Linux.tar.xz",
os: ubuntu-latest,
os: ubuntu-20.04,
build_type: Debug,
cc: "clang-11", cxx: "clang++-11",
cmake_args: "-D \"CMAKE_CXX_FLAGS:STRING=-fsanitize=address -fno-omit-frame-pointer\""
}
- {
name: "Linux Clang 11 Optimised (C++17)", artifact: "Linux.tar.xz",
os: ubuntu-latest,
os: ubuntu-20.04,
build_type: RelWithDebInfo,
cc: "clang-11", cxx: "clang++-11",
cmake_args: "-D \"CMAKE_CXX_FLAGS:STRING=-fsanitize=address -fno-omit-frame-pointer\""
}
- {
name: "Linux Clang 11 Debug (C++20)", artifact: "Linux.tar.xz",
os: ubuntu-latest,
os: ubuntu-20.04,
build_type: Debug,
cc: "clang-11", cxx: "clang++-11",
cmake_args: "-D CMAKE_CXX_STANDARD:STRING=20 -D \"CMAKE_CXX_FLAGS:STRING=-fsanitize=address -fno-omit-frame-pointer\""
}
- {
name: "Linux Clang 11 Optimised (C++20)", artifact: "Linux.tar.xz",
os: ubuntu-latest,
os: ubuntu-20.04,
build_type: RelWithDebInfo,
cc: "clang-11", cxx: "clang++-11",
cmake_args: "-D CMAKE_CXX_STANDARD:STRING=20 -D \"CMAKE_CXX_FLAGS:STRING=-fsanitize=address -fno-omit-frame-pointer\""
}
- {
name: "Linux Clang 12 Debug (C++17)", artifact: "Linux.tar.xz",
os: ubuntu-latest,
os: ubuntu-20.04,
build_type: Debug,
cc: "clang-12", cxx: "clang++-12",
cmake_args: "-D \"CMAKE_CXX_FLAGS:STRING=-fsanitize=address -fno-omit-frame-pointer\""
}
- {
name: "Linux Clang 12 Optimised (C++17)", artifact: "Linux.tar.xz",
os: ubuntu-latest,
os: ubuntu-20.04,
build_type: RelWithDebInfo,
cc: "clang-12", cxx: "clang++-12",
cmake_args: "-D \"CMAKE_CXX_FLAGS:STRING=-fsanitize=address -fno-omit-frame-pointer\""
}
- {
name: "Linux Clang 12 Debug (C++20)", artifact: "Linux.tar.xz",
os: ubuntu-latest,
os: ubuntu-20.04,
build_type: Debug,
cc: "clang-12", cxx: "clang++-12",
cmake_args: "-D CMAKE_CXX_STANDARD:STRING=20 -D \"CMAKE_CXX_FLAGS:STRING=-fsanitize=address -fno-omit-frame-pointer\""
}
- {
name: "Linux Clang 12 Optimised (C++20)", artifact: "Linux.tar.xz",
os: ubuntu-latest,
os: ubuntu-20.04,
build_type: RelWithDebInfo,
cc: "clang-12", cxx: "clang++-12",
cmake_args: "-D CMAKE_CXX_STANDARD:STRING=20 -D \"CMAKE_CXX_FLAGS:STRING=-fsanitize=address -fno-omit-frame-pointer\""
Expand Down Expand Up @@ -222,7 +238,7 @@ jobs:
}
- {
name: "Windows MSVC 2019 Debug (C++17)", artifact: "Windows-MSVC.tar.xz",
os: windows-latest,
os: windows-2019,
build_type: Debug,
cc: "cl", cxx: "cl",
environment_script: "C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Auxiliary/Build/vcvars64.bat",
Expand All @@ -231,7 +247,7 @@ jobs:
}
- {
name: "Windows MSVC 2019 Optimised (C++17)", artifact: "Windows-MSVC.tar.xz",
os: windows-latest,
os: windows-2019,
build_type: RelWithDebInfo,
cc: "cl", cxx: "cl",
environment_script: "C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Auxiliary/Build/vcvars64.bat",
Expand All @@ -240,15 +256,15 @@ jobs:
}
- {
name: "Windows MSVC 2019 Debug (C++20)", artifact: "Windows-MSVC.tar.xz",
os: windows-latest,
os: windows-2019,
build_type: Debug,
cc: "cl", cxx: "cl",
environment_script: "C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Auxiliary/Build/vcvars64.bat",
cmake_args: "-D CMAKE_CXX_STANDARD:STRING=20",
}
- {
name: "Windows MSVC 2019 Optimised (C++20)", artifact: "Windows-MSVC.tar.xz",
os: windows-latest,
os: windows-2019,
build_type: RelWithDebInfo,
cc: "cl", cxx: "cl",
environment_script: "C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Auxiliary/Build/vcvars64.bat",
Expand Down Expand Up @@ -330,6 +346,16 @@ jobs:
chmod +x llvm.sh
sudo ./llvm.sh 12

- name: Install liburing
id: install_liburing
if: startsWith(matrix.config.os, 'ubuntu') && ( matrix.config.io_sys == 'io_uring' )
shell: bash
working-directory: ${{ env.HOME }}
run: |
curl -L https://github.com/axboe/liburing/archive/refs/tags/liburing-2.1.tar.gz | tar zxvf -
cd liburing-liburing-2.1 && ./configure && make -j
sudo make install

- name: Configure
shell: cmake -P {0}
run: |
Expand Down Expand Up @@ -417,3 +443,35 @@ jobs:
if (NOT result EQUAL 0)
message(FATAL_ERROR "Running tests failed!")
endif()

- name: Install
shell: cmake -P {0}
continue-on-error: ${{ matrix.config.experimental || false }}
run: |
set(ENV{NINJA_STATUS} "[%f/%t %o/sec] ")

if ("${{ runner.os }}" STREQUAL "Windows" AND NOT "x${{ matrix.config.environment_script }}" STREQUAL "x")
file(STRINGS environment_script_output.txt output_lines)
foreach(line IN LISTS output_lines)
if (line MATCHES "^([a-zA-Z0-9_-]+)=(.*)$")
set(ENV{${CMAKE_MATCH_1}} "${CMAKE_MATCH_2}")
endif()
endforeach()
endif()

set(path_separator ":")
if ("${{ runner.os }}" STREQUAL "Windows")
set(path_separator ";")
endif()
set(ENV{PATH} "$ENV{GITHUB_WORKSPACE}${path_separator}$ENV{PATH}")

set(install_directory "$ENV{GITHUB_WORKSPACE}/install-target-dir")
message(STATUS "Install to: ${install_directory}")

execute_process(
COMMAND ${{ steps.cmake_and_ninja.outputs.cmake_dir}}/cmake --install build --prefix "${install_directory}"
RESULT_VARIABLE result
)
if (NOT result EQUAL 0)
message(FATAL_ERROR "Bad exit status")
endif()
4 changes: 2 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
cmake_minimum_required(VERSION 3.12)

project(libunifex LANGUAGES CXX
VERSION 0.1)
VERSION 0.1.0)

list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")

Expand Down Expand Up @@ -38,4 +38,4 @@ if (PROJECT_IS_TOP_LEVEL)
add_subdirectory(test)
endif(BUILD_TESTING)
endif(BUILD_TESTING OR UNIFEX_BUILD_EXAMPLES)
endif(PROJECT_IS_TOP_LEVEL)
endif(PROJECT_IS_TOP_LEVEL)
Loading