CMake: Deprecate ENABLE_LIBCOMM and rename options#7620
Conversation
QuantumMisaka
left a comment
There was a problem hiding this comment.
Rule: CMake option migration completeness
Severity: error
Location: toolchain/build_abacus_gnu.sh:68 and generate_build_info.sh:66
Reason: This PR states that the old option names remain only in the compatibility layer, but repository-owned configuration entry points still pass/read USE_OPENMP and USE_ELPA. The same stale configure flags are present in toolchain/build_abacus_gcc-mkl.sh, toolchain/build_abacus_intel.sh, toolchain/build_abacus_gcc-aocl.sh, toolchain/build_abacus_aocc-aocl.sh, and toolchain/build_abacus_windows.sh; generate_build_info.sh still consumes USE_ELPA. Each invocation therefore emits deprecation warnings, and these scripts will break when the compatibility layer is removed.
Suggested action: Migrate these ABACUS CMake invocations and the ELPA build-info checks to ENABLE_OPENMP/ENABLE_ELPA in this PR (and update any corresponding toolchain documentation).
Exception: not allowed
|
Thank you, I've adjusted building scripts under |
This PR renames and migrates several CMake options and deprecates the redundant
ENABLE_LIBCOMMoption.USE_OPENMPwithENABLE_OPENMPUSE_ELPAwithENABLE_ELPAUSE_ABACUS_LIBMwithENABLE_ABACUS_LIBMINFOwithMATH_INFOENABLE_DEEPKSandENABLE_MLKEDF.USE_ABACUS_LIBMpreprocessor definition to__ABACUS_LIBM, avoiding confusion with the deprecated CMake option of the same name.ENABLE_LIBCOMM, since LibComm is an implementation dependency of LibRI rather than an independently configurable ABACUS feature.Compatibility
Existing configurations using the old option names remain temporarily supported through the compatibility layer and emit deprecation warnings. Users should migrate to the new names, as support for the old options may be removed in a future release.