Skip to content

Commit

Permalink
Merge branch 'master' of github.com:STEllAR-GROUP/hpx into release-1.9.X
Browse files Browse the repository at this point in the history
  • Loading branch information
STE||AR Group committed May 1, 2023
2 parents 7476fc8 + 8a577a9 commit 9f79a3c
Show file tree
Hide file tree
Showing 218 changed files with 3,048 additions and 2,099 deletions.
1 change: 1 addition & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,7 @@ jobs:
-DHPX_WITH_TESTS_DEBUG_LOG_DESTINATION=/hpx/build/debug-log.txt \
-DHPX_WITH_SPINLOCK_DEADLOCK_DETECTION=On \
-DHPX_WITH_CHECK_MODULE_DEPENDENCIES=On \
-DHPX_LOGGING_WITH_SEPARATE_DESTINATIONS=Off \
-DCMAKE_EXPORT_COMPILE_COMMANDS=On \
-DHPX_WITH_DOCUMENTATION=On \
-DHPX_WITH_DOCUMENTATION_OUTPUT_FORMATS="${DOCUMENTATION_OUTPUT_FORMATS}"
Expand Down
3 changes: 2 additions & 1 deletion .cmake-format.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2020-2022 Hartmut Kaiser
# Copyright (c) 2020-2023 Hartmut Kaiser
#
# SPDX-License-Identifier: BSL-1.0
# Distributed under the Boost Software License, Version 1.0. (See accompanying
Expand Down Expand Up @@ -238,6 +238,7 @@
'HEADER_ROOT': 1,
'INI': 1,
'INSTALL_SUFFIX': 1,
'INSTALL_COMPONENT': 1,
'LANGUAGE': 1,
'LINK_FLAGS': '+',
'OUTPUT_SUFFIX': 1,
Expand Down
21 changes: 5 additions & 16 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Copyright (c) 2020 Mikael Simberg
# Copyright (c) 2007-2022 Hartmut Kaiser
# Copyright (c) 2007-2023 Hartmut Kaiser
# Copyright (c) 2011-2014 Thomas Heller
# Copyright (c) 2007-2008 Chirag Dekate
# Copyright (c) 2011 Bryce Lelbach
Expand Down Expand Up @@ -2439,7 +2439,7 @@ if(PYTHONINTERP_FOUND)
install(
FILES "${PROJECT_BINARY_DIR}/bin/hpxrun.py"
DESTINATION ${CMAKE_INSTALL_BINDIR}
COMPONENT core
COMPONENT runtime
PERMISSIONS
OWNER_READ
OWNER_WRITE
Expand Down Expand Up @@ -2485,18 +2485,6 @@ install(
PATTERN ".git" EXCLUDE
)

if("${HPX_PLATFORM_UC}" STREQUAL "XEONPHI")
# FIXME: push changes upstream
install(
DIRECTORY external/asio/boost
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/hpx/external
COMPONENT core
FILES_MATCHING
PATTERN "*.hpp"
PATTERN ".git" EXCLUDE
)
endif()

install(
FILES "${PROJECT_SOURCE_DIR}/LICENSE_1_0.txt"
DESTINATION ${CMAKE_INSTALL_DATADIR}/hpx
Expand Down Expand Up @@ -2581,12 +2569,13 @@ include(HPX_PrintSummary)
create_configuration_summary("Configuration summary:\n--" "hpx")

include(HPX_ExportTargets)

# Modules can't link to this if not exported
install(
TARGETS hpx_base_libraries
EXPORT HPXInternalTargets
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT hpx_base_libraries
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT hpx_base_libraries
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT hpx_base_libraries
)
hpx_export_internal_targets(hpx_base_libraries)
Expand Down
13 changes: 9 additions & 4 deletions cmake/HPX_AddComponent.cmake
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2007-2012 Hartmut Kaiser
# Copyright (c) 2007-2023 Hartmut Kaiser
# Copyright (c) 2011 Bryce Lelbach
#
# SPDX-License-Identifier: BSL-1.0
Expand Down Expand Up @@ -28,6 +28,7 @@ function(add_hpx_component name)
HEADER_GLOB
OUTPUT_SUFFIX
INSTALL_SUFFIX
INSTALL_COMPONENT
LANGUAGE
)
set(multi_value_args
Expand Down Expand Up @@ -191,12 +192,15 @@ function(add_hpx_component name)
set(archive_install_destination ${${name}_INSTALL_SUFFIX})
set(runtime_install_destination ${${name}_INSTALL_SUFFIX})
endif()
if(${name}_INSTALL_COMPONENT)
set(install_component COMPONENT ${${name}_INSTALL_COMPONENT})
endif()
# cmake-format: off
set(_target_flags
INSTALL INSTALL_FLAGS
LIBRARY DESTINATION ${library_install_destination}
ARCHIVE DESTINATION ${archive_install_destination}
RUNTIME DESTINATION ${runtime_install_destination}
LIBRARY DESTINATION ${library_install_destination} ${install_component}
ARCHIVE DESTINATION ${archive_install_destination} ${install_component}
RUNTIME DESTINATION ${runtime_install_destination} ${install_component}
)
# cmake-format: on

Expand All @@ -210,6 +214,7 @@ function(add_hpx_component name)
${_target_flags}
INSTALL_PDB $<TARGET_PDB_FILE:${name}_component>
DESTINATION ${runtime_install_destination}
${install_component}
CONFIGURATIONS Debug RelWithDebInfo
OPTIONAL
)
Expand Down
9 changes: 9 additions & 0 deletions cmake/HPX_AddConfigTest.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -587,6 +587,15 @@ function(hpx_check_for_cxx20_std_default_sentinel)
)
endfunction()

# ##############################################################################
function(hpx_check_for_cxx20_std_bit_cast)
add_hpx_config_test(
HPX_WITH_CXX20_STD_BIT_CAST
SOURCE cmake/tests/cxx20_std_bit_cast.cpp
FILE ${ARGN}
)
endfunction()

# ##############################################################################
function(hpx_check_for_cxx23_std_generator)
add_hpx_config_test(
Expand Down
4 changes: 2 additions & 2 deletions cmake/HPX_AddDefinitions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -185,15 +185,15 @@ function(write_config_defines_file)
if(NOT OPTION_TEMPLATE)
string(TOUPPER ${OPTION_NAMESPACE} NAMESPACE_UPPER)
set(PREAMBLE
"// Copyright (c) 2019-2020 STE||AR Group\n"
"// Copyright (c) 2019-2023 STE||AR Group\n"
"//\n"
"// SPDX-License-Identifier: BSL-1.0\n"
"// Distributed under the Boost Software License, Version 1.0. (See accompanying\n"
"// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n"
"\n"
"// Do not edit this file! It has been generated by the cmake configuration step.\n"
"\n"
"#pragma once"
"#pragma once\n"
)
set(TEMP_FILENAME
"${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${NAMESPACE_UPPER}"
Expand Down
7 changes: 5 additions & 2 deletions cmake/HPX_AddExecutable.cmake
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2007-2012 Hartmut Kaiser
# Copyright (c) 2007-2023 Hartmut Kaiser
# Copyright (c) 2011 Bryce Lelbach
#
# SPDX-License-Identifier: BSL-1.0
Expand Down Expand Up @@ -165,7 +165,9 @@ function(add_hpx_executable name)
if(${name}_INSTALL_SUFFIX)
set(install_destination ${${name}_INSTALL_SUFFIX})
endif()
set(_target_flags INSTALL INSTALL_FLAGS DESTINATION ${install_destination})
set(_target_flags INSTALL INSTALL_FLAGS DESTINATION ${install_destination}
COMPONENT executables
)
# install PDB if needed
if(MSVC
AND NOT ${name}_STATIC
Expand All @@ -176,6 +178,7 @@ function(add_hpx_executable name)
${_target_flags}
INSTALL_PDB $<TARGET_PDB_FILE:${name}>
DESTINATION ${install_destination}
COMPONENT executables
CONFIGURATIONS Debug RelWithDebInfo
OPTIONAL
)
Expand Down
9 changes: 5 additions & 4 deletions cmake/HPX_AddLibrary.cmake
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2007-2012 Hartmut Kaiser
# Copyright (c) 2007-2023 Hartmut Kaiser
# Copyright (c) 2011 Bryce Lelbach
#
# SPDX-License-Identifier: BSL-1.0
Expand Down Expand Up @@ -180,9 +180,9 @@ function(add_hpx_library name)
# cmake-format: off
set(_target_flags
INSTALL INSTALL_FLAGS
LIBRARY DESTINATION ${library_install_destination}
ARCHIVE DESTINATION ${archive_install_destination}
RUNTIME DESTINATION ${runtime_install_destination}
LIBRARY DESTINATION ${library_install_destination} COMPONENT runtime
ARCHIVE DESTINATION ${archive_install_destination} COMPONENT runtime
RUNTIME DESTINATION ${runtime_install_destination} COMPONENT runtime
)
# cmake-format: on

Expand All @@ -196,6 +196,7 @@ function(add_hpx_library name)
${_target_flags}
INSTALL_PDB $<TARGET_PDB_FILE:${name}>
DESTINATION ${runtime_install_destination}
COMPONENT runtime
CONFIGURATIONS Debug RelWithDebInfo
OPTIONAL
)
Expand Down
7 changes: 4 additions & 3 deletions cmake/HPX_AddModule.cmake
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2019 ETH Zurich
# Copyright (c) 2019-2023 ETH Zurich
#
# SPDX-License-Identifier: BSL-1.0
# Distributed under the Boost Software License, Version 1.0. (See accompanying
Expand Down Expand Up @@ -380,8 +380,8 @@ function(add_hpx_module libname modulename)
install(
TARGETS hpx_${modulename}
EXPORT HPXInternalTargets
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT ${modulename}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT ${modulename}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT ${modulename}
)
hpx_export_internal_targets(hpx_${modulename})
Expand Down Expand Up @@ -420,6 +420,7 @@ function(add_hpx_module libname modulename)
FILES ${_pdb_dir}/${_pdb_file}.pdb
DESTINATION ${CMAKE_INSTALL_LIBDIR}
CONFIGURATIONS ${cfg}
COMPONENT ${modulename}
OPTIONAL
)
endforeach()
Expand Down
10 changes: 6 additions & 4 deletions cmake/HPX_CompilerFlagsTargets.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -34,20 +34,22 @@ target_compile_definitions(
# Remaining flags are set through the macros in cmake/HPX_AddCompileFlag.cmake

include(HPX_ExportTargets)

# Modules can't link to this if not exported
install(
TARGETS hpx_private_flags
EXPORT HPXInternalTargets
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT hpx_private_flags
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT hpx_private_flags
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT hpx_private_flags
)
install(
TARGETS hpx_public_flags
EXPORT HPXInternalTargets
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT hpx_public_flags
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT hpx_public_flags
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT hpx_public_flags
)

hpx_export_internal_targets(hpx_private_flags)
hpx_export_internal_targets(hpx_public_flags)
2 changes: 1 addition & 1 deletion cmake/HPX_ForwardCacheVariables.cmake
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2019 Ste||ar Group
# Copyright (c) 2019-2023 Ste||ar Group
#
# SPDX-License-Identifier: BSL-1.0
# Distributed under the Boost Software License, Version 1.0. (See accompanying
Expand Down
4 changes: 3 additions & 1 deletion cmake/HPX_GeneratePackage.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ install(
NAMESPACE HPXInternal::
FILE HPXInternalTargets.cmake
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${HPX_PACKAGE_NAME}
COMPONENT cmake
)

# Export HPXTargets in the build directory
Expand All @@ -56,6 +57,7 @@ install(
NAMESPACE HPX::
FILE HPXTargets.cmake
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${HPX_PACKAGE_NAME}
COMPONENT cmake
)

# Install dir
Expand Down Expand Up @@ -117,7 +119,7 @@ if(HPX_WITH_PKGCONFIG)
install(
FILES "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/hpxcxx"
DESTINATION ${CMAKE_INSTALL_BINDIR}
COMPONENT compiler_wrapper
COMPONENT runtime
PERMISSIONS
OWNER_READ
OWNER_WRITE
Expand Down
2 changes: 2 additions & 0 deletions cmake/HPX_PerformCxxFeatureTests.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,8 @@ function(hpx_perform_cxx_feature_tests)
hpx_check_for_cxx20_std_default_sentinel(
DEFINITIONS HPX_HAVE_CXX20_STD_DEFAULT_SENTINEL
)

hpx_check_for_cxx20_std_bit_cast(DEFINITIONS HPX_HAVE_CXX20_STD_BIT_CAST)
endif()

if(HPX_WITH_CXX_STANDARD GREATER_EQUAL 23)
Expand Down
3 changes: 2 additions & 1 deletion cmake/HPX_SetupAsio.cmake
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2021 Hartmut Kaiser
# Copyright (c) 2021-2023 Hartmut Kaiser
#
# SPDX-License-Identifier: BSL-1.0
# Distributed under the Boost Software License, Version 1.0. (See accompanying
Expand Down Expand Up @@ -61,6 +61,7 @@ elseif(NOT TARGET Asio::asio AND NOT HPX_FIND_PACKAGE)
NAMESPACE Asio::
FILE HPXAsioTarget.cmake
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${HPX_PACKAGE_NAME}
COMPONENT cmake
)

add_library(Asio::asio ALIAS asio)
Expand Down
1 change: 1 addition & 0 deletions cmake/HPX_SetupEve.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ if(("${HPX_WITH_DATAPAR_BACKEND}" STREQUAL "EVE") AND NOT TARGET eve::eve)
NAMESPACE eve::
FILE HPXEveTarget.cmake
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${HPX_PACKAGE_NAME}
COMPONENT cmake
)

add_library(eve::eve ALIAS eve)
Expand Down
15 changes: 10 additions & 5 deletions cmake/HPX_SetupLCI.cmake
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2021 Ste||ar Group
# Copyright (c) 2021-2023 Ste||ar Group
#
# SPDX-License-Identifier: BSL-1.0
# Distributed under the Boost Software License, Version 1.0. (See accompanying
Expand Down Expand Up @@ -103,13 +103,18 @@ macro(hpx_setup_lci)
NAMESPACE LCI::
FILE HPXLCITarget.cmake
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${HPX_PACKAGE_NAME}
COMPONENT cmake
)

install(FILES "${lci_SOURCE_DIR}/cmake_modules/FindIBV.cmake"
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${HPX_PACKAGE_NAME}
install(
FILES "${lci_SOURCE_DIR}/cmake_modules/FindIBV.cmake"
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${HPX_PACKAGE_NAME}
COMPONENT cmake
)
install(FILES "${lci_SOURCE_DIR}/cmake_modules/FindOFI.cmake"
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${HPX_PACKAGE_NAME}
install(
FILES "${lci_SOURCE_DIR}/cmake_modules/FindOFI.cmake"
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${HPX_PACKAGE_NAME}
COMPONENT cmake
)
endif()
endif()
Expand Down
1 change: 1 addition & 0 deletions cmake/HPX_SetupSVE.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ if(("${HPX_WITH_DATAPAR_BACKEND}" STREQUAL "SVE") AND NOT TARGET SVE::sve)
NAMESPACE SVE::
FILE HPXSVETarget.cmake
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${HPX_PACKAGE_NAME}
COMPONENT cmake
)

else()
Expand Down
2 changes: 1 addition & 1 deletion cmake/HPX_SetupTarget.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Copyright (c) 2014 Thomas Heller
# Copyright (c) 2007-2018 Hartmut Kaiser
# Copyright (c) 2007-2023 Hartmut Kaiser
# Copyright (c) 2011 Bryce Lelbach
#
# SPDX-License-Identifier: BSL-1.0
Expand Down
18 changes: 18 additions & 0 deletions cmake/tests/cxx20_std_bit_cast.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
// Copyright (c) 2023 Hartmut Kaiser
//
// SPDX-License-Identifier: BSL-1.0
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

// Test if std::bit_cast is available

#include <bit>
#include <cstdint>

int main()
{
float a = 42.0;
std::uint32_t i = std::bit_cast<std::uint32_t>(a);
(void) i;
return 0;
}
3 changes: 2 additions & 1 deletion components/component_storage/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2015 Hartmut Kaiser
# Copyright (c) 2015-2023 Hartmut Kaiser
#
# SPDX-License-Identifier: BSL-1.0
# Distributed under the Boost Software License, Version 1.0. (See accompanying
Expand Down Expand Up @@ -32,6 +32,7 @@ add_hpx_component(
component_storage INTERNAL_FLAGS
FOLDER "Core/Components/IO"
INSTALL_HEADERS PREPEND_HEADER_ROOT
INSTALL_COMPONENT runtime
HEADER_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/include
HEADERS ${component_storage_headers}
PREPEND_SOURCE_ROOT
Expand Down
Loading

0 comments on commit 9f79a3c

Please sign in to comment.