Skip to content

Commit

Permalink
Merge branch 'release-1.10.X' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
hkaiser committed May 29, 2024
2 parents 0ca711f + 4444c45 commit 248d740
Show file tree
Hide file tree
Showing 23 changed files with 515 additions and 169 deletions.
6 changes: 3 additions & 3 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
# Metadata for citation of this software according to the CFF format (https://citation-file-format.github.io/)
cff-version: 1.2.0
message: If you use this software, please cite it using these metadata.
title: 'STEllAR-GROUP/hpx: HPX V1.9.1: The C++ Standards Library for Parallelism and
title: 'STEllAR-GROUP/hpx: HPX V1.10.0: The C++ Standards Library for Parallelism and
Concurrency'
doi: 10.5281/zenodo.5185328
authors:
Expand Down Expand Up @@ -84,7 +84,7 @@ authors:
- given-names: Zahra
family-names: Khatami
affiliation: Louisiana State University
version: 1.9.1
date-released: 2023-08-04
version: 1.10.0
date-released: 2023-10-12
repository-code: https://github.com/STEllAR-GROUP/hpx
license: BSL-1.0
20 changes: 15 additions & 5 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -60,12 +60,16 @@ endif()
set(HPX_VERSION_MAJOR 1)
set(HPX_VERSION_MINOR 10)
set(HPX_VERSION_SUBMINOR 0)
set(HPX_VERSION_DATE 20230804)
set(HPX_VERSION_TAG "-trunk")
set(HPX_VERSION_DATE 20240529)
set(HPX_VERSION_TAG "")

set(HPX_VERSION
"${HPX_VERSION_MAJOR}.${HPX_VERSION_MINOR}.${HPX_VERSION_SUBMINOR}"
)
set(HPX_VERSION_FULL
"${HPX_VERSION_MAJOR}.${HPX_VERSION_MINOR}.${HPX_VERSION_SUBMINOR}${HPX_VERSION_TAG}"
)

set(HPX_LIBRARY_VERSION "${HPX_VERSION}")
set(HPX_SOVERSION ${HPX_VERSION_MAJOR})
set(HPX_PACKAGE_NAME HPX)
Expand Down Expand Up @@ -149,14 +153,20 @@ if(MSVC)
endif()

# ##############################################################################
# Disable check for compiler compatibility by default
hpx_option(
HPX_WITH_IGNORE_COMPILER_COMPATIBILITY BOOL
"Ignore compiler incompatibility in dependent projects (default: ON)." ON
ADVANCED
)

# ##############################################################################
# Set our build options cache variables which are customizable by users
#

hpx_option(
HPX_WITH_DEPRECATION_WARNINGS BOOL
"Enable warnings for deprecated facilities. (default: ON)" ON ADVANCED
"Enable warnings for deprecated facilities (default: ON)." ON ADVANCED
)

if(HPX_WITH_DEPRECATION_WARNINGS)
Expand All @@ -179,7 +189,7 @@ if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
hpx_option(
HPX_WITH_STACKOVERFLOW_DETECTION
BOOL
"Enable stackoverflow detection for HPX threads/coroutines. (default: OFF, debug: ON)"
"Enable stackoverflow detection for HPX threads/coroutines (default: OFF, debug: ON)."
${HPX_WITH_STACKOVERFLOW_DETECTION_DEFAULT}
ADVANCED
)
Expand Down Expand Up @@ -2321,7 +2331,7 @@ if(HPX_WITH_GIT_BRANCH AND ((NOT HPX_WITH_GIT_TAG) OR "${HPX_WITH_GIT_TAG}x"
)
string(REGEX MATCH "^release-[0-9]+.[0-9]+.X$" matched ${HPX_WITH_GIT_BRANCH})
if(matched)
set(HPX_WITH_GIT_TAG "v${HPX_VERSION}")
set(HPX_WITH_GIT_TAG "v${HPX_VERSION_FULL}")
hpx_info("Setting HPX_WITH_GIT_TAG to: " "${HPX_WITH_GIT_TAG}")
endif()
endif()
Expand Down
32 changes: 18 additions & 14 deletions cmake/CacheLineSize.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -27,23 +27,27 @@ set(cache_line_size_detect_cpp_code

function(cache_line_size output_var)
if(NOT HPX_INTERNAL_CACHE_LINE_SIZE_DETECT)
file(WRITE "${PROJECT_BINARY_DIR}/cache_line_size.cpp"
"${cache_line_size_detect_cpp_code}"
)

if(HPX_WITH_CXX17_HARDWARE_DESTRUCTIVE_INTERFERENCE_SIZE)
set(compile_definitions
"-DHPX_HAVE_CXX17_HARDWARE_DESTRUCTIVE_INTERFERENCE_SIZE"
if(NOT CMAKE_CROSSCOMPILING)
file(WRITE "${PROJECT_BINARY_DIR}/cache_line_size.cpp"
"${cache_line_size_detect_cpp_code}"
)
endif()

try_run(
run_result_unused compile_result_unused "${PROJECT_BINARY_DIR}" SOURCES
"${PROJECT_BINARY_DIR}/cache_line_size.cpp"
COMPILE_DEFINITIONS ${compile_definitions}
CMAKE_FLAGS CXX_STANDARD 17 CXX_STANDARD_REQUIRED ON CXX_EXTENSIONS FALSE
RUN_OUTPUT_VARIABLE CACHE_LINE_SIZE
)
if(HPX_WITH_CXX17_HARDWARE_DESTRUCTIVE_INTERFERENCE_SIZE)
set(compile_definitions
"-DHPX_HAVE_CXX17_HARDWARE_DESTRUCTIVE_INTERFERENCE_SIZE"
)
endif()

try_run(
run_result_unused compile_result_unused "${PROJECT_BINARY_DIR}" SOURCES
"${PROJECT_BINARY_DIR}/cache_line_size.cpp"
COMPILE_DEFINITIONS ${compile_definitions}
CMAKE_FLAGS CXX_STANDARD 17 CXX_STANDARD_REQUIRED ON CXX_EXTENSIONS
FALSE
RUN_OUTPUT_VARIABLE CACHE_LINE_SIZE
)
endif()

if(NOT CACHE_LINE_SIZE)
set(CACHE_LINE_SIZE "64")
Expand Down
4 changes: 4 additions & 0 deletions cmake/FindBreathe.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@ find_program(
DOC "Path to breathe-apidoc executable"
)

if(Breathe_APIDOC_ROOT)
file(TO_CMAKE_PATH ${Breathe_APIDOC_ROOT} Breathe_APIDOC_ROOT)
endif()

if(Breathe_APIDOC_EXECUTABLE)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
Expand Down
4 changes: 4 additions & 0 deletions cmake/HPX_SetupBoost.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,10 @@ if(NOT TARGET hpx_dependencies_boost)
string(REPLACE "/include" "" Boost_ROOT "${Boost_INCLUDE_DIRS}")
endif()

if(Boost_ROOT)
file(TO_CMAKE_PATH ${Boost_ROOT} Boost_ROOT)
endif()

add_library(hpx_dependencies_boost INTERFACE IMPORTED)

target_link_libraries(hpx_dependencies_boost INTERFACE Boost::boost)
Expand Down
132 changes: 80 additions & 52 deletions cmake/HPX_UpdateGitDocs.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,60 @@ if(NOT GIT_FOUND)
)
endif()

macro(add_docs what)
# add all newly generated files
execute_process(
COMMAND "${GIT_EXECUTABLE}" add ${what}
WORKING_DIRECTORY "${HPX_BINARY_DIR}/docs/gh-pages"
RESULT_VARIABLE git_add_result
ERROR_VARIABLE git_add_result_message COMMAND_ECHO STDERR
)
if(NOT "${git_add_result}" EQUAL "0")
message(
FATAL_ERROR
"Adding files to the GitHub pages branch failed: ${git_add_result_message}."
)
endif()
endmacro()

macro(commit_docs message)
# check if there are changes to commit
execute_process(
COMMAND "${GIT_EXECUTABLE}" diff-index --quiet HEAD
WORKING_DIRECTORY "${HPX_BINARY_DIR}/docs/gh-pages"
RESULT_VARIABLE git_diff_index_result COMMAND_ECHO STDERR
)
if(NOT "${git_diff_index_result}" EQUAL "0")
# commit changes
execute_process(
COMMAND "${GIT_EXECUTABLE}" commit -am "Updating Sphinx docs - ${message}"
WORKING_DIRECTORY "${HPX_BINARY_DIR}/docs/gh-pages"
RESULT_VARIABLE git_commit_result
ERROR_VARIABLE git_pull_result_message COMMAND_ECHO STDERR
)
if(NOT "${git_commit_result}" EQUAL "0")
message(
FATAL_ERROR
"Committing to the GitHub pages branch failed: ${git_pull_result_message}."
)
endif()

# push everything up to github
execute_process(
COMMAND "${GIT_EXECUTABLE}" push --force
WORKING_DIRECTORY "${HPX_BINARY_DIR}/docs/gh-pages"
RESULT_VARIABLE git_push_result
ERROR_VARIABLE git_push_result_message COMMAND_ECHO STDERR
)
if(NOT "${git_push_result}" EQUAL "0")
message(
FATAL_ERROR
"Pushing to the GitHub pages branch failed: ${git_push_result_message}."
)
endif()
endif()
endmacro()

if(NOT GIT_REPOSITORY)
set(GIT_REPOSITORY git@github.com:STEllAR-GROUP/hpx-docs.git --branch master)
endif()
Expand All @@ -34,7 +88,6 @@ if(EXISTS "${HPX_BINARY_DIR}/docs/gh-pages")
)
endif()
else()
message("${GIT_EXECUTABLE}")
execute_process(
COMMAND "${GIT_EXECUTABLE}" clone ${GIT_REPOSITORY} gh-pages
RESULT_VARIABLE git_clone_result
Expand Down Expand Up @@ -71,24 +124,33 @@ if(HPX_WITH_GIT_BRANCH)
DESTINATION "${DOCS_BRANCH_DEST}"
PATTERN "*.buildinfo" EXCLUDE
)
add_docs("branches/${HPX_WITH_GIT_BRANCH}/*")
commit_docs("branch (html)")
endif()
if("singlehtml" IN_LIST HPX_WITH_DOCUMENTATION_OUTPUT_FORMATS)
file(
COPY "${DOCS_SOURCE}/singlehtml"
DESTINATION "${DOCS_BRANCH_DEST}"
PATTERN "*.buildinfo" EXCLUDE
)
add_docs("branches/${HPX_WITH_GIT_BRANCH}/*")
commit_docs("branch (singlehtml)")
endif()
if("latexpdf" IN_LIST HPX_WITH_DOCUMENTATION_OUTPUT_FORMATS)
if(EXISTS "${DOCS_SOURCE}/latexpdf/latex/HPX.pdf")
file(COPY "${DOCS_SOURCE}/latexpdf/latex/HPX.pdf"
DESTINATION "${DOCS_BRANCH_DEST}/pdf/"
)
add_docs("branches/${HPX_WITH_GIT_BRANCH}/*")
commit_docs("branch (latexpdf)")
endif()
endif()

# special handling of dependency report files
if(EXISTS "${DOCS_SOURCE}/report")
file(COPY "${DOCS_SOURCE}/report" DESTINATION "${DOCS_BRANCH_DEST}")
add_docs("branches/${HPX_WITH_GIT_BRANCH}/*")
commit_docs("branch (depreport)")
endif()
endif()

Expand All @@ -103,32 +165,40 @@ if(HPX_WITH_GIT_TAG)
DESTINATION "${DOCS_TAG_DEST}"
PATTERN "*.buildinfo" EXCLUDE
)
add_docs("tags/${HPX_WITH_GIT_TAG}/*")
commit_docs("tag (html)")
endif()
if("singlehtml" IN_LIST HPX_WITH_DOCUMENTATION_OUTPUT_FORMATS)
file(
COPY "${DOCS_SOURCE}/singlehtml"
DESTINATION "${DOCS_TAG_DEST}"
PATTERN "*.buildinfo" EXCLUDE
)
add_docs("tags/${HPX_WITH_GIT_TAG}/*")
commit_docs("tag (singlehtml)")
endif()
if("latexpdf" IN_LIST HPX_WITH_DOCUMENTATION_OUTPUT_FORMATS)
file(
COPY "${DOCS_SOURCE}/latexpdf/latex/HPX.pdf"
DESTINATION "${DOCS_TAG_DEST}/pdf/"
PATTERN "*.buildinfo" EXCLUDE
)
add_docs("tags/${HPX_WITH_GIT_TAG}/*")
commit_docs("tag (latexpdf)")
endif()

# special handling of dependency report files
if(EXISTS "${DOCS_SOURCE}/report")
file(COPY "${DOCS_SOURCE}/report" DESTINATION "${DOCS_TAG_DEST}")
add_docs("tags/${HPX_WITH_GIT_TAG}/*")
commit_docs("tag (depreport)")
endif()

# If a tag name has been set and it is a suitable version number, we also copy
# files to the "latest" directory. The regex only matches full version numbers
# with three numerical components (X.Y.Z). It does not match release
# candidates or other non-version tag names.
if("${HPX_WITH_GIT_TAG}" MATCHES "v^[0-9]+\\.[0-9]+\\.[0-9]+$")
if("${HPX_WITH_GIT_TAG}" MATCHES "^v[0-9]+\\.[0-9]+\\.[0-9]+$")
message("Updating latest directory")
set(DOCS_LATEST_DEST "${HPX_BINARY_DIR}/docs/gh-pages/latest")
file(REMOVE_RECURSE "${DOCS_LATEST_DEST}")
Expand All @@ -138,75 +208,33 @@ if(HPX_WITH_GIT_TAG)
DESTINATION "${DOCS_LATEST_DEST}"
PATTERN "*.buildinfo" EXCLUDE
)
add_docs("latest/*")
commit_docs("latest (html)")
endif()
if("singlehtml" IN_LIST HPX_WITH_DOCUMENTATION_OUTPUT_FORMATS)
file(
COPY "${DOCS_SOURCE}/singlehtml"
DESTINATION "${DOCS_LATEST_DEST}"
PATTERN "*.buildinfo" EXCLUDE
)
add_docs("latest/*")
commit_docs("latest (singlehtml)")
endif()
if("latexpdf" IN_LIST HPX_WITH_DOCUMENTATION_OUTPUT_FORMATS)
file(
COPY "${DOCS_SOURCE}/latexpdf/latex/HPX.pdf"
DESTINATION "${DOCS_LATEST_DEST}/pdf/"
PATTERN "*.buildinfo" EXCLUDE
)
add_docs("latest/*")
commit_docs("latest (latexpdf)")
endif()

# special handling of dependency report files
if(EXISTS "${DOCS_SOURCE}/report")
file(COPY "${DOCS_SOURCE}/report" DESTINATION "${DOCS_LATEST_DEST}")
add_docs("latest/*")
commit_docs("latest (depreport)")
endif()
endif()
endif()

# add all newly generated files
execute_process(
COMMAND "${GIT_EXECUTABLE}" add *
WORKING_DIRECTORY "${HPX_BINARY_DIR}/docs/gh-pages"
RESULT_VARIABLE git_add_result
ERROR_VARIABLE git_pull_result_message COMMAND_ECHO STDERR
)
if(NOT "${git_add_result}" EQUAL "0")
message(
FATAL_ERROR
"Adding files to the GitHub pages branch failed: ${git_pull_result_message}."
)
endif()

# check if there are changes to commit
execute_process(
COMMAND "${GIT_EXECUTABLE}" diff-index --quiet HEAD
WORKING_DIRECTORY "${HPX_BINARY_DIR}/docs/gh-pages"
RESULT_VARIABLE git_diff_index_result COMMAND_ECHO STDERR
)
if(NOT "${git_diff_index_result}" EQUAL "0")
# commit changes
execute_process(
COMMAND "${GIT_EXECUTABLE}" commit -am "Updating Sphinx docs"
WORKING_DIRECTORY "${HPX_BINARY_DIR}/docs/gh-pages"
RESULT_VARIABLE git_commit_result
ERROR_VARIABLE git_pull_result_message COMMAND_ECHO STDERR
)
if(NOT "${git_commit_result}" EQUAL "0")
message(
FATAL_ERROR
"Committing to the GitHub pages branch failed: ${git_pull_result_message}."
)
endif()

# push everything up to github
execute_process(
COMMAND "${GIT_EXECUTABLE}" push
WORKING_DIRECTORY "${HPX_BINARY_DIR}/docs/gh-pages"
RESULT_VARIABLE git_push_result
ERROR_VARIABLE git_pull_result_message COMMAND_ECHO STDERR
)
if(NOT "${git_push_result}" EQUAL "0")
message(
FATAL_ERROR
"Pushing to the GitHub pages branch failed: ${git_pull_result_message}."
)
endif()
endif()
Loading

0 comments on commit 248d740

Please sign in to comment.