From 14af17f406ccc85c966faa6f9c1cee79d97cf5f5 Mon Sep 17 00:00:00 2001 From: Jacob Domagala Date: Wed, 19 Jun 2024 16:21:44 +0200 Subject: [PATCH 1/8] #350: Add deprecated_option CMake function that warns the user about deprecated options --- CMakeLists.txt | 53 ++++++++++++++++++++++++-------------------- ci/build_cpp.sh | 1 - tests/CMakeLists.txt | 8 +++---- 3 files changed, 33 insertions(+), 29 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 69b16ce0..c3b98cd7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.23) -project(checkpoint VERSION 1.4.0) +project(magistrate VERSION 1.4.0) include(cmake/turn_on_warnings.cmake) @@ -14,25 +14,32 @@ endif() include (CTest) enable_testing() -option(checkpoint_tests_enabled "Enable checkpoint tests" OFF) -option(checkpoint_mpi_enabled "Enable checkpoint tests with MPI" OFF) -option(checkpoint_examples_enabled "Enable checkpoint examples" OFF) -option(checkpoint_warnings_as_errors "Enable warnings to generate errors" OFF) -option(checkpoint_asan_enabled "Enable address sanitizer in Checkpoint" OFF) -option( - checkpoint_ubsan_enabled - "Enable undefined behavior sanitizer in Checkpoint" OFF -) +function(deprecated_option old_option new_option description default_value) + option(${new_option} "${description}" ${default_value}) + if(DEFINED ${old_option}) + message(DEPRECATION "Warning: ${old_option} is deprecated and will be removed in a future version. Use ${new_option} instead.") + set(${new_option} "${${old_option}}" CACHE BOOL "${description}" FORCE) + endif() +endfunction() + +deprecated_option(checkpoint_tests_enabled magistrate_tests_enabled "Enable magistrate tests" OFF) +deprecated_option(checkpoint_mpi_enabled magistrate_mpi_enabled "Enable magistrate tests with MPI" OFF) +deprecated_option(checkpoint_examples_enabled magistrate_examples_enabled "Enable magistrate examples" OFF) +deprecated_option(checkpoint_warnings_as_errors magistrate_warnings_as_errors "Enable warnings to generate errors" OFF) +deprecated_option(checkpoint_asan_enabled magistrate_asan_enabled "Enable address sanitizer in magistrate" OFF) +deprecated_option(checkpoint_ubsan_enabled magistrate_ubsan_enabled "Enable undefined behavior sanitizer in magistrate" OFF) option(CODE_COVERAGE "Enable coverage reporting" OFF) if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug" OR "${CMAKE_BUILD_TYPE}" STREQUAL "RelWithDebInfo") - option(checkpoint_serialization_error_checking_enabled "Enable extensive serialization error checking" ON) + set(error_check ON) else() - option(checkpoint_serialization_error_checking_enabled "Enable extensive serialization error checking" OFF) + set(error_check OFF) endif() +deprecated_option(checkpoint_serialization_error_checking_enabled + magistrate_serialization_error_checking_enabled "Enable extensive serialization error checking" ${error_check}) -if(checkpoint_serialization_error_checking_enabled) +if(magistrate_serialization_error_checking_enabled) add_definitions(-DSERIALIZATION_ERROR_CHECKING) message(STATUS "Building with serialization error checking enabled") endif() @@ -46,30 +53,28 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR AND NOT DEFINED CMAKE_CXX_ endif() # MPI package -if(checkpoint_mpi_enabled) +if(magistrate_mpi_enabled) include(cmake/load_mpi_package.cmake) set( - CHECK_POINT_MPI_PROC 2 CACHE STRING + MAGISTRATE_MPI_PROC 2 CACHE STRING "Set number of proc used by MPI for the tests. 2 is the default." ) endif() -message (STATUS "Checkpoint build tests: ${checkpoint_tests_enabled}") -message (STATUS "Checkpoint build examples: ${checkpoint_examples_enabled}") +message (STATUS "Magistrate build tests: ${magistrate_tests_enabled}") +message (STATUS "Magistrate build examples: ${magistrate_examples_enabled}") include(cmake/load_package.cmake) -option( - checkpoint_doxygen_enabled "Build doxygen documentation for checkpoint" OFF -) +deprecated_option(checkpoint_doxygen_enabled magistrate_doxygen_enabled "Build doxygen documentation for checkpoint" OFF) # Doxygen library -if (${checkpoint_doxygen_enabled}) +if (${magistrate_doxygen_enabled}) include(cmake/load_doxygen.cmake) endif() # Optionally enable address sanitizer library in build -if (checkpoint_asan_enabled) +if (magistrate_asan_enabled) if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" @@ -84,7 +89,7 @@ if (checkpoint_asan_enabled) endif() endif() -if (checkpoint_ubsan_enabled) +if (magistrate_ubsan_enabled) if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" @@ -142,7 +147,7 @@ else() endif() # If checkpoint build tests require the GTest package -if (${checkpoint_tests_enabled}) +if (${magistrate_tests_enabled}) if(NOT hasParent) find_package(GTest REQUIRED) set(CHECKPOINT_HAS_GTEST TRUE) diff --git a/ci/build_cpp.sh b/ci/build_cpp.sh index e97c2644..3f92c9ba 100755 --- a/ci/build_cpp.sh +++ b/ci/build_cpp.sh @@ -41,7 +41,6 @@ cmake -G "${CMAKE_GENERATOR:-Ninja}" \ -Dcheckpoint_asan_enabled="${CHECKPOINT_ASAN_ENABLED:-0}" \ -Dcheckpoint_ubsan_enabled="${CHECKPOINT_UBSAN_ENABLED:-0}" \ -Dcheckpoint_serialization_error_checking_enabled="${CHECKPOINT_SERIALIZATION_ERROR_CHECKING_ENABLED:-$is_debug}" \ - -DCMAKE_EXPORT_COMPILE_COMMANDS=1 \ -DCMAKE_BUILD_TYPE="${cmake_build_type}" \ -DCMAKE_CXX_COMPILER="${CXX:-c++}" \ -DCMAKE_C_COMPILER="${CC:-cc}" \ diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index e93c3f60..0a0da1de 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -2,7 +2,7 @@ set(PROJECT_TEST_UNIT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/unit) set(PROJECT_TEST_MPI_UNIT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/unit/tests_mpi) -if(checkpoint_mpi_enabled) +if(magistrate_mpi_enabled) message(STATUS "Building unit tests with MPI") file( GLOB @@ -38,7 +38,7 @@ macro(checkpoint_link_target target has_mpi) endif() endmacro() -if (checkpoint_tests_enabled) +if (magistrate_tests_enabled) if (NOT CHECKPOINT_HAS_GTEST) message( STATUS @@ -61,7 +61,7 @@ if (checkpoint_tests_enabled) #System's threading library info (eg pthread) find_package(Threads REQUIRED) - if(checkpoint_mpi_enabled) + if(magistrate_mpi_enabled) set( TEST_HEADER_FILES ${TEST_HEADER_FILES} ${PROJECT_TEST_MPI_UNIT_DIR}/mpi-init.h @@ -120,7 +120,7 @@ if (checkpoint_tests_enabled) set( CHECKPOINT_TEST_PARAM_MPI ${MPI_NUMPROC_FLAG} - ${CHECK_POINT_MPI_PROC} "${CMAKE_CURRENT_BINARY_DIR}/${TEST}" + ${MAGISTRATE_MPI_PROC} "${CMAKE_CURRENT_BINARY_DIR}/${TEST}" ) add_test( NAME checkpoint:${TEST} From 35e229e50ed669824190ed3884c16da98b42314c Mon Sep 17 00:00:00 2001 From: Jacob Domagala Date: Thu, 20 Jun 2024 13:55:06 +0200 Subject: [PATCH 2/8] #350: Update CMake variables for examples and tests --- CMakeLists.txt | 2 +- examples/CMakeLists.txt | 10 +++++----- src/CMakeLists.txt | 2 +- tests/CMakeLists.txt | 28 ++++++++++++++-------------- 4 files changed, 21 insertions(+), 21 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c3b98cd7..e1a2aeaf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -105,7 +105,7 @@ if (magistrate_ubsan_enabled) endif() set(CHECKPOINT_LIBRARY checkpoint CACHE INTERNAL "" FORCE ) -set(CHECKPOINT_LIBRARY_NS vt::lib::checkpoint "" CACHE INTERNAL "" FORCE ) +set(MAGISTRATE_LIBRARY_NS vt::lib::checkpoint "" CACHE INTERNAL "" FORCE ) set(CMAKE_CXX_EXTENSIONS OFF) diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 84e0b9a9..9a09da46 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -1,5 +1,5 @@ -macro(add_test_for_example_checkpoint test_name test_exec) +macro(add_test_for_example_magistrate test_name test_exec) add_test( ${test_name} ${test_exec} ${ARGN} ) @@ -18,7 +18,7 @@ file( "${PROJECT_EXAMPLE_DIR}/*.cc" ) -if (checkpoint_examples_enabled) +if (magistrate_examples_enabled) foreach(EXAMPLE_FULL ${PROJECT_EXAMPLES}) GET_FILENAME_COMPONENT( EXAMPLE @@ -32,15 +32,15 @@ if (checkpoint_examples_enabled) ) target_include_directories(${EXAMPLE} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../src) - add_test_for_example_checkpoint( - checkpoint:${EXAMPLE} + add_test_for_example_magistrate( + magistrate:${EXAMPLE} ${CMAKE_CURRENT_BINARY_DIR}/${EXAMPLE} ) target_link_libraries( ${EXAMPLE} PUBLIC - ${CHECKPOINT_LIBRARY_NS} + ${MAGISTRATE_LIBRARY_NS} ) endforeach() diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a6052487..3dafc91d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -71,7 +71,7 @@ add_library( ${HEADER_FILES} ${SOURCE_FILES} ) -add_library(${CHECKPOINT_LIBRARY_NS} ALIAS ${CHECKPOINT_LIBRARY}) +add_library(${MAGISTRATE_LIBRARY_NS} ALIAS ${CHECKPOINT_LIBRARY}) target_compile_features(${CHECKPOINT_LIBRARY} PUBLIC cxx_std_17) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 0a0da1de..77f02963 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -22,10 +22,10 @@ file( ) # -# Setup a potential target (a test, example, etc. that uses checkpoint) will all +# Setup a potential target (a test, example, etc. that uses magistrate) will all # the libraries to link, include directories, definitions # -macro(checkpoint_link_target target has_mpi) +macro(magistrate_link_target target has_mpi) target_include_directories(${target} PUBLIC ${PROJECT_TEST_UNIT_DIR}) target_link_libraries(${target} PRIVATE GTest::gtest GTest::gtest_main) target_link_libraries(${target} PRIVATE Threads::Threads) @@ -39,16 +39,16 @@ macro(checkpoint_link_target target has_mpi) endmacro() if (magistrate_tests_enabled) - if (NOT CHECKPOINT_HAS_GTEST) + if (NOT MAGISTRATE_HAS_GTEST) message( STATUS - "Checkpoint: Unit test are disabled because GoogleTest is not setup:" + "Magistrate: Unit test are disabled because GoogleTest is not setup:" "gtest_DIR=${gtest_DIR}" ) else() message( STATUS - "Checkpoint: GTEST package is found: unit tests are enabled " + "Magistrate: GTEST package is found: unit tests are enabled " "gtest_DIR=${gtest_DIR}, GTEST_ROOT=${GTEST_ROOT}" ) @@ -87,22 +87,22 @@ if (magistrate_tests_enabled) ${PROJECT_TEST_UNIT_DIR}/${TEST}.cc ) - checkpoint_link_target(${TEST} 0) + magistrate_link_target(${TEST} 0) add_test( - checkpoint:${TEST} + magistrate:${TEST} ${CMAKE_CURRENT_BINARY_DIR}/${TEST} ) set_tests_properties( - checkpoint:${TEST} + magistrate:${TEST} PROPERTIES TIMEOUT 60 FAIL_REGULAR_EXPRESSION "FAILED;should be deleted but never is" PASS_REGULAR_EXPRESSION "PASSED" ) endforeach() - if(checkpoint_mpi_enabled) + if(magistrate_mpi_enabled) foreach(TEST_FULL ${PROJECT_TEST_LIST_MPI}) GET_FILENAME_COMPONENT( TEST @@ -116,19 +116,19 @@ if (magistrate_tests_enabled) ${PROJECT_TEST_MPI_UNIT_DIR}/${TEST}.cc ) - checkpoint_link_target(${TEST} 1) + magistrate_link_target(${TEST} 1) set( - CHECKPOINT_TEST_PARAM_MPI ${MPI_NUMPROC_FLAG} + MAGISTRATE_TEST_PARAM_MPI ${MPI_NUMPROC_FLAG} ${MAGISTRATE_MPI_PROC} "${CMAKE_CURRENT_BINARY_DIR}/${TEST}" ) add_test( - NAME checkpoint:${TEST} - COMMAND ${MPI_RUN_COMMAND} ${CHECKPOINT_TEST_PARAM_MPI} + NAME magistrate:${TEST} + COMMAND ${MPI_RUN_COMMAND} ${MAGISTRATE_TEST_PARAM_MPI} ) set_tests_properties( - checkpoint:${TEST} + magistrate:${TEST} PROPERTIES TIMEOUT 60 FAIL_REGULAR_EXPRESSION "FAILED;should be deleted but never is" PASS_REGULAR_EXPRESSION "PASSED" From a21f72ab1842cdd507b58ce77921e4e025e9d944 Mon Sep 17 00:00:00 2001 From: Jacob Domagala Date: Thu, 20 Jun 2024 15:14:51 +0200 Subject: [PATCH 3/8] #350: Remove CMake message for old compiler we no longer support --- CMakeLists.txt | 36 +++++++++++------------------------- 1 file changed, 11 insertions(+), 25 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e1a2aeaf..54c36d9a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -66,7 +66,7 @@ message (STATUS "Magistrate build examples: ${magistrate_examples_enabled}") include(cmake/load_package.cmake) -deprecated_option(checkpoint_doxygen_enabled magistrate_doxygen_enabled "Build doxygen documentation for checkpoint" OFF) +deprecated_option(checkpoint_doxygen_enabled magistrate_doxygen_enabled "Build doxygen documentation for magistrate" OFF) # Doxygen library if (${magistrate_doxygen_enabled}) @@ -75,33 +75,19 @@ endif() # Optionally enable address sanitizer library in build if (magistrate_asan_enabled) - if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR - CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR - (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" - AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "4.8")) - set( - CMAKE_CXX_FLAGS - "${CMAKE_CXX_FLAGS} -fsanitize=address" - ) - message(STATUS "Building with address sanitizer enabled") - else() - message(SEND_ERROR "Cannot use ASan without clang or gcc >= 4.8") - endif() + set( + CMAKE_CXX_FLAGS + "${CMAKE_CXX_FLAGS} -fsanitize=address" + ) + message(STATUS "Building with address sanitizer enabled") endif() if (magistrate_ubsan_enabled) - if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR - CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR - (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" - AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "4.8")) - set( - CMAKE_CXX_FLAGS - "${CMAKE_CXX_FLAGS} -fsanitize=undefined" - ) - message(STATUS "Building with undefined behavior sanitizer enabled") - else() - message(SEND_ERROR "Cannot use UBSan without clang or gcc >= 4.8") - endif() + set( + CMAKE_CXX_FLAGS + "${CMAKE_CXX_FLAGS} -fsanitize=undefined" + ) + message(STATUS "Building with undefined behavior sanitizer enabled") endif() set(CHECKPOINT_LIBRARY checkpoint CACHE INTERNAL "" FORCE ) From b7141c6fc0bea541dd93a9f6502790cfff903e4f Mon Sep 17 00:00:00 2001 From: Jacob Domagala Date: Thu, 20 Jun 2024 16:04:48 +0200 Subject: [PATCH 4/8] #350: Further changes to CMake files (checkpoint->magistrate) --- CMakeLists.txt | 60 +++++++++++++++++++-------------- cmake/checkpointConfig.cmake.in | 2 +- src/CMakeLists.txt | 55 ++++++++++++++---------------- tests/CMakeLists.txt | 2 +- 4 files changed, 63 insertions(+), 56 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 54c36d9a..7991c901 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -74,24 +74,34 @@ if (${magistrate_doxygen_enabled}) endif() # Optionally enable address sanitizer library in build +list(APPEND asan_ubsan_supported_compilers "AppleClang" "Clang" "GNU") + if (magistrate_asan_enabled) - set( - CMAKE_CXX_FLAGS - "${CMAKE_CXX_FLAGS} -fsanitize=address" - ) - message(STATUS "Building with address sanitizer enabled") + if(CMAKE_CXX_COMPILER_ID IN_LIST asan_ubsan_supported_compilers) + set( + CMAKE_CXX_FLAGS + "${CMAKE_CXX_FLAGS} -fsanitize=address" + ) + message(STATUS "Building with address sanitizer enabled") + else() + message(SEND_ERROR "Cannot use ASan without clang or gcc") + endif() endif() if (magistrate_ubsan_enabled) - set( - CMAKE_CXX_FLAGS - "${CMAKE_CXX_FLAGS} -fsanitize=undefined" - ) - message(STATUS "Building with undefined behavior sanitizer enabled") + if(CMAKE_CXX_COMPILER_ID IN_LIST asan_ubsan_supported_compilers) + set( + CMAKE_CXX_FLAGS + "${CMAKE_CXX_FLAGS} -fsanitize=undefined" + ) + message(STATUS "Building with undefined behavior sanitizer enabled") + else() + message(SEND_ERROR "Cannot use UBSan without clang or gcc") + endif() endif() -set(CHECKPOINT_LIBRARY checkpoint CACHE INTERNAL "" FORCE ) -set(MAGISTRATE_LIBRARY_NS vt::lib::checkpoint "" CACHE INTERNAL "" FORCE ) +set(MAGISTRATE_LIBRARY checkpoint CACHE INTERNAL "" FORCE ) +set(MAGISTRATE_LIBRARY_NS vt::lib::magistrate "" CACHE INTERNAL "" FORCE ) set(CMAKE_CXX_EXTENSIONS OFF) @@ -105,9 +115,9 @@ if (NOT kokkos_DISABLE) if (${Kokkos_DIR_FOUND}) find_package_local(Kokkos) # Used to properly setup transitive dependency in checkpointConfig.cmake.in - set(CHECKPOINT_HAS_KOKKOS_LIBRARY 1) + set(MAGISTRATE_HAS_KOKKOS_LIBRARY 1) else() - set(CHECKPOINT_HAS_KOKKOS_LIBRARY 0) + set(MAGISTRATE_HAS_KOKKOS_LIBRARY 0) endif() endif() @@ -118,34 +128,34 @@ if (NOT kokkos_kernels_DISABLE) if (${KokkosKernels_DIR_FOUND}) find_package_local(KokkosKernels) # Used to properly setup transitive dependency in checkpointConfig.cmake.in - set(CHECKPOINT_HAS_KOKKOS_KERNELS_LIBRARY 1) + set(MAGISTRATE_HAS_KOKKOS_KERNELS_LIBRARY 1) else() - set(CHECKPOINT_HAS_KOKKOS_KERNELS_LIBRARY 0) + set(MAGISTRATE_HAS_KOKKOS_KERNELS_LIBRARY 0) endif() endif() get_directory_property(hasParent PARENT_DIRECTORY) if(hasParent) - message(STATUS "Checkpoint: building as a sub-directory") + message(STATUS "Magistrate: building as a sub-directory") else() - message(STATUS "Checkpoint: building as top-level") + message(STATUS "Magistrate: building as top-level") endif() -# If checkpoint build tests require the GTest package +# If magistrate build tests require the GTest package if (${magistrate_tests_enabled}) if(NOT hasParent) find_package(GTest REQUIRED) - set(CHECKPOINT_HAS_GTEST TRUE) + set(MAGISTRATE_HAS_GTEST TRUE) else() if (NOT DISABLE_TPL_GTEST) - set(CHECKPOINT_HAS_GTEST TRUE) + set(MAGISTRATE_HAS_GTEST TRUE) else() - set(CHECKPOINT_HAS_GTEST FALSE) + set(MAGISTRATE_HAS_GTEST FALSE) endif() endif() else() - set(CHECKPOINT_HAS_GTEST FALSE) + set(MAGISTRATE_HAS_GTEST FALSE) endif() set(PROJECT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src) @@ -157,10 +167,10 @@ enable_testing() add_subdirectory(src) -add_custom_target(checkpoint_examples) +add_custom_target(magistrate_examples) add_subdirectory(examples) -add_custom_target(checkpoint_tests) +add_custom_target(magistrate_tests) add_subdirectory(tests) configure_file( diff --git a/cmake/checkpointConfig.cmake.in b/cmake/checkpointConfig.cmake.in index c8115130..fac2f9d0 100644 --- a/cmake/checkpointConfig.cmake.in +++ b/cmake/checkpointConfig.cmake.in @@ -5,7 +5,7 @@ include(${SELF_DIR}/checkpointTargets.cmake) include(CMakeFindDependencyMacro) -if (@CHECKPOINT_HAS_KOKKOS_LIBRARY@) +if (@MAGISTRATE_HAS_KOKKOS_LIBRARY@) set (Kokkos_DIR @Kokkos_DIR@) set (Kokkos_ROOT @Kokkos_ROOT@) find_dependency(kokkos REQUIRED HINTS @Kokkos_DIR@ @Kokkos_ROOT@ NAMES Kokkos) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 3dafc91d..70758390 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -3,13 +3,13 @@ set( traits container serializers traits buffer dispatch ) -set(CHECKPOINT_INSTALL_DESTINATION "include/checkpoint") -set(CHECKPOINT_EXTERNAL_DESTINATION "include") +set(MAGISTRATE_INSTALL_DESTINATION "include/checkpoint") +set(MAGISTRATE_EXTERNAL_DESTINATION "include") foreach(DIR ${TOP_LEVEL_SUBDIRS}) install( DIRECTORY "checkpoint/${DIR}" - DESTINATION ${CHECKPOINT_INSTALL_DESTINATION} + DESTINATION ${MAGISTRATE_INSTALL_DESTINATION} FILES_MATCHING PATTERN "*.h" ) endforeach() @@ -18,7 +18,7 @@ file(GLOB TOP_HEADERS "checkpoint/*.h") install( FILES ${TOP_HEADERS} - DESTINATION ${CHECKPOINT_INSTALL_DESTINATION} + DESTINATION ${MAGISTRATE_INSTALL_DESTINATION} ) file( @@ -67,57 +67,54 @@ foreach(SUB_DIR ${TOP_LEVEL_SUBDIRS}) endforeach() add_library( - ${CHECKPOINT_LIBRARY} + ${MAGISTRATE_LIBRARY} ${HEADER_FILES} ${SOURCE_FILES} ) -add_library(${MAGISTRATE_LIBRARY_NS} ALIAS ${CHECKPOINT_LIBRARY}) +add_library(${MAGISTRATE_LIBRARY_NS} ALIAS ${MAGISTRATE_LIBRARY}) -target_compile_features(${CHECKPOINT_LIBRARY} PUBLIC cxx_std_17) +target_compile_features(${MAGISTRATE_LIBRARY} PUBLIC cxx_std_17) include(CMakePrintHelpers) if (${Kokkos_DIR_FOUND}) if (${KokkosKernels_DIR_FOUND}) - message(STATUS "Checkpoint: Kokkos kernels enabled") + message(STATUS "Magistrate: Kokkos kernels enabled") set(KERNELS 1) # Kokkos Kernels historically installed its EXPORT targets in the Kokkos:: namespace, and several # downstream packages import it as such, so it's not readily changed. # Meanwhile, Trilinos installs it under the more consistent KokkosKernels:: namespace. # Account for both possible routes of acquiring Kokkos Kernels here if(TARGET KokkosKernels::kokkoskernels) - target_link_libraries(${CHECKPOINT_LIBRARY} PUBLIC KokkosKernels::kokkoskernels) + target_link_libraries(${MAGISTRATE_LIBRARY} PUBLIC KokkosKernels::kokkoskernels) else() - target_link_libraries(${CHECKPOINT_LIBRARY} PUBLIC Kokkos::kokkoskernels) + target_link_libraries(${MAGISTRATE_LIBRARY} PUBLIC Kokkos::kokkoskernels) endif() else() - message(STATUS "Checkpoint: Kokkos kernels disabled") + message(STATUS "Magistrate: Kokkos kernels disabled") set(KERNELS 0) endif() target_compile_definitions( - ${CHECKPOINT_LIBRARY} PUBLIC + ${MAGISTRATE_LIBRARY} PUBLIC MAGISTRATE_KOKKOS_ENABLED=1 MAGISTRATE_KOKKOS_KERNELS_ENABLED=${KERNELS} ) - message(STATUS "Checkpoint: Kokkos enabled") - target_link_libraries(${CHECKPOINT_LIBRARY} PUBLIC Kokkos::kokkos) + message(STATUS "Magistrate: Kokkos enabled") + target_link_libraries(${MAGISTRATE_LIBRARY} PUBLIC Kokkos::kokkos) endif() -target_link_libraries(${CHECKPOINT_LIBRARY} PUBLIC ${CMAKE_THREAD_LIBS_INIT}) +target_link_libraries(${MAGISTRATE_LIBRARY} PUBLIC ${CMAKE_THREAD_LIBS_INIT}) if(CODE_COVERAGE AND CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") - message(STATUS "Checkpoint: enabling code coverage generation") + message(STATUS "Magistrate: enabling code coverage generation") # Add required flags (GCC & LLVM/Clang) target_compile_options( - ${CHECKPOINT_LIBRARY} PUBLIC + ${MAGISTRATE_LIBRARY} PUBLIC -O0 # no optimization -g # generate debug info --coverage # sets all required flags ) - if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.13) - target_link_options(${CHECKPOINT_LIBRARY} INTERFACE --coverage) - else() - target_link_libraries(${CHECKPOINT_LIBRARY} INTERFACE --coverage) - endif() + + target_link_options(${MAGISTRATE_LIBRARY} INTERFACE --coverage) endif() configure_file( @@ -131,28 +128,28 @@ install( ) target_include_directories( - ${CHECKPOINT_LIBRARY} PUBLIC + ${MAGISTRATE_LIBRARY} PUBLIC $ $ ) target_include_directories( - ${CHECKPOINT_LIBRARY} PUBLIC + ${MAGISTRATE_LIBRARY} PUBLIC $ $ ) install( - TARGETS ${CHECKPOINT_LIBRARY} - EXPORT ${CHECKPOINT_LIBRARY} + TARGETS ${MAGISTRATE_LIBRARY} + EXPORT ${MAGISTRATE_LIBRARY} LIBRARY DESTINATION lib ARCHIVE DESTINATION lib RUNTIME DESTINATION bin - INCLUDES DESTINATION ${CHECKPOINT_EXTERNAL_DESTINATION} + INCLUDES DESTINATION ${MAGISTRATE_EXTERNAL_DESTINATION} ) install( - EXPORT ${CHECKPOINT_LIBRARY} + EXPORT ${MAGISTRATE_LIBRARY} DESTINATION cmake FILE "checkpointTargets.cmake" NAMESPACE vt::lib:: @@ -160,7 +157,7 @@ install( ) export( - TARGETS ${CHECKPOINT_LIBRARY} + TARGETS ${MAGISTRATE_LIBRARY} FILE "checkpointTargets.cmake" NAMESPACE vt::lib:: ) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 77f02963..0c53ef3a 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -29,7 +29,7 @@ macro(magistrate_link_target target has_mpi) target_include_directories(${target} PUBLIC ${PROJECT_TEST_UNIT_DIR}) target_link_libraries(${target} PRIVATE GTest::gtest GTest::gtest_main) target_link_libraries(${target} PRIVATE Threads::Threads) - target_link_libraries(${target} PUBLIC ${CHECKPOINT_LIBRARY}) + target_link_libraries(${target} PUBLIC ${MAGISTRATE_LIBRARY}) if (${has_mpi}) target_link_libraries(${target} PUBLIC ${MPI_LIBRARIES}) From 615e90bb6f6ea4095cc9e9cb914740b464d19c2d Mon Sep 17 00:00:00 2001 From: Jacob Domagala Date: Thu, 20 Jun 2024 16:59:03 +0200 Subject: [PATCH 5/8] #350: Rename checkpointTargets.cmake to magistrateTargets.cmake --- cmake/checkpointConfig.cmake.in | 2 +- src/CMakeLists.txt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cmake/checkpointConfig.cmake.in b/cmake/checkpointConfig.cmake.in index fac2f9d0..29dada6d 100644 --- a/cmake/checkpointConfig.cmake.in +++ b/cmake/checkpointConfig.cmake.in @@ -1,7 +1,7 @@ # Get compiler and flags get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) -include(${SELF_DIR}/checkpointTargets.cmake) +include(${SELF_DIR}/magistrateTargets.cmake) include(CMakeFindDependencyMacro) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 70758390..036e7806 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -151,13 +151,13 @@ install( install( EXPORT ${MAGISTRATE_LIBRARY} DESTINATION cmake - FILE "checkpointTargets.cmake" + FILE "magistrateTargets.cmake" NAMESPACE vt::lib:: COMPONENT runtime ) export( TARGETS ${MAGISTRATE_LIBRARY} - FILE "checkpointTargets.cmake" + FILE "magistrateTargets.cmake" NAMESPACE vt::lib:: ) From 7f6e570c94ab4674681ffb506f448f7336cf815c Mon Sep 17 00:00:00 2001 From: Jacob Domagala Date: Mon, 24 Jun 2024 20:31:43 +0200 Subject: [PATCH 6/8] #350: Try exporting both checkpoint/magistrate targets --- CMakeLists.txt | 11 +++++++++++ cmake/magistrateConfig.cmake.in | 19 +++++++++++++++++++ src/CMakeLists.txt | 2 +- 3 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 cmake/magistrateConfig.cmake.in diff --git a/CMakeLists.txt b/CMakeLists.txt index 7991c901..4e009ffb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -184,4 +184,15 @@ install( COMPONENT extCfg ) +configure_file( + cmake/magistrateConfig.cmake.in + "${PROJECT_BINARY_DIR}/magistrateConfig.cmake" @ONLY +) + +install( + FILES "${PROJECT_BINARY_DIR}/magistrateConfig.cmake" + DESTINATION cmake + COMPONENT extCfg +) + include_directories(${CMAKE_CURRENT_BINARY_DIR}) diff --git a/cmake/magistrateConfig.cmake.in b/cmake/magistrateConfig.cmake.in new file mode 100644 index 00000000..2a6ac043 --- /dev/null +++ b/cmake/magistrateConfig.cmake.in @@ -0,0 +1,19 @@ +# Get compiler and flags +get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) + +include(${SELF_DIR}/magistrateTargets.cmake) + +add_library(vt::lib::magistrate ALIAS vt::lib::checkpoint) +# set(vt::lib::magistrate vt::lib::checkpoint) + +include(CMakeFindDependencyMacro) + +if (@MAGISTRATE_HAS_KOKKOS_LIBRARY@) + set (kokkos_DIR @kokkos_DIR@) + find_dependency(kokkos REQUIRED HINTS @kokkos_DIR@ NAMES Kokkos) +endif() + +if (@MAGISTRATE_HAS_KOKKOS_KERNELS_LIBRARY@) + set (KokkosKernels_DIR @KokkosKernels_DIR@) + find_dependency(KokkosKernels REQUIRED HINTS @KokkosKernels_DIR@ NAMES KokkosKernels) +endif() diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 036e7806..4d7f4ec4 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -70,7 +70,7 @@ add_library( ${MAGISTRATE_LIBRARY} ${HEADER_FILES} ${SOURCE_FILES} ) - +set_property(TARGET ${MAGISTRATE_LIBRARY} PROPERTY EXPORT_NAME checkpoint) add_library(${MAGISTRATE_LIBRARY_NS} ALIAS ${MAGISTRATE_LIBRARY}) target_compile_features(${MAGISTRATE_LIBRARY} PUBLIC cxx_std_17) From a3e095c4374ea8c960d215c27af8ca5eea0fa00c Mon Sep 17 00:00:00 2001 From: Jacob Domagala Date: Wed, 26 Jun 2024 13:13:19 +0200 Subject: [PATCH 7/8] #350: Guard tests and examples with corresponding option checks --- CMakeLists.txt | 24 ++++++++++++++---------- examples/CMakeLists.txt | 1 + tests/CMakeLists.txt | 1 + 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4e009ffb..ae6680c3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,9 +11,6 @@ elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") add_compile_options(-fcolor-diagnostics) endif() -include (CTest) -enable_testing() - function(deprecated_option old_option new_option description default_value) option(${new_option} "${description}" ${default_value}) if(DEFINED ${old_option}) @@ -162,16 +159,23 @@ set(PROJECT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src) set(PROJECT_EXAMPLE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/examples) set(PROJECT_TEST_DIR ${CMAKE_CURRENT_SOURCE_DIR}/tests) -include (CTest) -enable_testing() - add_subdirectory(src) -add_custom_target(magistrate_examples) -add_subdirectory(examples) +if (magistrate_tests_enabled + AND "${CMAKE_PROJECT_NAME}" STREQUAL "${PROJECT_NAME}") + # CTest implies enable_testing() and defines the BUILD_TESTING option. + # The default of BUILD_TESTING is ON. + # Testing is only enabled if the actual project being built is VT. + include(CTest) -add_custom_target(magistrate_tests) -add_subdirectory(tests) + add_custom_target(magistrate_tests) + add_subdirectory(tests) +endif() + +if(magistrate_examples_enabled) + add_custom_target(magistrate_examples) + add_subdirectory(examples) +endif() configure_file( cmake/checkpointConfig.cmake.in diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 9a09da46..80072500 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -30,6 +30,7 @@ if (magistrate_examples_enabled) ${EXAMPLE} ${PROJECT_EXAMPLE_DIR}/${EXAMPLE}.cc ) + add_dependencies(magistrate_examples ${EXAMPLE}) target_include_directories(${EXAMPLE} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../src) add_test_for_example_magistrate( diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 0c53ef3a..107653ef 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -87,6 +87,7 @@ if (magistrate_tests_enabled) ${PROJECT_TEST_UNIT_DIR}/${TEST}.cc ) + add_dependencies(magistrate_tests ${TEST}) magistrate_link_target(${TEST} 0) add_test( From 2c9ed35f63edab42cec98f98bd867be559720f99 Mon Sep 17 00:00:00 2001 From: Jacob Domagala Date: Wed, 3 Jul 2024 23:47:09 +0200 Subject: [PATCH 8/8] #350: Change env variables used for CI to use magistrate instead of checkpoint --- .../dockerimage-clang-10-ubuntu-mpich.yml | 16 ++++----- .../dockerimage-clang-11-ubuntu-mpich-vt.yml | 16 ++++----- .../dockerimage-clang-11-ubuntu-mpich.yml | 16 ++++----- .../dockerimage-clang-12-ubuntu-mpich.yml | 16 ++++----- .../dockerimage-clang-13-ubuntu-mpich.yml | 16 ++++----- .../dockerimage-clang-14-ubuntu-mpich.yml | 16 ++++----- .../dockerimage-clang-8-ubuntu-mpich.yml | 16 ++++----- .../dockerimage-clang-9-ubuntu-mpich.yml | 16 ++++----- .../dockerimage-gcc-10-ubuntu-mpich.yml | 16 ++++----- .../dockerimage-gcc-8-ubuntu-mpich.yml | 16 ++++----- .../dockerimage-gcc-9-ubuntu-mpich.yml | 16 ++++----- .../dockerimage-nvcc-11-ubuntu-mpich.yml | 16 ++++----- ci/build_against_vt.sh | 6 ++-- ci/build_cpp.sh | 20 +++++------ ci/docker/ubuntu-18.04-clang-cpp.dockerfile | 34 +++++++++---------- ci/docker/ubuntu-18.04-gnu-cpp.dockerfile | 34 +++++++++---------- ci/docker/ubuntu-18.04-intel-cpp.dockerfile | 34 +++++++++---------- ci/docker/ubuntu-20.04-gnu-docs.dockerfile | 4 +-- ci/docker/ubuntu-20.04-nvidia-cpp.dockerfile | 34 +++++++++---------- ci/docker/ubuntu-22.04-clang-cpp.dockerfile | 34 +++++++++---------- docker-compose.yml | 34 +++++++++---------- docs/md/checkpoint_learn_build.md | 34 +++++++++---------- scripts/workflow-template.yml | 16 ++++----- 23 files changed, 238 insertions(+), 238 deletions(-) diff --git a/.github/workflows/dockerimage-clang-10-ubuntu-mpich.yml b/.github/workflows/dockerimage-clang-10-ubuntu-mpich.yml index 05e4f190..a948b7b0 100644 --- a/.github/workflows/dockerimage-clang-10-ubuntu-mpich.yml +++ b/.github/workflows/dockerimage-clang-10-ubuntu-mpich.yml @@ -26,14 +26,14 @@ jobs: BUILD_TYPE: release ULIMIT_CORE: 0 CODE_COVERAGE: 0 - CHECKPOINT_TESTS: 1 - CHECKPOINT_EXAMPLES: 1 - CHECKPOINT_MPI: 1 - CHECKPOINT_WARNINGS_AS_ERRORS: 1 - CHECKPOINT_DOCS: 0 - CHECKPOINT_ASAN: 1 - CHECKPOINT_UBSAN: 0 - CHECKPOINT_SERIALIZATION_ERROR_CHECKING: 1 + MAGISTRATE_TESTS: 1 + MAGISTRATE_EXAMPLES: 1 + MAGISTRATE_MPI: 1 + MAGISTRATE_WARNINGS_AS_ERRORS: 1 + MAGISTRATE_DOCS: 0 + MAGISTRATE_ASAN: 1 + MAGISTRATE_UBSAN: 0 + MAGISTRATE_SERIALIZATION_ERROR_CHECKING: 1 CACHE: ~/.local/cache/ steps: diff --git a/.github/workflows/dockerimage-clang-11-ubuntu-mpich-vt.yml b/.github/workflows/dockerimage-clang-11-ubuntu-mpich-vt.yml index 0ba4d460..95470c9b 100644 --- a/.github/workflows/dockerimage-clang-11-ubuntu-mpich-vt.yml +++ b/.github/workflows/dockerimage-clang-11-ubuntu-mpich-vt.yml @@ -22,14 +22,14 @@ jobs: BUILD_TYPE: release ULIMIT_CORE: 0 CODE_COVERAGE: 0 - CHECKPOINT_TESTS: 1 - CHECKPOINT_EXAMPLES: 1 - CHECKPOINT_MPI: 1 - CHECKPOINT_WARNINGS_AS_ERRORS: 1 - CHECKPOINT_DOCS: 0 - CHECKPOINT_ASAN: 1 - CHECKPOINT_UBSAN: 1 - CHECKPOINT_SERIALIZATION_ERROR_CHECKING: 1 + MAGISTRATE_TESTS: 1 + MAGISTRATE_EXAMPLES: 1 + MAGISTRATE_MPI: 1 + MAGISTRATE_WARNINGS_AS_ERRORS: 1 + MAGISTRATE_DOCS: 0 + MAGISTRATE_ASAN: 1 + MAGISTRATE_UBSAN: 1 + MAGISTRATE_SERIALIZATION_ERROR_CHECKING: 1 CACHE: ~/.local/cache/ steps: diff --git a/.github/workflows/dockerimage-clang-11-ubuntu-mpich.yml b/.github/workflows/dockerimage-clang-11-ubuntu-mpich.yml index 4590120d..ac6e88b2 100644 --- a/.github/workflows/dockerimage-clang-11-ubuntu-mpich.yml +++ b/.github/workflows/dockerimage-clang-11-ubuntu-mpich.yml @@ -26,14 +26,14 @@ jobs: BUILD_TYPE: release ULIMIT_CORE: 0 CODE_COVERAGE: 0 - CHECKPOINT_TESTS: 1 - CHECKPOINT_EXAMPLES: 1 - CHECKPOINT_MPI: 1 - CHECKPOINT_WARNINGS_AS_ERRORS: 1 - CHECKPOINT_DOCS: 0 - CHECKPOINT_ASAN: 1 - CHECKPOINT_UBSAN: 0 - CHECKPOINT_SERIALIZATION_ERROR_CHECKING: 1 + MAGISTRATE_TESTS: 1 + MAGISTRATE_EXAMPLES: 1 + MAGISTRATE_MPI: 1 + MAGISTRATE_WARNINGS_AS_ERRORS: 1 + MAGISTRATE_DOCS: 0 + MAGISTRATE_ASAN: 1 + MAGISTRATE_UBSAN: 0 + MAGISTRATE_SERIALIZATION_ERROR_CHECKING: 1 CACHE: ~/.local/cache/ steps: diff --git a/.github/workflows/dockerimage-clang-12-ubuntu-mpich.yml b/.github/workflows/dockerimage-clang-12-ubuntu-mpich.yml index bc362bb8..582a1a00 100644 --- a/.github/workflows/dockerimage-clang-12-ubuntu-mpich.yml +++ b/.github/workflows/dockerimage-clang-12-ubuntu-mpich.yml @@ -26,14 +26,14 @@ jobs: BUILD_TYPE: release ULIMIT_CORE: 0 CODE_COVERAGE: 0 - CHECKPOINT_TESTS: 1 - CHECKPOINT_EXAMPLES: 1 - CHECKPOINT_MPI: 1 - CHECKPOINT_WARNINGS_AS_ERRORS: 1 - CHECKPOINT_DOCS: 0 - CHECKPOINT_ASAN: 1 - CHECKPOINT_UBSAN: 0 - CHECKPOINT_SERIALIZATION_ERROR_CHECKING: 1 + MAGISTRATE_TESTS: 1 + MAGISTRATE_EXAMPLES: 1 + MAGISTRATE_MPI: 1 + MAGISTRATE_WARNINGS_AS_ERRORS: 1 + MAGISTRATE_DOCS: 0 + MAGISTRATE_ASAN: 1 + MAGISTRATE_UBSAN: 0 + MAGISTRATE_SERIALIZATION_ERROR_CHECKING: 1 CACHE: ~/.local/cache/ steps: diff --git a/.github/workflows/dockerimage-clang-13-ubuntu-mpich.yml b/.github/workflows/dockerimage-clang-13-ubuntu-mpich.yml index 8d502457..9cfc9809 100644 --- a/.github/workflows/dockerimage-clang-13-ubuntu-mpich.yml +++ b/.github/workflows/dockerimage-clang-13-ubuntu-mpich.yml @@ -26,14 +26,14 @@ jobs: BUILD_TYPE: release ULIMIT_CORE: 0 CODE_COVERAGE: 0 - CHECKPOINT_TESTS: 1 - CHECKPOINT_EXAMPLES: 1 - CHECKPOINT_MPI: 1 - CHECKPOINT_WARNINGS_AS_ERRORS: 1 - CHECKPOINT_DOCS: 0 - CHECKPOINT_ASAN: 1 - CHECKPOINT_UBSAN: 0 - CHECKPOINT_SERIALIZATION_ERROR_CHECKING: 1 + MAGISTRATE_TESTS: 1 + MAGISTRATE_EXAMPLES: 1 + MAGISTRATE_MPI: 1 + MAGISTRATE_WARNINGS_AS_ERRORS: 1 + MAGISTRATE_DOCS: 0 + MAGISTRATE_ASAN: 1 + MAGISTRATE_UBSAN: 0 + MAGISTRATE_SERIALIZATION_ERROR_CHECKING: 1 CACHE: ~/.local/cache/ steps: diff --git a/.github/workflows/dockerimage-clang-14-ubuntu-mpich.yml b/.github/workflows/dockerimage-clang-14-ubuntu-mpich.yml index faa5cdc0..b7ed2ec2 100644 --- a/.github/workflows/dockerimage-clang-14-ubuntu-mpich.yml +++ b/.github/workflows/dockerimage-clang-14-ubuntu-mpich.yml @@ -26,14 +26,14 @@ jobs: BUILD_TYPE: release ULIMIT_CORE: 0 CODE_COVERAGE: 0 - CHECKPOINT_TESTS: 1 - CHECKPOINT_EXAMPLES: 1 - CHECKPOINT_MPI: 1 - CHECKPOINT_WARNINGS_AS_ERRORS: 1 - CHECKPOINT_DOCS: 0 - CHECKPOINT_ASAN: 1 - CHECKPOINT_UBSAN: 0 - CHECKPOINT_SERIALIZATION_ERROR_CHECKING: 1 + MAGISTRATE_TESTS: 1 + MAGISTRATE_EXAMPLES: 1 + MAGISTRATE_MPI: 1 + MAGISTRATE_WARNINGS_AS_ERRORS: 1 + MAGISTRATE_DOCS: 0 + MAGISTRATE_ASAN: 1 + MAGISTRATE_UBSAN: 0 + MAGISTRATE_SERIALIZATION_ERROR_CHECKING: 1 CACHE: ~/.local/cache/ steps: diff --git a/.github/workflows/dockerimage-clang-8-ubuntu-mpich.yml b/.github/workflows/dockerimage-clang-8-ubuntu-mpich.yml index a2512954..4f366e99 100644 --- a/.github/workflows/dockerimage-clang-8-ubuntu-mpich.yml +++ b/.github/workflows/dockerimage-clang-8-ubuntu-mpich.yml @@ -26,14 +26,14 @@ jobs: BUILD_TYPE: release ULIMIT_CORE: 0 CODE_COVERAGE: 0 - CHECKPOINT_TESTS: 1 - CHECKPOINT_EXAMPLES: 1 - CHECKPOINT_MPI: 1 - CHECKPOINT_WARNINGS_AS_ERRORS: 1 - CHECKPOINT_DOCS: 0 - CHECKPOINT_ASAN: 0 - CHECKPOINT_UBSAN: 1 - CHECKPOINT_SERIALIZATION_ERROR_CHECKING: 1 + MAGISTRATE_TESTS: 1 + MAGISTRATE_EXAMPLES: 1 + MAGISTRATE_MPI: 1 + MAGISTRATE_WARNINGS_AS_ERRORS: 1 + MAGISTRATE_DOCS: 0 + MAGISTRATE_ASAN: 0 + MAGISTRATE_UBSAN: 1 + MAGISTRATE_SERIALIZATION_ERROR_CHECKING: 1 CACHE: ~/.local/cache/ steps: diff --git a/.github/workflows/dockerimage-clang-9-ubuntu-mpich.yml b/.github/workflows/dockerimage-clang-9-ubuntu-mpich.yml index 241076a8..85a24d77 100644 --- a/.github/workflows/dockerimage-clang-9-ubuntu-mpich.yml +++ b/.github/workflows/dockerimage-clang-9-ubuntu-mpich.yml @@ -26,14 +26,14 @@ jobs: BUILD_TYPE: release ULIMIT_CORE: 0 CODE_COVERAGE: 0 - CHECKPOINT_TESTS: 1 - CHECKPOINT_EXAMPLES: 1 - CHECKPOINT_MPI: 1 - CHECKPOINT_WARNINGS_AS_ERRORS: 1 - CHECKPOINT_DOCS: 0 - CHECKPOINT_ASAN: 1 - CHECKPOINT_UBSAN: 0 - CHECKPOINT_SERIALIZATION_ERROR_CHECKING: 1 + MAGISTRATE_TESTS: 1 + MAGISTRATE_EXAMPLES: 1 + MAGISTRATE_MPI: 1 + MAGISTRATE_WARNINGS_AS_ERRORS: 1 + MAGISTRATE_DOCS: 0 + MAGISTRATE_ASAN: 1 + MAGISTRATE_UBSAN: 0 + MAGISTRATE_SERIALIZATION_ERROR_CHECKING: 1 CACHE: ~/.local/cache/ steps: diff --git a/.github/workflows/dockerimage-gcc-10-ubuntu-mpich.yml b/.github/workflows/dockerimage-gcc-10-ubuntu-mpich.yml index 13294d85..b4d109c0 100644 --- a/.github/workflows/dockerimage-gcc-10-ubuntu-mpich.yml +++ b/.github/workflows/dockerimage-gcc-10-ubuntu-mpich.yml @@ -26,14 +26,14 @@ jobs: BUILD_TYPE: release ULIMIT_CORE: 0 CODE_COVERAGE: 0 - CHECKPOINT_TESTS: 1 - CHECKPOINT_EXAMPLES: 1 - CHECKPOINT_MPI: 1 - CHECKPOINT_WARNINGS_AS_ERRORS: 1 - CHECKPOINT_DOCS: 0 - CHECKPOINT_ASAN: 1 - CHECKPOINT_UBSAN: 0 - CHECKPOINT_SERIALIZATION_ERROR_CHECKING: 1 + MAGISTRATE_TESTS: 1 + MAGISTRATE_EXAMPLES: 1 + MAGISTRATE_MPI: 1 + MAGISTRATE_WARNINGS_AS_ERRORS: 1 + MAGISTRATE_DOCS: 0 + MAGISTRATE_ASAN: 1 + MAGISTRATE_UBSAN: 0 + MAGISTRATE_SERIALIZATION_ERROR_CHECKING: 1 CACHE: ~/.local/cache/ steps: diff --git a/.github/workflows/dockerimage-gcc-8-ubuntu-mpich.yml b/.github/workflows/dockerimage-gcc-8-ubuntu-mpich.yml index 2393640f..f9cd387e 100644 --- a/.github/workflows/dockerimage-gcc-8-ubuntu-mpich.yml +++ b/.github/workflows/dockerimage-gcc-8-ubuntu-mpich.yml @@ -26,14 +26,14 @@ jobs: BUILD_TYPE: release ULIMIT_CORE: 0 CODE_COVERAGE: 0 - CHECKPOINT_TESTS: 1 - CHECKPOINT_EXAMPLES: 1 - CHECKPOINT_MPI: 1 - CHECKPOINT_WARNINGS_AS_ERRORS: 1 - CHECKPOINT_DOCS: 0 - CHECKPOINT_ASAN: 1 - CHECKPOINT_UBSAN: 0 - CHECKPOINT_SERIALIZATION_ERROR_CHECKING: 1 + MAGISTRATE_TESTS: 1 + MAGISTRATE_EXAMPLES: 1 + MAGISTRATE_MPI: 1 + MAGISTRATE_WARNINGS_AS_ERRORS: 1 + MAGISTRATE_DOCS: 0 + MAGISTRATE_ASAN: 1 + MAGISTRATE_UBSAN: 0 + MAGISTRATE_SERIALIZATION_ERROR_CHECKING: 1 CACHE: ~/.local/cache/ steps: diff --git a/.github/workflows/dockerimage-gcc-9-ubuntu-mpich.yml b/.github/workflows/dockerimage-gcc-9-ubuntu-mpich.yml index 0840a3ab..565ac560 100644 --- a/.github/workflows/dockerimage-gcc-9-ubuntu-mpich.yml +++ b/.github/workflows/dockerimage-gcc-9-ubuntu-mpich.yml @@ -26,14 +26,14 @@ jobs: BUILD_TYPE: release ULIMIT_CORE: 0 CODE_COVERAGE: 1 - CHECKPOINT_TESTS: 1 - CHECKPOINT_EXAMPLES: 1 - CHECKPOINT_MPI: 1 - CHECKPOINT_WARNINGS_AS_ERRORS: 1 - CHECKPOINT_DOCS: 0 - CHECKPOINT_ASAN: 1 - CHECKPOINT_UBSAN: 0 - CHECKPOINT_SERIALIZATION_ERROR_CHECKING: 0 + MAGISTRATE_TESTS: 1 + MAGISTRATE_EXAMPLES: 1 + MAGISTRATE_MPI: 1 + MAGISTRATE_WARNINGS_AS_ERRORS: 1 + MAGISTRATE_DOCS: 0 + MAGISTRATE_ASAN: 1 + MAGISTRATE_UBSAN: 0 + MAGISTRATE_SERIALIZATION_ERROR_CHECKING: 0 CACHE: ~/.local/cache/ steps: diff --git a/.github/workflows/dockerimage-nvcc-11-ubuntu-mpich.yml b/.github/workflows/dockerimage-nvcc-11-ubuntu-mpich.yml index ef1ca55a..4ac442a8 100644 --- a/.github/workflows/dockerimage-nvcc-11-ubuntu-mpich.yml +++ b/.github/workflows/dockerimage-nvcc-11-ubuntu-mpich.yml @@ -26,14 +26,14 @@ jobs: BUILD_TYPE: release ULIMIT_CORE: 0 CODE_COVERAGE: 0 - CHECKPOINT_TESTS: 1 - CHECKPOINT_EXAMPLES: 1 - CHECKPOINT_MPI: 1 - CHECKPOINT_WARNINGS_AS_ERRORS: 1 - CHECKPOINT_DOCS: 0 - CHECKPOINT_ASAN: 0 - CHECKPOINT_UBSAN: 0 - CHECKPOINT_SERIALIZATION_ERROR_CHECKING: 0 + MAGISTRATE_TESTS: 1 + MAGISTRATE_EXAMPLES: 1 + MAGISTRATE_MPI: 1 + MAGISTRATE_WARNINGS_AS_ERRORS: 1 + MAGISTRATE_DOCS: 0 + MAGISTRATE_ASAN: 0 + MAGISTRATE_UBSAN: 0 + MAGISTRATE_SERIALIZATION_ERROR_CHECKING: 0 CACHE: ~/.local/cache/ steps: diff --git a/ci/build_against_vt.sh b/ci/build_against_vt.sh index 09313824..78cf592f 100755 --- a/ci/build_against_vt.sh +++ b/ci/build_against_vt.sh @@ -40,9 +40,9 @@ cd build rm -Rf ./* cmake -G "${CMAKE_GENERATOR:-Ninja}" \ -DCMAKE_INSTALL_PREFIX="${CHECKPOINT_BUILD}/install" \ - -Dcheckpoint_asan_enabled="${CHECKPOINT_ASAN_ENABLED:-1}" \ - -Dcheckpoint_ubsan_enabled="${CHECKPOINT_UBSAN_ENABLED:-1}" \ - -Dcheckpoint_serialization_error_checking_enabled="${CHECKPOINT_SERIALIZATION_ERROR_CHECKING_ENABLED:-1}" \ + -Dcheckpoint_asan_enabled="${MAGISTRATE_ASAN_ENABLED:-1}" \ + -Dcheckpoint_ubsan_enabled="${MAGISTRATE_UBSAN_ENABLED:-1}" \ + -Dcheckpoint_serialization_error_checking_enabled="${MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED:-1}" \ "${CHECKPOINT}" cmake --build . --target install diff --git a/ci/build_cpp.sh b/ci/build_cpp.sh index 3f92c9ba..4f3c9b46 100755 --- a/ci/build_cpp.sh +++ b/ci/build_cpp.sh @@ -5,7 +5,7 @@ set -ex source_dir=${1} build_dir=${2} -if test "${CHECKPOINT_DOXYGEN_ENABLED:-0}" -eq 1 +if test "${MAGISTRATE_DOXYGEN_ENABLED:-0}" -eq 1 then token=${3} else @@ -33,14 +33,14 @@ fi cmake -G "${CMAKE_GENERATOR:-Ninja}" \ -DCMAKE_EXPORT_COMPILE_COMMANDS=1 \ - -Dcheckpoint_doxygen_enabled="${CHECKPOINT_DOXYGEN_ENABLED:-0}" \ - -Dcheckpoint_tests_enabled="${CHECKPOINT_TESTS_ENABLED:-1}" \ - -Dcheckpoint_examples_enabled="${CHECKPOINT_EXAMPLES_ENABLED:-1}" \ - -Dcheckpoint_warnings_as_errors="${CHECKPOINT_WARNINGS_AS_ERRORS:-0}" \ - -Dcheckpoint_mpi_enabled="${CHECKPOINT_MPI_ENABLED:-1}" \ - -Dcheckpoint_asan_enabled="${CHECKPOINT_ASAN_ENABLED:-0}" \ - -Dcheckpoint_ubsan_enabled="${CHECKPOINT_UBSAN_ENABLED:-0}" \ - -Dcheckpoint_serialization_error_checking_enabled="${CHECKPOINT_SERIALIZATION_ERROR_CHECKING_ENABLED:-$is_debug}" \ + -Dmagistrate_doxygen_enabled="${MAGISTRATE_DOXYGEN_ENABLED:-0}" \ + -Dmagistrate_tests_enabled="${MAGISTRATE_TESTS_ENABLED:-1}" \ + -Dmagistrate_examples_enabled="${MAGISTRATE_EXAMPLES_ENABLED:-1}" \ + -Dmagistrate_warnings_as_errors="${MAGISTRATE_WARNINGS_AS_ERRORS:-0}" \ + -Dmagistrate_mpi_enabled="${MAGISTRATE_MPI_ENABLED:-1}" \ + -Dmagistrate_asan_enabled="${MAGISTRATE_ASAN_ENABLED:-0}" \ + -Dmagistrate_ubsan_enabled="${MAGISTRATE_UBSAN_ENABLED:-0}" \ + -Dmagistrate_serialization_error_checking_enabled="${MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED:-$is_debug}" \ -DCMAKE_BUILD_TYPE="${cmake_build_type}" \ -DCMAKE_CXX_COMPILER="${CXX:-c++}" \ -DCMAKE_C_COMPILER="${CC:-cc}" \ @@ -53,7 +53,7 @@ cmake -G "${CMAKE_GENERATOR:-Ninja}" \ -DKokkosKernels_ROOT="${KOKKOS_KERNELS_ROOT}" \ "$CHECKPOINT" -if test "${CHECKPOINT_DOXYGEN_ENABLED:-0}" -eq 1 +if test "${MAGISTRATE_DOXYGEN_ENABLED:-0}" -eq 1 then MCSS=$PWD/m.css GHPAGE=$PWD/DARMA-tasking.github.io diff --git a/ci/docker/ubuntu-18.04-clang-cpp.dockerfile b/ci/docker/ubuntu-18.04-clang-cpp.dockerfile index 51dcc564..c60293df 100644 --- a/ci/docker/ubuntu-18.04-clang-cpp.dockerfile +++ b/ci/docker/ubuntu-18.04-clang-cpp.dockerfile @@ -67,23 +67,23 @@ ENV MPI_EXTRA_FLAGS="" \ FROM base as build COPY . /checkpoint -ARG CHECKPOINT_DOXYGEN_ENABLED -ARG CHECKPOINT_TESTS_ENABLED -ARG CHECKPOINT_EXAMPLES_ENABLED -ARG CHECKPOINT_WARNINGS_AS_ERRORS -ARG CHECKPOINT_MPI_ENABLED -ARG CHECKPOINT_ASAN_ENABLED -ARG CHECKPOINT_UBSAN_ENABLED -ARG CHECKPOINT_SERIALIZATION_ERROR_CHECKING_ENABLED - -ENV CHECKPOINT_DOXYGEN_ENABLED=${CHECKPOINT_DOXYGEN_ENABLED} \ - CHECKPOINT_TESTS_ENABLED=${CHECKPOINT_TESTS_ENABLED} \ - CHECKPOINT_EXAMPLES_ENABLED=${CHECKPOINT_EXAMPLES_ENABLED} \ - CHECKPOINT_WARNINGS_AS_ERRORS=${CHECKPOINT_WARNINGS_AS_ERRORS} \ - CHECKPOINT_MPI_ENABLED=${CHECKPOINT_MPI_ENABLED} \ - CHECKPOINT_ASAN_ENABLED=${CHECKPOINT_ASAN_ENABLED} \ - CHECKPOINT_UBSAN_ENABLED=${CHECKPOINT_UBSAN_ENABLED} \ - CHECKPOINT_SERIALIZATION_ERROR_CHECKING_ENABLED=${CHECKPOINT_SERIALIZATION_ERROR_CHECKING_ENABLED} \ +ARG MAGISTRATE_DOXYGEN_ENABLED +ARG MAGISTRATE_TESTS_ENABLED +ARG MAGISTRATE_EXAMPLES_ENABLED +ARG MAGISTRATE_WARNINGS_AS_ERRORS +ARG MAGISTRATE_MPI_ENABLED +ARG MAGISTRATE_ASAN_ENABLED +ARG MAGISTRATE_UBSAN_ENABLED +ARG MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED + +ENV MAGISTRATE_DOXYGEN_ENABLED=${MAGISTRATE_DOXYGEN_ENABLED} \ + MAGISTRATE_TESTS_ENABLED=${MAGISTRATE_TESTS_ENABLED} \ + MAGISTRATE_EXAMPLES_ENABLED=${MAGISTRATE_EXAMPLES_ENABLED} \ + MAGISTRATE_WARNINGS_AS_ERRORS=${MAGISTRATE_WARNINGS_AS_ERRORS} \ + MAGISTRATE_MPI_ENABLED=${MAGISTRATE_MPI_ENABLED} \ + MAGISTRATE_ASAN_ENABLED=${MAGISTRATE_ASAN_ENABLED} \ + MAGISTRATE_UBSAN_ENABLED=${MAGISTRATE_UBSAN_ENABLED} \ + MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED=${MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED} \ CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} RUN /checkpoint/ci/build_cpp.sh /checkpoint /build diff --git a/ci/docker/ubuntu-18.04-gnu-cpp.dockerfile b/ci/docker/ubuntu-18.04-gnu-cpp.dockerfile index e9b469cf..88df3ec3 100644 --- a/ci/docker/ubuntu-18.04-gnu-cpp.dockerfile +++ b/ci/docker/ubuntu-18.04-gnu-cpp.dockerfile @@ -75,23 +75,23 @@ RUN apt-get update -y -q && \ FROM base as build COPY . /checkpoint -ARG CHECKPOINT_DOXYGEN_ENABLED -ARG CHECKPOINT_TESTS_ENABLED -ARG CHECKPOINT_EXAMPLES_ENABLED -ARG CHECKPOINT_WARNINGS_AS_ERRORS -ARG CHECKPOINT_MPI_ENABLED -ARG CHECKPOINT_ASAN_ENABLED -ARG CHECKPOINT_UBSAN_ENABLED -ARG CHECKPOINT_SERIALIZATION_ERROR_CHECKING_ENABLED - -ENV CHECKPOINT_DOXYGEN_ENABLED=${CHECKPOINT_DOXYGEN_ENABLED} \ - CHECKPOINT_TESTS_ENABLED=${CHECKPOINT_TESTS_ENABLED} \ - CHECKPOINT_EXAMPLES_ENABLED=${CHECKPOINT_EXAMPLES_ENABLED} \ - CHECKPOINT_WARNINGS_AS_ERRORS=${CHECKPOINT_WARNINGS_AS_ERRORS} \ - CHECKPOINT_MPI_ENABLED=${CHECKPOINT_MPI_ENABLED} \ - CHECKPOINT_ASAN_ENABLED=${CHECKPOINT_ASAN_ENABLED} \ - CHECKPOINT_UBSAN_ENABLED=${CHECKPOINT_UBSAN_ENABLED} \ - CHECKPOINT_SERIALIZATION_ERROR_CHECKING_ENABLED=${CHECKPOINT_SERIALIZATION_ERROR_CHECKING_ENABLED} \ +ARG MAGISTRATE_DOXYGEN_ENABLED +ARG MAGISTRATE_TESTS_ENABLED +ARG MAGISTRATE_EXAMPLES_ENABLED +ARG MAGISTRATE_WARNINGS_AS_ERRORS +ARG MAGISTRATE_MPI_ENABLED +ARG MAGISTRATE_ASAN_ENABLED +ARG MAGISTRATE_UBSAN_ENABLED +ARG MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED + +ENV MAGISTRATE_DOXYGEN_ENABLED=${MAGISTRATE_DOXYGEN_ENABLED} \ + MAGISTRATE_TESTS_ENABLED=${MAGISTRATE_TESTS_ENABLED} \ + MAGISTRATE_EXAMPLES_ENABLED=${MAGISTRATE_EXAMPLES_ENABLED} \ + MAGISTRATE_WARNINGS_AS_ERRORS=${MAGISTRATE_WARNINGS_AS_ERRORS} \ + MAGISTRATE_MPI_ENABLED=${MAGISTRATE_MPI_ENABLED} \ + MAGISTRATE_ASAN_ENABLED=${MAGISTRATE_ASAN_ENABLED} \ + MAGISTRATE_UBSAN_ENABLED=${MAGISTRATE_UBSAN_ENABLED} \ + MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED=${MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED} \ CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} RUN /checkpoint/ci/build_cpp.sh /checkpoint /build diff --git a/ci/docker/ubuntu-18.04-intel-cpp.dockerfile b/ci/docker/ubuntu-18.04-intel-cpp.dockerfile index 9b5a823f..3a700350 100644 --- a/ci/docker/ubuntu-18.04-intel-cpp.dockerfile +++ b/ci/docker/ubuntu-18.04-intel-cpp.dockerfile @@ -68,23 +68,23 @@ ENV MPI_EXTRA_FLAGS="" \ FROM base as build COPY . /checkpoint -ARG CHECKPOINT_DOXYGEN_ENABLED -ARG CHECKPOINT_TESTS_ENABLED -ARG CHECKPOINT_EXAMPLES_ENABLED -ARG CHECKPOINT_WARNINGS_AS_ERRORS -ARG CHECKPOINT_MPI_ENABLED -ARG CHECKPOINT_ASAN_ENABLED -ARG CHECKPOINT_UBSAN_ENABLED -ARG CHECKPOINT_SERIALIZATION_ERROR_CHECKING_ENABLED - -ENV CHECKPOINT_DOXYGEN_ENABLED=${CHECKPOINT_DOXYGEN_ENABLED} \ - CHECKPOINT_TESTS_ENABLED=${CHECKPOINT_TESTS_ENABLED} \ - CHECKPOINT_EXAMPLES_ENABLED=${CHECKPOINT_EXAMPLES_ENABLED} \ - CHECKPOINT_WARNINGS_AS_ERRORS=${CHECKPOINT_WARNINGS_AS_ERRORS} \ - CHECKPOINT_MPI_ENABLED=${CHECKPOINT_MPI_ENABLED} \ - CHECKPOINT_ASAN_ENABLED=${CHECKPOINT_ASAN_ENABLED} \ - CHECKPOINT_UBSAN_ENABLED=${CHECKPOINT_UBSAN_ENABLED} \ - CHECKPOINT_SERIALIZATION_ERROR_CHECKING_ENABLED=${CHECKPOINT_SERIALIZATION_ERROR_CHECKING_ENABLED} \ +ARG MAGISTRATE_DOXYGEN_ENABLED +ARG MAGISTRATE_TESTS_ENABLED +ARG MAGISTRATE_EXAMPLES_ENABLED +ARG MAGISTRATE_WARNINGS_AS_ERRORS +ARG MAGISTRATE_MPI_ENABLED +ARG MAGISTRATE_ASAN_ENABLED +ARG MAGISTRATE_UBSAN_ENABLED +ARG MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED + +ENV MAGISTRATE_DOXYGEN_ENABLED=${MAGISTRATE_DOXYGEN_ENABLED} \ + MAGISTRATE_TESTS_ENABLED=${MAGISTRATE_TESTS_ENABLED} \ + MAGISTRATE_EXAMPLES_ENABLED=${MAGISTRATE_EXAMPLES_ENABLED} \ + MAGISTRATE_WARNINGS_AS_ERRORS=${MAGISTRATE_WARNINGS_AS_ERRORS} \ + MAGISTRATE_MPI_ENABLED=${MAGISTRATE_MPI_ENABLED} \ + MAGISTRATE_ASAN_ENABLED=${MAGISTRATE_ASAN_ENABLED} \ + MAGISTRATE_UBSAN_ENABLED=${MAGISTRATE_UBSAN_ENABLED} \ + MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED=${MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED} \ CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} RUN /checkpoint/ci/build_cpp.sh /checkpoint /build diff --git a/ci/docker/ubuntu-20.04-gnu-docs.dockerfile b/ci/docker/ubuntu-20.04-gnu-docs.dockerfile index 8b143f4c..76dc885d 100644 --- a/ci/docker/ubuntu-20.04-gnu-docs.dockerfile +++ b/ci/docker/ubuntu-20.04-gnu-docs.dockerfile @@ -63,10 +63,10 @@ FROM base as build COPY . /checkpoint ARG token -ARG CHECKPOINT_DOXYGEN_ENABLED +ARG MAGISTRATE_DOXYGEN_ENABLED ARG CMAKE_BUILD_TYPE -ENV CHECKPOINT_DOXYGEN_ENABLED=${CHECKPOINT_DOXYGEN_ENABLED} \ +ENV MAGISTRATE_DOXYGEN_ENABLED=${MAGISTRATE_DOXYGEN_ENABLED} \ CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} RUN /checkpoint/ci/build_cpp.sh /checkpoint /build "${token}" diff --git a/ci/docker/ubuntu-20.04-nvidia-cpp.dockerfile b/ci/docker/ubuntu-20.04-nvidia-cpp.dockerfile index 7acb5f4b..fb99355c 100644 --- a/ci/docker/ubuntu-20.04-nvidia-cpp.dockerfile +++ b/ci/docker/ubuntu-20.04-nvidia-cpp.dockerfile @@ -65,23 +65,23 @@ ENV KOKKOS_KERNELS_ROOT=/pkgs/kokkos-kernels/install FROM base as build COPY . /checkpoint -ARG CHECKPOINT_DOXYGEN_ENABLED -ARG CHECKPOINT_TESTS_ENABLED -ARG CHECKPOINT_EXAMPLES_ENABLED -ARG CHECKPOINT_WARNINGS_AS_ERRORS -ARG CHECKPOINT_MPI_ENABLED -ARG CHECKPOINT_ASAN_ENABLED -ARG CHECKPOINT_UBSAN_ENABLED -ARG CHECKPOINT_SERIALIZATION_ERROR_CHECKING_ENABLED - -ENV CHECKPOINT_DOXYGEN_ENABLED=${CHECKPOINT_DOXYGEN_ENABLED} \ - CHECKPOINT_TESTS_ENABLED=${CHECKPOINT_TESTS_ENABLED} \ - CHECKPOINT_EXAMPLES_ENABLED=${CHECKPOINT_EXAMPLES_ENABLED} \ - CHECKPOINT_WARNINGS_AS_ERRORS=${CHECKPOINT_WARNINGS_AS_ERRORS} \ - CHECKPOINT_MPI_ENABLED=${CHECKPOINT_MPI_ENABLED} \ - CHECKPOINT_ASAN_ENABLED=${CHECKPOINT_ASAN_ENABLED} \ - CHECKPOINT_UBSAN_ENABLED=${CHECKPOINT_UBSAN_ENABLED} \ - CHECKPOINT_SERIALIZATION_ERROR_CHECKING_ENABLED=${CHECKPOINT_SERIALIZATION_ERROR_CHECKING_ENABLED} \ +ARG MAGISTRATE_DOXYGEN_ENABLED +ARG MAGISTRATE_TESTS_ENABLED +ARG MAGISTRATE_EXAMPLES_ENABLED +ARG MAGISTRATE_WARNINGS_AS_ERRORS +ARG MAGISTRATE_MPI_ENABLED +ARG MAGISTRATE_ASAN_ENABLED +ARG MAGISTRATE_UBSAN_ENABLED +ARG MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED + +ENV MAGISTRATE_DOXYGEN_ENABLED=${MAGISTRATE_DOXYGEN_ENABLED} \ + MAGISTRATE_TESTS_ENABLED=${MAGISTRATE_TESTS_ENABLED} \ + MAGISTRATE_EXAMPLES_ENABLED=${MAGISTRATE_EXAMPLES_ENABLED} \ + MAGISTRATE_WARNINGS_AS_ERRORS=${MAGISTRATE_WARNINGS_AS_ERRORS} \ + MAGISTRATE_MPI_ENABLED=${MAGISTRATE_MPI_ENABLED} \ + MAGISTRATE_ASAN_ENABLED=${MAGISTRATE_ASAN_ENABLED} \ + MAGISTRATE_UBSAN_ENABLED=${MAGISTRATE_UBSAN_ENABLED} \ + MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED=${MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED} \ CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} RUN /checkpoint/ci/build_cpp.sh /checkpoint /build diff --git a/ci/docker/ubuntu-22.04-clang-cpp.dockerfile b/ci/docker/ubuntu-22.04-clang-cpp.dockerfile index 8a49b31f..0bbeb1b1 100644 --- a/ci/docker/ubuntu-22.04-clang-cpp.dockerfile +++ b/ci/docker/ubuntu-22.04-clang-cpp.dockerfile @@ -69,23 +69,23 @@ ENV MPI_EXTRA_FLAGS="" \ FROM base as build COPY . /checkpoint -ARG CHECKPOINT_DOXYGEN_ENABLED -ARG CHECKPOINT_TESTS_ENABLED -ARG CHECKPOINT_EXAMPLES_ENABLED -ARG CHECKPOINT_WARNINGS_AS_ERRORS -ARG CHECKPOINT_MPI_ENABLED -ARG CHECKPOINT_ASAN_ENABLED -ARG CHECKPOINT_UBSAN_ENABLED -ARG CHECKPOINT_SERIALIZATION_ERROR_CHECKING_ENABLED - -ENV CHECKPOINT_DOXYGEN_ENABLED=${CHECKPOINT_DOXYGEN_ENABLED} \ - CHECKPOINT_TESTS_ENABLED=${CHECKPOINT_TESTS_ENABLED} \ - CHECKPOINT_EXAMPLES_ENABLED=${CHECKPOINT_EXAMPLES_ENABLED} \ - CHECKPOINT_WARNINGS_AS_ERRORS=${CHECKPOINT_WARNINGS_AS_ERRORS} \ - CHECKPOINT_MPI_ENABLED=${CHECKPOINT_MPI_ENABLED} \ - CHECKPOINT_ASAN_ENABLED=${CHECKPOINT_ASAN_ENABLED} \ - CHECKPOINT_UBSAN_ENABLED=${CHECKPOINT_UBSAN_ENABLED} \ - CHECKPOINT_SERIALIZATION_ERROR_CHECKING_ENABLED=${CHECKPOINT_SERIALIZATION_ERROR_CHECKING_ENABLED} \ +ARG MAGISTRATE_DOXYGEN_ENABLED +ARG MAGISTRATE_TESTS_ENABLED +ARG MAGISTRATE_EXAMPLES_ENABLED +ARG MAGISTRATE_WARNINGS_AS_ERRORS +ARG MAGISTRATE_MPI_ENABLED +ARG MAGISTRATE_ASAN_ENABLED +ARG MAGISTRATE_UBSAN_ENABLED +ARG MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED + +ENV MAGISTRATE_DOXYGEN_ENABLED=${MAGISTRATE_DOXYGEN_ENABLED} \ + MAGISTRATE_TESTS_ENABLED=${MAGISTRATE_TESTS_ENABLED} \ + MAGISTRATE_EXAMPLES_ENABLED=${MAGISTRATE_EXAMPLES_ENABLED} \ + MAGISTRATE_WARNINGS_AS_ERRORS=${MAGISTRATE_WARNINGS_AS_ERRORS} \ + MAGISTRATE_MPI_ENABLED=${MAGISTRATE_MPI_ENABLED} \ + MAGISTRATE_ASAN_ENABLED=${MAGISTRATE_ASAN_ENABLED} \ + MAGISTRATE_UBSAN_ENABLED=${MAGISTRATE_UBSAN_ENABLED} \ + MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED=${MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED} \ CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} RUN /checkpoint/ci/build_cpp.sh /checkpoint /build diff --git a/docker-compose.yml b/docker-compose.yml index 77327bcf..9c49b134 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -20,14 +20,14 @@ # ULIMIT_CORE=0 # # DARMA/checkpoint Configuration Variables: -# CHECKPOINT_TESTS=1 # Enable checkpoint tests -# CHECKPOINT_EXAMPLES=1 # Enable checkpoint examples -# CHECKPOINT_MPI=1 # Enable checkpoint MPI tests -# CHECKPOINT_WARNINGS_AS_ERRORS=0 # Treat warnings as errors in compilation -# CHECKPOINT_ASAN=0 # Enable address sanitizer in build -# CHECKPOINT_UBSAN=0 # Enable undefined behavior sanitizer in build -# CHECKPOINT_DOCS=0 # Enable doxygen build -# CHECKPOINT_SERIALIZATION_ERROR_CHECKING=0 # Enable extensive serialization error checking +# MAGISTRATE_TESTS=1 # Enable checkpoint tests +# MAGISTRATE_EXAMPLES=1 # Enable checkpoint examples +# MAGISTRATE_MPI=1 # Enable checkpoint MPI tests +# MAGISTRATE_WARNINGS_AS_ERRORS=0 # Treat warnings as errors in compilation +# MAGISTRATE_ASAN=0 # Enable address sanitizer in build +# MAGISTRATE_UBSAN=0 # Enable undefined behavior sanitizer in build +# MAGISTRATE_DOCS=0 # Enable doxygen build +# MAGISTRATE_SERIALIZATION_ERROR_CHECKING=0 # Enable extensive serialization error checking # BUILD_TYPE=release # CMake build type # CODE_COVERAGE=0 # Enable generation of code coverage reports # @@ -93,15 +93,15 @@ x-ccache: &ccache # Define rules for CheckPoint configuration options across various services x-checkpointopts: &checkpointopts - CHECKPOINT_TESTS_ENABLED: ${CHECKPOINT_TESTS:-1} - CHECKPOINT_EXAMPLES_ENABLED: ${CHECKPOINT_EXAMPLES:-1} - CHECKPOINT_MPI_ENABLED: ${CHECKPOINT_MPI:-1} - CHECKPOINT_ASAN_ENABLED: ${CHECKPOINT_ASAN:-0} - CHECKPOINT_UBSAN_ENABLED: ${CHECKPOINT_UBSAN:-0} - CHECKPOINT_WARNINGS_AS_ERRORS: ${CHECKPOINT_WARNINGS_AS_ERRORS:-0} - CHECKPOINT_DOXYGEN_ENABLED: ${CHECKPOINT_DOCS:-0} + MAGISTRATE_TESTS_ENABLED: ${MAGISTRATE_TESTS:-1} + MAGISTRATE_EXAMPLES_ENABLED: ${MAGISTRATE_EXAMPLES:-1} + MAGISTRATE_MPI_ENABLED: ${MAGISTRATE_MPI:-1} + MAGISTRATE_ASAN_ENABLED: ${MAGISTRATE_ASAN:-0} + MAGISTRATE_UBSAN_ENABLED: ${MAGISTRATE_UBSAN:-0} + MAGISTRATE_WARNINGS_AS_ERRORS: ${MAGISTRATE_WARNINGS_AS_ERRORS:-0} + MAGISTRATE_DOXYGEN_ENABLED: ${MAGISTRATE_DOCS:-0} CMAKE_BUILD_TYPE: ${BUILD_TYPE:-release} - CHECKPOINT_SERIALIZATION_ERROR_CHECKING_ENABLED: ${CHECKPOINT_SERIALIZATION_ERROR_CHECKING:-0} + MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED: ${MAGISTRATE_SERIALIZATION_ERROR_CHECKING:-0} CODE_COVERAGE: ${CODE_COVERAGE:-0} https_proxy: ${PROXY-} http_proxy: ${PROXY-} @@ -196,7 +196,7 @@ services: ulimits: *ulimits environment: <<: *ccache - CHECKPOINT_DOXYGEN_ENABLED: 1 + MAGISTRATE_DOXYGEN_ENABLED: 1 CMAKE_BUILD_TYPE: ${BUILD_TYPE:-release} volumes: *ubuntu-volumes command: &docs-cpp-command > diff --git a/docs/md/checkpoint_learn_build.md b/docs/md/checkpoint_learn_build.md index 18403acf..b2c12a97 100644 --- a/docs/md/checkpoint_learn_build.md +++ b/docs/md/checkpoint_learn_build.md @@ -51,16 +51,16 @@ most configuration parameters. | `GTEST_ROOT` | | Install directory for googletest | | `KOKKOS_ROOT` | | Install directory for kokkos | | `KOKKOS_KERNELS_ROOT` | | Install directory for kokkos-kernels | -| `CHECKPOINT_DOXYGEN_ENABLED` | 0 | Enable doxygen generation | -| `CHECKPOINT_ASAN_ENABLED` | 0 | Enable building with address sanitizer | -| `CHECKPOINT_UBSAN_ENABLED` | 0 | Enable building with undefined behavior sanitizer | -| `CHECKPOINT_TESTS_ENABLED` | 1 | Enable checkpoint tests | -| `CHECKPOINT_EXAMPLES_ENABLED` | 1 | Enable checkpoint examples | -| `CHECKPOINT_WARNINGS_AS_ERRORS` | 0 | Make all warnings errors during build | -| `CHECKPOINT_SERIALIZATION_ERROR_CHECKING_ENABLED` | 0 | Enable extensive error checking of serialization | -| `CHECKPOINT_MPI_ENABLED` | 1 | Enable checkpoint MPI for testing | +| `MAGISTRATE_DOXYGEN_ENABLED` | 0 | Enable doxygen generation | +| `MAGISTRATE_ASAN_ENABLED` | 0 | Enable building with address sanitizer | +| `MAGISTRATE_UBSAN_ENABLED` | 0 | Enable building with undefined behavior sanitizer | +| `MAGISTRATE_TESTS_ENABLED` | 1 | Enable checkpoint tests | +| `MAGISTRATE_EXAMPLES_ENABLED` | 1 | Enable checkpoint examples | +| `MAGISTRATE_WARNINGS_AS_ERRORS` | 0 | Make all warnings errors during build | +| `MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED` | 0 | Enable extensive error checking of serialization | +| `MAGISTRATE_MPI_ENABLED` | 1 | Enable checkpoint MPI for testing | -* note that if `CHECKPOINT_SERIALIZATION_ERROR_CHECKING_ENABLED` is not explicitly enabled or disabled, it will be **enabled** for `Debug` and `RelWithDebInfo` builds and disabled for others. +* note that if `MAGISTRATE_SERIALIZATION_ERROR_CHECKING_ENABLED` is not explicitly enabled or disabled, it will be **enabled** for `Debug` and `RelWithDebInfo` builds and disabled for others. With these set, invoke the script with two arguments: the path to the *checkpoint* root directory and the build path. Here's an example assuming that @@ -104,14 +104,14 @@ The default set of the docker configuration options is located in # ULIMIT_CORE=0 # # DARMA/checkpoint Configuration Variables: -# CHECKPOINT_TESTS=1 # Enable checkpoint tests -# CHECKPOINT_EXAMPLES=1 # Enable checkpoint examples -# CHECKPOINT_MPI=1 # Enable checkpoint MPI tests -# CHECKPOINT_WARNINGS_AS_ERRORS=0 # Treat warnings as errors in compilation -# CHECKPOINT_ASAN=0 # Enable address sanitizer in build -# CHECKPOINT_UBSAN=0 # Enable undefined behavior sanitizer in build -# CHECKPOINT_SERIALIZATION_ERROR_CHECKING=0 # Enable extensive serialization error checking -# CHECKPOINT_DOCS=0 # Enable doxygen build +# MAGISTRATE_TESTS=1 # Enable checkpoint tests +# MAGISTRATE_EXAMPLES=1 # Enable checkpoint examples +# MAGISTRATE_MPI=1 # Enable checkpoint MPI tests +# MAGISTRATE_WARNINGS_AS_ERRORS=0 # Treat warnings as errors in compilation +# MAGISTRATE_ASAN=0 # Enable address sanitizer in build +# MAGISTRATE_UBSAN=0 # Enable undefined behavior sanitizer in build +# MAGISTRATE_SERIALIZATION_ERROR_CHECKING=0 # Enable extensive serialization error checking +# MAGISTRATE_DOCS=0 # Enable doxygen build # BUILD_TYPE=release # CMake build type # CODE_COVERAGE=0 # Enable generation of code coverage reports ``` diff --git a/scripts/workflow-template.yml b/scripts/workflow-template.yml index 9433d2c2..7f52655a 100644 --- a/scripts/workflow-template.yml +++ b/scripts/workflow-template.yml @@ -19,14 +19,14 @@ jobs: BUILD_TYPE: [% build_type %] ULIMIT_CORE: [% ulimit_core %] CODE_COVERAGE: [% code_coverage %] - CHECKPOINT_TESTS: [% checkpoint_tests %] - CHECKPOINT_EXAMPLES: [% checkpoint_examples %] - CHECKPOINT_MPI: [% checkpoint_mpi %] - CHECKPOINT_WARNINGS_AS_ERRORS: [% checkpoint_warnings_as_errors %] - CHECKPOINT_DOCS: [% checkpoint_docs %] - CHECKPOINT_ASAN: [% checkpoint_asan %] - CHECKPOINT_UBSAN: [% checkpoint_ubsan %] - CHECKPOINT_SERIALIZATION_ERROR_CHECKING: [% checkpoint_serialization_error_checking %] + MAGISTRATE_TESTS: [% checkpoint_tests %] + MAGISTRATE_EXAMPLES: [% checkpoint_examples %] + MAGISTRATE_MPI: [% checkpoint_mpi %] + MAGISTRATE_WARNINGS_AS_ERRORS: [% checkpoint_warnings_as_errors %] + MAGISTRATE_DOCS: [% checkpoint_docs %] + MAGISTRATE_ASAN: [% checkpoint_asan %] + MAGISTRATE_UBSAN: [% checkpoint_ubsan %] + MAGISTRATE_SERIALIZATION_ERROR_CHECKING: [% checkpoint_serialization_error_checking %] CACHE: [% cache_dir %] steps: