Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .uberenv_config.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
"package_final_phase" : "initconfig",
"package_source_dir" : "../..",
"spack_url": "https://github.com/spack/spack.git",
"spack_commit": "291644eb783a403d824aedc8970467b00002791c",
"spack_commit": "f626ad74eebc75b4994bb3a512957604bff52813",
"spack_packages_url": "https://github.com/spack/spack-packages.git",
"spack_packages_commit": "11873c3822ff604b7a58f4f9107598dc298485d6",
"spack_packages_commit": "9baca9b4300ea4282c9daffe0ef0f51e5deb7e47",
"spack_configs_path": "scripts/spack/configs",
"spack_packages_path": ["scripts/spack/spack_repo/smith/packages"]
}
11 changes: 0 additions & 11 deletions cmake/thirdparty/FindMFEM.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -103,17 +103,6 @@ else()
string(FIND "${mfem_tpl_lnk_flags}" "\n" mfem_tpl_lnl_flags_end_pos )
string(SUBSTRING "${mfem_tpl_lnk_flags}" 0 ${mfem_tpl_lnl_flags_end_pos} mfem_tpl_lnk_flags)
string(STRIP "${mfem_tpl_lnk_flags}" mfem_tpl_lnk_flags)

# filter out items containing "Xlinker"
set(_mfem_tpl_list ${mfem_tpl_lnk_flags})
separate_arguments(_mfem_tpl_list)
list(FILTER _mfem_tpl_list EXCLUDE REGEX Xlinker)
# On Apple, -Wl,-rpath,... entries duplicate CMake's own rpath management
# (CMAKE_INSTALL_RPATH_USE_LINK_PATH) and cause ld "duplicate -rpath" warnings
if(APPLE)
list(FILTER _mfem_tpl_list EXCLUDE REGEX "^-Wl,-rpath,")
endif()
list(JOIN _mfem_tpl_list " " mfem_tpl_lnk_flags)
else()
message(WARNING "No third party library flags found in ${MFEM_CFG_DIR}/config.mk")
endif()
Expand Down
42 changes: 12 additions & 30 deletions cmake/thirdparty/SetupSmithThirdParty.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -103,35 +103,19 @@ if (NOT SMITH_THIRD_PARTY_LIBRARIES_FOUND)
endif()

#------------------------------------------------------------------------------
# Conduit (required by Axom)
# Conduit (found via Axom)
#------------------------------------------------------------------------------
if(NOT CONDUIT_DIR)
MESSAGE(FATAL_ERROR "Could not find Conduit. Conduit requires explicit CONDUIT_DIR.")
endif()

smith_assert_is_directory(DIR_VARIABLE CONDUIT_DIR)

set(_conduit_config "${CONDUIT_DIR}/lib/cmake/conduit/ConduitConfig.cmake")
if(NOT EXISTS ${_conduit_config})
MESSAGE(FATAL_ERROR "Could not find Conduit CMake include file ${_conduit_config}")
#------------------------------------------------------------------------------
# HDF5 (found via Axom)
#------------------------------------------------------------------------------
if (NOT HDF5_DIR)
MESSAGE(FATAL_ERROR "Could not find HDF5. HDF5 requires explicit HDF5_DIR.")
endif()

find_dependency(Conduit REQUIRED
PATHS "${CONDUIT_DIR}"
"${CONDUIT_DIR}/lib/cmake/conduit")

smith_assert_find_succeeded(PROJECT_NAME Conduit
TARGET conduit::conduit
DIR_VARIABLE CONDUIT_DIR)
message(STATUS "Conduit support is ON")
set(CONDUIT_FOUND TRUE)

# Manually set includes as system includes
get_target_property(_dirs conduit::conduit INTERFACE_INCLUDE_DIRECTORIES)
set_property(TARGET conduit::conduit
APPEND PROPERTY INTERFACE_SYSTEM_INCLUDE_DIRECTORIES
"${_dirs}")

#------------------------------------------------------------------------------
# Sundials
#------------------------------------------------------------------------------
Expand Down Expand Up @@ -735,19 +719,17 @@ if (NOT SMITH_THIRD_PARTY_LIBRARIES_FOUND)
endforeach()
endif()

# On Apple, Spack-built cmake configs embed literal -Wl,-rpath,... entries in
# INTERFACE_LINK_LIBRARIES. These duplicate CMake's own rpath management
# (CMAKE_INSTALL_RPATH_USE_LINK_PATH) and cause ld "duplicate -rpath" warnings.
# Prevent unhelpful warnings by removing duplicate rpaths set in MFEM's config.mk MFEM_EXT_LIBS
if(APPLE)
foreach(_target ${_mfem_targets})
if(TARGET ${_target})
get_target_property(_link_libs ${_target} INTERFACE_LINK_LIBRARIES)
if(_link_libs)
list(FILTER _link_libs EXCLUDE REGEX "^-Wl,-rpath,")
set_target_properties(${_target} PROPERTIES INTERFACE_LINK_LIBRARIES "${_link_libs}")
endif()
get_target_property(_link_str ${_target} INTERFACE_LINK_LIBRARIES)
separate_arguments(_link_list UNIX_COMMAND "${_link_str}")
list(REMOVE_DUPLICATES _link_list)
set_target_properties(${_target} PROPERTIES INTERFACE_LINK_LIBRARIES "${_link_list}")
endif()
endforeach()
unset(_link_str)
unset(_link_libs)
endif()
unset(_mfem_targets)
Expand Down
2 changes: 2 additions & 0 deletions scripts/spack/configs/toss_4_x86_64_ib/spack.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ spack:
c: /usr/tce/packages/clang/clang-19.1.3-magic/bin/clang
cxx: /usr/tce/packages/clang/clang-19.1.3-magic/bin/clang++
flags:
cflags: -fPIC
cxxflags: -fPIC
fflags: -fPIC

openblas:
Expand Down
10 changes: 5 additions & 5 deletions scripts/spack/configs/versions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ packages:
- spec: "@2.12.1"
camp:
require:
- spec: "@2025.09.2"
- spec: "@2025.12.0"
conduit:
require:
- spec: "@0.9.5"
- spec: "@0.9.6"
# Hypre v3 causes equationsolver to fail TOSS 4
hypre:
require:
Expand All @@ -27,13 +27,13 @@ packages:
- spec: "@3.21.6"
raja:
require:
- spec: "@2025.09.0"
- spec: "@2025.12.2"
sundials:
require:
- spec: "@7.5.0"
- spec: "@7.7.0"
tribol:
require:
- spec: "@0.1.0.26"
umpire:
require:
- spec: "@2025.09.0"
- spec: "@2025.12.0"
2 changes: 0 additions & 2 deletions scripts/spack/spack_repo/smith/packages/mfem/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@ class Mfem(BuiltinMfem):

variant('asan', default=False, description='Add Address Sanitizer flags')

depends_on("fortran", type="build", when="+strumpack")

# AddressSanitizer (ASan) is only supported by GCC and (some) LLVM-derived
# compilers. Denylist compilers not known to support ASan
asan_compiler_denylist = {
Expand Down
Loading