Skip to content

Commit e8c349f

Browse files
dontepanlinVladislav Egorovericniebler
authored
Isp (#2116)
* try fix gcc13 * removed unnecesarry file dowload online * review feedback --------- Co-authored-by: Vladislav Egorov <unclehook@ispras.ru> Co-authored-by: Eric Niebler <eniebler@nvidia.com>
1 parent ad5fd3c commit e8c349f

4 files changed

Lines changed: 78 additions & 26 deletions

File tree

CMakeLists.txt

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,8 @@ if(POLICY CMP0167)
2424
endif()
2525

2626
##############################################################################
27-
# - Download and initialize RAPIDS CMake helpers -----------------------------
28-
29-
# Fetch rapids-cmake
30-
if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/RAPIDS.cmake)
31-
file(DOWNLOAD https://raw.githubusercontent.com/rapidsai/rapids-cmake/branch-24.02/RAPIDS.cmake
32-
${CMAKE_CURRENT_BINARY_DIR}/RAPIDS.cmake)
33-
endif()
3427
# Initialize rapids-cmake
35-
include(${CMAKE_CURRENT_BINARY_DIR}/RAPIDS.cmake)
28+
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/RAPIDS.cmake)
3629
# utilities for generating export set package metadata
3730
include(rapids-export)
3831
# utilities for finding packages
@@ -41,18 +34,8 @@ include(rapids-find)
4134
include(rapids-cmake)
4235
# utilities for using CPM
4336
include(rapids-cpm)
44-
45-
##############################################################################
4637
# - Project definition -------------------------------------------------------
4738

48-
# Define the project and set the version and languages
49-
if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/execution.bs)
50-
file(DOWNLOAD "https://raw.githubusercontent.com/cplusplus/sender-receiver/main/execution.bs"
51-
${CMAKE_CURRENT_BINARY_DIR}/execution.bs)
52-
endif()
53-
file(STRINGS "${CMAKE_CURRENT_BINARY_DIR}/execution.bs" STD_EXECUTION_BS_REVISION_LINE REGEX "Revision: [0-9]+")
54-
string(REGEX REPLACE "Revision: ([0-9]+)" "\\1" STD_EXECUTION_BS_REVISION ${STD_EXECUTION_BS_REVISION_LINE})
55-
5639
# Determine if STDEXEC is built as a subproject (using add_subdirectory) or if it is the main project.
5740
if (NOT DEFINED STDEXEC_MAIN_PROJECT)
5841
set(STDEXEC_MAIN_PROJECT OFF)
@@ -62,7 +45,7 @@ if (NOT DEFINED STDEXEC_MAIN_PROJECT)
6245
endif ()
6346
endif ()
6447

65-
project(STDEXEC VERSION "0.${STD_EXECUTION_BS_REVISION}.0" LANGUAGES CXX)
48+
project(STDEXEC VERSION "0.11.0" LANGUAGES CXX)
6649

6750
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/CompilerHelpers.cmake)
6851

cmake/RAPIDS.cmake

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
#=============================================================================
2+
# Copyright (c) 2021-2023, NVIDIA CORPORATION.
3+
#
4+
# Licensed under the Apache License, Version 2.0 (the "License");
5+
# you may not use this file except in compliance with the License.
6+
# You may obtain a copy of the License at
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS,
12+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
# See the License for the specific language governing permissions and
14+
# limitations under the License.
15+
#=============================================================================
16+
#
17+
# This is the preferred entry point for projects using rapids-cmake
18+
#
19+
20+
# Allow users to control which version is used
21+
if(NOT rapids-cmake-version)
22+
# Define a default version if the user doesn't set one
23+
set(rapids-cmake-version 24.02)
24+
endif()
25+
26+
# Allow users to control which GitHub repo is fetched
27+
if(NOT rapids-cmake-repo)
28+
# Define a default repo if the user doesn't set one
29+
set(rapids-cmake-repo rapidsai/rapids-cmake)
30+
endif()
31+
32+
# Allow users to control which branch is fetched
33+
if(NOT rapids-cmake-branch)
34+
# Define a default branch if the user doesn't set one
35+
set(rapids-cmake-branch "branch-${rapids-cmake-version}")
36+
endif()
37+
38+
# Allow users to control the exact URL passed to FetchContent
39+
if(NOT rapids-cmake-url)
40+
# Construct a default URL if the user doesn't set one
41+
set(rapids-cmake-url "https://github.com/${rapids-cmake-repo}/")
42+
# In order of specificity
43+
if(rapids-cmake-sha)
44+
# An exact git SHA takes precedence over anything
45+
string(APPEND rapids-cmake-url "archive/${rapids-cmake-sha}.zip")
46+
elseif(rapids-cmake-tag)
47+
# Followed by a git tag name
48+
string(APPEND rapids-cmake-url "archive/refs/tags/${rapids-cmake-tag}.zip")
49+
else()
50+
# Or if neither of the above two were defined, use a branch
51+
string(APPEND rapids-cmake-url "archive/refs/heads/${rapids-cmake-branch}.zip")
52+
endif()
53+
endif()
54+
55+
if(POLICY CMP0135)
56+
cmake_policy(PUSH)
57+
cmake_policy(SET CMP0135 NEW)
58+
endif()
59+
include(FetchContent)
60+
FetchContent_Declare(rapids-cmake URL "${rapids-cmake-url}")
61+
if(POLICY CMP0135)
62+
cmake_policy(POP)
63+
endif()
64+
FetchContent_GetProperties(rapids-cmake)
65+
if(rapids-cmake_POPULATED)
66+
# Something else has already populated rapids-cmake, only thing
67+
# we need to do is setup the CMAKE_MODULE_PATH
68+
if(NOT "${rapids-cmake-dir}" IN_LIST CMAKE_MODULE_PATH)
69+
list(APPEND CMAKE_MODULE_PATH "${rapids-cmake-dir}")
70+
endif()
71+
else()
72+
FetchContent_MakeAvailable(rapids-cmake)
73+
endif()

include/exec/sequence/merge_each.hpp

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -194,12 +194,8 @@ namespace experimental::execution
194194
return __env_with_inplace_stop_token(__token_, static_cast<_Env&&>(__env));
195195
}
196196

197-
template <class _Error>
198-
requires(!__std::same_as<_Error, _ErrorStorage>)
199-
void store_error(_Error&& __error)
200-
noexcept(__nothrow_callable<decltype(&_ErrorStorage::template emplace<_Error>),
201-
_ErrorStorage&,
202-
_Error>)
197+
template <__not_same_as<_ErrorStorage> _Error>
198+
void store_error(_Error&& __error) noexcept
203199
{
204200
if (this->nested_value_fail())
205201
{

include/stdexec/__detail/__completion_behavior.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ namespace STDEXEC
200200
__call_result_t<__get_completion_behavior_t<_Tag>, _Attrs const &, _Env const &...>{};
201201

202202
template <class _Tag, class _Attrs, class... _Env>
203-
concept __completes_inline = (__completion_behavior_of_v<_Tag, _Attrs, _Env...>
203+
concept __completes_inline = (__completion_behavior_of_v<_Tag, _Attrs, _Env...>.value
204204
== __completion_behavior::__inline_completion);
205205

206206
template <class _Tag, class _Attrs, class... _Env>

0 commit comments

Comments
 (0)