Skip to content

Commit 9f79a3c

Browse files
author
STE||AR Group
committed
Merge branch 'master' of github.com:STEllAR-GROUP/hpx into release-1.9.X
2 parents 7476fc8 + 8a577a9 commit 9f79a3c

File tree

218 files changed

+3048
-2099
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

218 files changed

+3048
-2099
lines changed

.circleci/config.yml

+1
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,7 @@ jobs:
244244
-DHPX_WITH_TESTS_DEBUG_LOG_DESTINATION=/hpx/build/debug-log.txt \
245245
-DHPX_WITH_SPINLOCK_DEADLOCK_DETECTION=On \
246246
-DHPX_WITH_CHECK_MODULE_DEPENDENCIES=On \
247+
-DHPX_LOGGING_WITH_SEPARATE_DESTINATIONS=Off \
247248
-DCMAKE_EXPORT_COMPILE_COMMANDS=On \
248249
-DHPX_WITH_DOCUMENTATION=On \
249250
-DHPX_WITH_DOCUMENTATION_OUTPUT_FORMATS="${DOCUMENTATION_OUTPUT_FORMATS}"

.cmake-format.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2020-2022 Hartmut Kaiser
1+
# Copyright (c) 2020-2023 Hartmut Kaiser
22
#
33
# SPDX-License-Identifier: BSL-1.0
44
# Distributed under the Boost Software License, Version 1.0. (See accompanying
@@ -238,6 +238,7 @@
238238
'HEADER_ROOT': 1,
239239
'INI': 1,
240240
'INSTALL_SUFFIX': 1,
241+
'INSTALL_COMPONENT': 1,
241242
'LANGUAGE': 1,
242243
'LINK_FLAGS': '+',
243244
'OUTPUT_SUFFIX': 1,

CMakeLists.txt

+5-16
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Copyright (c) 2020 Mikael Simberg
2-
# Copyright (c) 2007-2022 Hartmut Kaiser
2+
# Copyright (c) 2007-2023 Hartmut Kaiser
33
# Copyright (c) 2011-2014 Thomas Heller
44
# Copyright (c) 2007-2008 Chirag Dekate
55
# Copyright (c) 2011 Bryce Lelbach
@@ -2439,7 +2439,7 @@ if(PYTHONINTERP_FOUND)
24392439
install(
24402440
FILES "${PROJECT_BINARY_DIR}/bin/hpxrun.py"
24412441
DESTINATION ${CMAKE_INSTALL_BINDIR}
2442-
COMPONENT core
2442+
COMPONENT runtime
24432443
PERMISSIONS
24442444
OWNER_READ
24452445
OWNER_WRITE
@@ -2485,18 +2485,6 @@ install(
24852485
PATTERN ".git" EXCLUDE
24862486
)
24872487

2488-
if("${HPX_PLATFORM_UC}" STREQUAL "XEONPHI")
2489-
# FIXME: push changes upstream
2490-
install(
2491-
DIRECTORY external/asio/boost
2492-
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/hpx/external
2493-
COMPONENT core
2494-
FILES_MATCHING
2495-
PATTERN "*.hpp"
2496-
PATTERN ".git" EXCLUDE
2497-
)
2498-
endif()
2499-
25002488
install(
25012489
FILES "${PROJECT_SOURCE_DIR}/LICENSE_1_0.txt"
25022490
DESTINATION ${CMAKE_INSTALL_DATADIR}/hpx
@@ -2581,12 +2569,13 @@ include(HPX_PrintSummary)
25812569
create_configuration_summary("Configuration summary:\n--" "hpx")
25822570

25832571
include(HPX_ExportTargets)
2572+
25842573
# Modules can't link to this if not exported
25852574
install(
25862575
TARGETS hpx_base_libraries
25872576
EXPORT HPXInternalTargets
2588-
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
2589-
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
2577+
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT hpx_base_libraries
2578+
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT hpx_base_libraries
25902579
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT hpx_base_libraries
25912580
)
25922581
hpx_export_internal_targets(hpx_base_libraries)

cmake/HPX_AddComponent.cmake

+9-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2007-2012 Hartmut Kaiser
1+
# Copyright (c) 2007-2023 Hartmut Kaiser
22
# Copyright (c) 2011 Bryce Lelbach
33
#
44
# SPDX-License-Identifier: BSL-1.0
@@ -28,6 +28,7 @@ function(add_hpx_component name)
2828
HEADER_GLOB
2929
OUTPUT_SUFFIX
3030
INSTALL_SUFFIX
31+
INSTALL_COMPONENT
3132
LANGUAGE
3233
)
3334
set(multi_value_args
@@ -191,12 +192,15 @@ function(add_hpx_component name)
191192
set(archive_install_destination ${${name}_INSTALL_SUFFIX})
192193
set(runtime_install_destination ${${name}_INSTALL_SUFFIX})
193194
endif()
195+
if(${name}_INSTALL_COMPONENT)
196+
set(install_component COMPONENT ${${name}_INSTALL_COMPONENT})
197+
endif()
194198
# cmake-format: off
195199
set(_target_flags
196200
INSTALL INSTALL_FLAGS
197-
LIBRARY DESTINATION ${library_install_destination}
198-
ARCHIVE DESTINATION ${archive_install_destination}
199-
RUNTIME DESTINATION ${runtime_install_destination}
201+
LIBRARY DESTINATION ${library_install_destination} ${install_component}
202+
ARCHIVE DESTINATION ${archive_install_destination} ${install_component}
203+
RUNTIME DESTINATION ${runtime_install_destination} ${install_component}
200204
)
201205
# cmake-format: on
202206

@@ -210,6 +214,7 @@ function(add_hpx_component name)
210214
${_target_flags}
211215
INSTALL_PDB $<TARGET_PDB_FILE:${name}_component>
212216
DESTINATION ${runtime_install_destination}
217+
${install_component}
213218
CONFIGURATIONS Debug RelWithDebInfo
214219
OPTIONAL
215220
)

cmake/HPX_AddConfigTest.cmake

+9
Original file line numberDiff line numberDiff line change
@@ -587,6 +587,15 @@ function(hpx_check_for_cxx20_std_default_sentinel)
587587
)
588588
endfunction()
589589

590+
# ##############################################################################
591+
function(hpx_check_for_cxx20_std_bit_cast)
592+
add_hpx_config_test(
593+
HPX_WITH_CXX20_STD_BIT_CAST
594+
SOURCE cmake/tests/cxx20_std_bit_cast.cpp
595+
FILE ${ARGN}
596+
)
597+
endfunction()
598+
590599
# ##############################################################################
591600
function(hpx_check_for_cxx23_std_generator)
592601
add_hpx_config_test(

cmake/HPX_AddDefinitions.cmake

+2-2
Original file line numberDiff line numberDiff line change
@@ -185,15 +185,15 @@ function(write_config_defines_file)
185185
if(NOT OPTION_TEMPLATE)
186186
string(TOUPPER ${OPTION_NAMESPACE} NAMESPACE_UPPER)
187187
set(PREAMBLE
188-
"// Copyright (c) 2019-2020 STE||AR Group\n"
188+
"// Copyright (c) 2019-2023 STE||AR Group\n"
189189
"//\n"
190190
"// SPDX-License-Identifier: BSL-1.0\n"
191191
"// Distributed under the Boost Software License, Version 1.0. (See accompanying\n"
192192
"// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n"
193193
"\n"
194194
"// Do not edit this file! It has been generated by the cmake configuration step.\n"
195195
"\n"
196-
"#pragma once"
196+
"#pragma once\n"
197197
)
198198
set(TEMP_FILENAME
199199
"${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${NAMESPACE_UPPER}"

cmake/HPX_AddExecutable.cmake

+5-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2007-2012 Hartmut Kaiser
1+
# Copyright (c) 2007-2023 Hartmut Kaiser
22
# Copyright (c) 2011 Bryce Lelbach
33
#
44
# SPDX-License-Identifier: BSL-1.0
@@ -165,7 +165,9 @@ function(add_hpx_executable name)
165165
if(${name}_INSTALL_SUFFIX)
166166
set(install_destination ${${name}_INSTALL_SUFFIX})
167167
endif()
168-
set(_target_flags INSTALL INSTALL_FLAGS DESTINATION ${install_destination})
168+
set(_target_flags INSTALL INSTALL_FLAGS DESTINATION ${install_destination}
169+
COMPONENT executables
170+
)
169171
# install PDB if needed
170172
if(MSVC
171173
AND NOT ${name}_STATIC
@@ -176,6 +178,7 @@ function(add_hpx_executable name)
176178
${_target_flags}
177179
INSTALL_PDB $<TARGET_PDB_FILE:${name}>
178180
DESTINATION ${install_destination}
181+
COMPONENT executables
179182
CONFIGURATIONS Debug RelWithDebInfo
180183
OPTIONAL
181184
)

cmake/HPX_AddLibrary.cmake

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2007-2012 Hartmut Kaiser
1+
# Copyright (c) 2007-2023 Hartmut Kaiser
22
# Copyright (c) 2011 Bryce Lelbach
33
#
44
# SPDX-License-Identifier: BSL-1.0
@@ -180,9 +180,9 @@ function(add_hpx_library name)
180180
# cmake-format: off
181181
set(_target_flags
182182
INSTALL INSTALL_FLAGS
183-
LIBRARY DESTINATION ${library_install_destination}
184-
ARCHIVE DESTINATION ${archive_install_destination}
185-
RUNTIME DESTINATION ${runtime_install_destination}
183+
LIBRARY DESTINATION ${library_install_destination} COMPONENT runtime
184+
ARCHIVE DESTINATION ${archive_install_destination} COMPONENT runtime
185+
RUNTIME DESTINATION ${runtime_install_destination} COMPONENT runtime
186186
)
187187
# cmake-format: on
188188

@@ -196,6 +196,7 @@ function(add_hpx_library name)
196196
${_target_flags}
197197
INSTALL_PDB $<TARGET_PDB_FILE:${name}>
198198
DESTINATION ${runtime_install_destination}
199+
COMPONENT runtime
199200
CONFIGURATIONS Debug RelWithDebInfo
200201
OPTIONAL
201202
)

cmake/HPX_AddModule.cmake

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2019 ETH Zurich
1+
# Copyright (c) 2019-2023 ETH Zurich
22
#
33
# SPDX-License-Identifier: BSL-1.0
44
# Distributed under the Boost Software License, Version 1.0. (See accompanying
@@ -380,8 +380,8 @@ function(add_hpx_module libname modulename)
380380
install(
381381
TARGETS hpx_${modulename}
382382
EXPORT HPXInternalTargets
383-
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
384-
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
383+
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT ${modulename}
384+
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT ${modulename}
385385
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT ${modulename}
386386
)
387387
hpx_export_internal_targets(hpx_${modulename})
@@ -420,6 +420,7 @@ function(add_hpx_module libname modulename)
420420
FILES ${_pdb_dir}/${_pdb_file}.pdb
421421
DESTINATION ${CMAKE_INSTALL_LIBDIR}
422422
CONFIGURATIONS ${cfg}
423+
COMPONENT ${modulename}
423424
OPTIONAL
424425
)
425426
endforeach()

cmake/HPX_CompilerFlagsTargets.cmake

+6-4
Original file line numberDiff line numberDiff line change
@@ -34,20 +34,22 @@ target_compile_definitions(
3434
# Remaining flags are set through the macros in cmake/HPX_AddCompileFlag.cmake
3535

3636
include(HPX_ExportTargets)
37+
3738
# Modules can't link to this if not exported
3839
install(
3940
TARGETS hpx_private_flags
4041
EXPORT HPXInternalTargets
41-
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
42-
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
42+
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT hpx_private_flags
43+
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT hpx_private_flags
4344
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT hpx_private_flags
4445
)
4546
install(
4647
TARGETS hpx_public_flags
4748
EXPORT HPXInternalTargets
48-
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
49-
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
49+
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT hpx_public_flags
50+
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT hpx_public_flags
5051
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT hpx_public_flags
5152
)
53+
5254
hpx_export_internal_targets(hpx_private_flags)
5355
hpx_export_internal_targets(hpx_public_flags)

cmake/HPX_ForwardCacheVariables.cmake

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2019 Ste||ar Group
1+
# Copyright (c) 2019-2023 Ste||ar Group
22
#
33
# SPDX-License-Identifier: BSL-1.0
44
# Distributed under the Boost Software License, Version 1.0. (See accompanying

cmake/HPX_GeneratePackage.cmake

+3-1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ install(
3232
NAMESPACE HPXInternal::
3333
FILE HPXInternalTargets.cmake
3434
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${HPX_PACKAGE_NAME}
35+
COMPONENT cmake
3536
)
3637

3738
# Export HPXTargets in the build directory
@@ -56,6 +57,7 @@ install(
5657
NAMESPACE HPX::
5758
FILE HPXTargets.cmake
5859
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${HPX_PACKAGE_NAME}
60+
COMPONENT cmake
5961
)
6062

6163
# Install dir
@@ -117,7 +119,7 @@ if(HPX_WITH_PKGCONFIG)
117119
install(
118120
FILES "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/hpxcxx"
119121
DESTINATION ${CMAKE_INSTALL_BINDIR}
120-
COMPONENT compiler_wrapper
122+
COMPONENT runtime
121123
PERMISSIONS
122124
OWNER_READ
123125
OWNER_WRITE

cmake/HPX_PerformCxxFeatureTests.cmake

+2
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,8 @@ function(hpx_perform_cxx_feature_tests)
144144
hpx_check_for_cxx20_std_default_sentinel(
145145
DEFINITIONS HPX_HAVE_CXX20_STD_DEFAULT_SENTINEL
146146
)
147+
148+
hpx_check_for_cxx20_std_bit_cast(DEFINITIONS HPX_HAVE_CXX20_STD_BIT_CAST)
147149
endif()
148150

149151
if(HPX_WITH_CXX_STANDARD GREATER_EQUAL 23)

cmake/HPX_SetupAsio.cmake

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2021 Hartmut Kaiser
1+
# Copyright (c) 2021-2023 Hartmut Kaiser
22
#
33
# SPDX-License-Identifier: BSL-1.0
44
# Distributed under the Boost Software License, Version 1.0. (See accompanying
@@ -61,6 +61,7 @@ elseif(NOT TARGET Asio::asio AND NOT HPX_FIND_PACKAGE)
6161
NAMESPACE Asio::
6262
FILE HPXAsioTarget.cmake
6363
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${HPX_PACKAGE_NAME}
64+
COMPONENT cmake
6465
)
6566

6667
add_library(Asio::asio ALIAS asio)

cmake/HPX_SetupEve.cmake

+1
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ if(("${HPX_WITH_DATAPAR_BACKEND}" STREQUAL "EVE") AND NOT TARGET eve::eve)
6060
NAMESPACE eve::
6161
FILE HPXEveTarget.cmake
6262
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${HPX_PACKAGE_NAME}
63+
COMPONENT cmake
6364
)
6465

6566
add_library(eve::eve ALIAS eve)

cmake/HPX_SetupLCI.cmake

+10-5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2021 Ste||ar Group
1+
# Copyright (c) 2021-2023 Ste||ar Group
22
#
33
# SPDX-License-Identifier: BSL-1.0
44
# Distributed under the Boost Software License, Version 1.0. (See accompanying
@@ -103,13 +103,18 @@ macro(hpx_setup_lci)
103103
NAMESPACE LCI::
104104
FILE HPXLCITarget.cmake
105105
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${HPX_PACKAGE_NAME}
106+
COMPONENT cmake
106107
)
107108

108-
install(FILES "${lci_SOURCE_DIR}/cmake_modules/FindIBV.cmake"
109-
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${HPX_PACKAGE_NAME}
109+
install(
110+
FILES "${lci_SOURCE_DIR}/cmake_modules/FindIBV.cmake"
111+
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${HPX_PACKAGE_NAME}
112+
COMPONENT cmake
110113
)
111-
install(FILES "${lci_SOURCE_DIR}/cmake_modules/FindOFI.cmake"
112-
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${HPX_PACKAGE_NAME}
114+
install(
115+
FILES "${lci_SOURCE_DIR}/cmake_modules/FindOFI.cmake"
116+
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${HPX_PACKAGE_NAME}
117+
COMPONENT cmake
113118
)
114119
endif()
115120
endif()

cmake/HPX_SetupSVE.cmake

+1
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ if(("${HPX_WITH_DATAPAR_BACKEND}" STREQUAL "SVE") AND NOT TARGET SVE::sve)
6161
NAMESPACE SVE::
6262
FILE HPXSVETarget.cmake
6363
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${HPX_PACKAGE_NAME}
64+
COMPONENT cmake
6465
)
6566

6667
else()

cmake/HPX_SetupTarget.cmake

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Copyright (c) 2014 Thomas Heller
2-
# Copyright (c) 2007-2018 Hartmut Kaiser
2+
# Copyright (c) 2007-2023 Hartmut Kaiser
33
# Copyright (c) 2011 Bryce Lelbach
44
#
55
# SPDX-License-Identifier: BSL-1.0

cmake/tests/cxx20_std_bit_cast.cpp

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
// Copyright (c) 2023 Hartmut Kaiser
2+
//
3+
// SPDX-License-Identifier: BSL-1.0
4+
// Distributed under the Boost Software License, Version 1.0. (See accompanying
5+
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6+
7+
// Test if std::bit_cast is available
8+
9+
#include <bit>
10+
#include <cstdint>
11+
12+
int main()
13+
{
14+
float a = 42.0;
15+
std::uint32_t i = std::bit_cast<std::uint32_t>(a);
16+
(void) i;
17+
return 0;
18+
}

components/component_storage/CMakeLists.txt

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2015 Hartmut Kaiser
1+
# Copyright (c) 2015-2023 Hartmut Kaiser
22
#
33
# SPDX-License-Identifier: BSL-1.0
44
# Distributed under the Boost Software License, Version 1.0. (See accompanying
@@ -32,6 +32,7 @@ add_hpx_component(
3232
component_storage INTERNAL_FLAGS
3333
FOLDER "Core/Components/IO"
3434
INSTALL_HEADERS PREPEND_HEADER_ROOT
35+
INSTALL_COMPONENT runtime
3536
HEADER_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/include
3637
HEADERS ${component_storage_headers}
3738
PREPEND_SOURCE_ROOT

0 commit comments

Comments
 (0)