diff --git a/CHANGELOG.md b/CHANGELOG.md index 27e82563cc..a2ad41a8ba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,9 @@ ### Bug Fixes +Fixed a CMake bug where the SuperLU_MT interface would not be built and +installed without setting the `SUPERLUMT_WORKS` option to `TRUE`. + ### Deprecation Notices ## Changes to SUNDIALS in release 7.6.0 diff --git a/cmake/SundialsBuildOptionsPost.cmake b/cmake/SundialsBuildOptionsPost.cmake index e753e107ec..690760f9fb 100644 --- a/cmake/SundialsBuildOptionsPost.cmake +++ b/cmake/SundialsBuildOptionsPost.cmake @@ -101,13 +101,13 @@ list(APPEND SUNDIALS_BUILD_LIST "BUILD_NVECTOR_OPENMPDEV") sundials_option( BUILD_NVECTOR_PARHYP BOOL "Build the NVECTOR_PARHYP module (requires hypre)" ON - DEPENDS_ON ENABLE_HYPRE HYPRE_WORKS + DEPENDS_ON ENABLE_HYPRE ADVANCED) list(APPEND SUNDIALS_BUILD_LIST "BUILD_NVECTOR_PARHYP") sundials_option( BUILD_NVECTOR_PETSC BOOL "Build the NVECTOR_PETSC module (requires PETSc)" ON - DEPENDS_ON ENABLE_PETSC PETSC_WORKS + DEPENDS_ON ENABLE_PETSC ADVANCED) list(APPEND SUNDIALS_BUILD_LIST "BUILD_NVECTOR_PETSC") @@ -133,7 +133,7 @@ list(APPEND SUNDIALS_BUILD_LIST "BUILD_NVECTOR_TRILINOS") sundials_option( BUILD_NVECTOR_KOKKOS BOOL "Build the NVECTOR_KOKKOS module (requires Kokkos)" ON - DEPENDS_ON ENABLE_KOKKOS KOKKOS_WORKS + DEPENDS_ON ENABLE_KOKKOS ADVANCED) list(APPEND SUNDIALS_BUILD_LIST "BUILD_NVECTOR_KOKKOS") @@ -164,35 +164,34 @@ list(APPEND SUNDIALS_BUILD_LIST "BUILD_SUNMATRIX_CUSPARSE") sundials_option( BUILD_SUNMATRIX_GINKGO BOOL "Build the SUNMATRIX_GINKGO module (requires Ginkgo)" ON - DEPENDS_ON ENABLE_GINKGO GINKGO_WORKS + DEPENDS_ON ENABLE_GINKGO ADVANCED) list(APPEND SUNDIALS_BUILD_LIST "BUILD_SUNMATRIX_GINKGO") sundials_option( BUILD_SUNMATRIX_KOKKOSDENSE BOOL "Build the SUNMATRIX_KOKKOSDENSE module" ON - DEPENDS_ON ENABLE_KOKKOS KOKKOS_WORKS ENABLE_KOKKOS_KERNELS - KOKKOS_KERNELS_WORKS + DEPENDS_ON ENABLE_KOKKOS ENABLE_KOKKOS_KERNELS ADVANCED) list(APPEND SUNDIALS_BUILD_LIST "BUILD_SUNMATRIX_KOKKOSDENSE") sundials_option( BUILD_SUNMATRIX_MAGMADENSE BOOL "Build the SUNMATRIX_MAGMADENSE module (requires MAGMA)" ON - DEPENDS_ON ENABLE_MAGMA MAGMA_WORKS + DEPENDS_ON ENABLE_MAGMA ADVANCED) list(APPEND SUNDIALS_BUILD_LIST "BUILD_SUNMATRIX_MAGMADENSE") sundials_option( BUILD_SUNMATRIX_ONEMKLDENSE BOOL "Build the SUNMATRIX_ONEMKLDENSE module (requires oneMKL)" ON - DEPENDS_ON ENABLE_ONEMKL ONEMKL_WORKS + DEPENDS_ON ENABLE_ONEMKL ADVANCED) list(APPEND SUNDIALS_BUILD_LIST "BUILD_SUNMATRIX_ONEMKLDENSE") sundials_option( BUILD_SUNMATRIX_SLUNRLOC BOOL "Build the SUNMATRIX_SLUNRLOC module (requires SuperLU_DIST)" ON - DEPENDS_ON ENABLE_SUPERLUDIST SUPERLUDIST_WORKS + DEPENDS_ON ENABLE_SUPERLUDIST ADVANCED) list(APPEND SUNDIALS_BUILD_LIST "BUILD_SUNMATRIX_SLUNRLOC") @@ -227,20 +226,19 @@ list(APPEND SUNDIALS_BUILD_LIST "BUILD_SUNLINSOL_CUSOLVERSP") sundials_option( BUILD_SUNLINSOL_GINKGO BOOL "Build the SUNLINSOL_GINKGO module (requires Ginkgo)" ON - DEPENDS_ON ENABLE_GINKGO GINKGO_WORKS + DEPENDS_ON ENABLE_GINKGO ADVANCED) list(APPEND SUNDIALS_BUILD_LIST "BUILD_SUNLINSOL_GINKGO") sundials_option( BUILD_SUNLINSOL_KLU BOOL "Build the SUNLINSOL_KLU module (requires KLU)" ON - DEPENDS_ON ENABLE_KLU KLU_WORKS + DEPENDS_ON ENABLE_KLU ADVANCED) list(APPEND SUNDIALS_BUILD_LIST "BUILD_SUNLINSOL_KLU") sundials_option( BUILD_SUNLINSOL_KOKKOSDENSE BOOL "Build the SUNLINSOL_KOKKOSDENSE module" ON - DEPENDS_ON ENABLE_KOKKOS KOKKOS_WORKS ENABLE_KOKKOS_KERNELS - KOKKOS_KERNELS_WORKS + DEPENDS_ON ENABLE_KOKKOS ENABLE_KOKKOS_KERNELS ADVANCED) list(APPEND SUNDIALS_BUILD_LIST "BUILD_SUNLINSOL_KOKKOSDENSE") @@ -261,28 +259,28 @@ list(APPEND SUNDIALS_BUILD_LIST "BUILD_SUNLINSOL_LAPACKDENSE") sundials_option( BUILD_SUNLINSOL_MAGMADENSE BOOL "Build the SUNLINSOL_MAGMADENSE module (requires MAGMA)" ON - DEPENDS_ON ENABLE_MAGMA MAGMA_WORKS + DEPENDS_ON ENABLE_MAGMA ADVANCED) list(APPEND SUNDIALS_BUILD_LIST "BUILD_SUNLINSOL_MAGMADENSE") sundials_option( BUILD_SUNLINSOL_ONEMKLDENSE BOOL "Build the SUNLINSOL_ONEMKLDENSE module (requires oneMKL)" ON - DEPENDS_ON ENABLE_ONEMKL ONEMKL_WORKS + DEPENDS_ON ENABLE_ONEMKL ADVANCED) list(APPEND SUNDIALS_BUILD_LIST "BUILD_SUNLINSOL_ONEMKLDENSE") sundials_option( BUILD_SUNLINSOL_SUPERLUDIST BOOL "Build the SUNLINSOL_SUPERLUDIST module (requires SUPERLUDIST)" ON - DEPENDS_ON ENABLE_SUPERLUDIST SUPERLUDIST_WORKS BUILD_SUNMATRIX_SLUNRLOC + DEPENDS_ON ENABLE_SUPERLUDIST BUILD_SUNMATRIX_SLUNRLOC ADVANCED) list(APPEND SUNDIALS_BUILD_LIST "BUILD_SUNLINSOL_SUPERLUDIST") sundials_option( BUILD_SUNLINSOL_SUPERLUMT BOOL "Build the SUNLINSOL_SUPERLUMT module (requires SUPERLUMT)" ON - DEPENDS_ON ENABLE_SUPERLUMT SUPERLUMT_WORKS + DEPENDS_ON ENABLE_SUPERLUMT ADVANCED) list(APPEND SUNDIALS_BUILD_LIST "BUILD_SUNLINSOL_SUPERLUMT") diff --git a/doc/shared/RecentChanges.rst b/doc/shared/RecentChanges.rst index 22e47b0213..d3266f3d84 100644 --- a/doc/shared/RecentChanges.rst +++ b/doc/shared/RecentChanges.rst @@ -7,4 +7,7 @@ **Bug Fixes** +Fixed a CMake bug where the SuperLU_MT interface would not be built and +installed without setting the ``SUPERLUMT_WORKS`` option to ``TRUE``. + **Deprecation Notices** diff --git a/examples/templates/cmakelists_serial_C_ex.in b/examples/templates/cmakelists_serial_C_ex.in index aaeea71467..2345e900c1 100644 --- a/examples/templates/cmakelists_serial_C_ex.in +++ b/examples/templates/cmakelists_serial_C_ex.in @@ -258,7 +258,8 @@ if(SUPERLUMT_LIBRARIES AND examples_slumt) # directories to include target_include_directories(${example} PRIVATE ${SUNDIALS_INCLUDE_DIR}) - target_include_directories(${example} PRIVATE ${SUPERLUMT_INCLUDE_DIR}) + # use SYSTEM to suppress warnings from slu_mt_util.h about MACH not defined + target_include_directories(${example} SYSTEM PRIVATE ${SUPERLUMT_INCLUDE_DIR}) # libraries to link against target_link_libraries(${example} ${SUNDIALS_LIBRARIES})