From 01c2d3e6151292887301a3599d6080c6feb8f0e8 Mon Sep 17 00:00:00 2001 From: Growl Date: Sun, 9 Aug 2026 11:24:24 +0800 Subject: [PATCH 1/2] CMake: Move __DFTD4 to global feature definitions --- source/CMakeLists.txt | 1 + source/source_hamilt/module_vdw/CMakeLists.txt | 1 - source/source_hamilt/module_vdw/test/CMakeLists.txt | 1 - 3 files changed, 1 insertion(+), 2 deletions(-) diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 0c1653293c..f77001e2ae 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -67,6 +67,7 @@ set(_abacus_feature_definitions $<$:TEST_EXX_RADIAL=1> $<$:__EXX_DEV> $<$:__LIBXC> + $<$:__DFTD4> $<$:GATHER_INFO>) if(ABACUS_COMMIT_INFO_INCLUDE_DIR) diff --git a/source/source_hamilt/module_vdw/CMakeLists.txt b/source/source_hamilt/module_vdw/CMakeLists.txt index f59434bde7..37b16ca3a5 100644 --- a/source/source_hamilt/module_vdw/CMakeLists.txt +++ b/source/source_hamilt/module_vdw/CMakeLists.txt @@ -17,7 +17,6 @@ add_library(vdw OBJECT ${vdw_sources}) if(ENABLE_DFTD4) target_link_libraries(vdw PUBLIC dftd4::dftd4) - target_compile_definitions(vdw PUBLIC __DFTD4) endif() if(ENABLE_COVERAGE) diff --git a/source/source_hamilt/module_vdw/test/CMakeLists.txt b/source/source_hamilt/module_vdw/test/CMakeLists.txt index b881037a4e..c854bd7e34 100644 --- a/source/source_hamilt/module_vdw/test/CMakeLists.txt +++ b/source/source_hamilt/module_vdw/test/CMakeLists.txt @@ -12,6 +12,5 @@ AddTest( ) if(ENABLE_DFTD4) - target_compile_definitions(MODULE_HAMILT_vdwTest PRIVATE __DFTD4) target_link_libraries(MODULE_HAMILT_vdwTest PRIVATE dftd4::dftd4) endif() From 98e6263db6ef6840a43d85251757f59740b85146 Mon Sep 17 00:00:00 2001 From: Growl Date: Sun, 9 Aug 2026 11:54:11 +0800 Subject: [PATCH 2/2] Add dftd4 status to CMake build summary and `abacus -i` --- cmake/CollectBuildInfoVars.cmake | 7 +++++++ source/source_io/build_info.h.in | 9 ++++++--- source/source_io/parse_args.cpp | 13 ++++++++----- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/cmake/CollectBuildInfoVars.cmake b/cmake/CollectBuildInfoVars.cmake index 0ad7b9af91..028406bbe4 100644 --- a/cmake/CollectBuildInfoVars.cmake +++ b/cmake/CollectBuildInfoVars.cmake @@ -187,6 +187,12 @@ else() set(ABACUS_LIBXC_VERSION "no") endif() +if(ENABLE_DFTD4) + set(ABACUS_DFTD4_VERSION "yes (v${dftd4_VERSION})") +else() + set(ABACUS_DFTD4_VERSION "no") +endif() + # Accelerators if(USE_CUDA AND CUDAToolkit_VERSION) set(ABACUS_CUDA_VERSION "yes (v${CUDAToolkit_VERSION})") @@ -451,6 +457,7 @@ message(" LibRI = ${ABACUS_LIBRI_VERSION}") if(ENABLE_EXX_DEV) message(" (EXX developing features enabled)") endif() +message(" DFT-D4 = ${ABACUS_DFTD4_VERSION}") message(" RAPIDJSON = ${ABACUS_RAPIDJSON_VERSION}") message(" PEXSI = ${ABACUS_PEXSI_VERSION}") message(" CNPY = ${ABACUS_CNPY_VERSION}") diff --git a/source/source_io/build_info.h.in b/source/source_io/build_info.h.in index b0959240f4..707a49d99f 100644 --- a/source/source_io/build_info.h.in +++ b/source/source_io/build_info.h.in @@ -50,11 +50,14 @@ #define ABACUS_NEP_VERSION "@ABACUS_NEP_VERSION@" #define ABACUS_TENSORFLOW_VERSION "@ABACUS_TENSORFLOW_VERSION@" -// --- Testing & Other Libraries --- -#define ABACUS_GTEST_VERSION "@ABACUS_GTEST_VERSION@" -#define ABACUS_GOOGLEBENCH_VERSION "@ABACUS_GOOGLEBENCH_VERSION@" +// --- Other Libraries --- +#define ABACUS_DFTD4_VERSION "@ABACUS_DFTD4_VERSION@" #define ABACUS_RAPIDJSON_VERSION "@ABACUS_RAPIDJSON_VERSION@" #define ABACUS_PEXSI_VERSION "@ABACUS_PEXSI_VERSION@" #define ABACUS_CNPY_VERSION "@ABACUS_CNPY_VERSION@" +// --- Testing --- +#define ABACUS_GTEST_VERSION "@ABACUS_GTEST_VERSION@" +#define ABACUS_GOOGLEBENCH_VERSION "@ABACUS_GOOGLEBENCH_VERSION@" + #endif // SOURCE_IO_BUILD_INFO_H diff --git a/source/source_io/parse_args.cpp b/source/source_io/parse_args.cpp index 286216f4ed..f62c611c30 100644 --- a/source/source_io/parse_args.cpp +++ b/source/source_io/parse_args.cpp @@ -162,15 +162,18 @@ void print_build_info() print_info("NEP Support", ABACUS_NEP_VERSION); print_info("TensorFlow Support", ABACUS_TENSORFLOW_VERSION); - // --- 11. Testing & Other Libraries --- - print_section("Testing & Other Libraries"); - print_info("GTest Support", ABACUS_GTEST_VERSION); - print_info("Google Benchmark", ABACUS_GOOGLEBENCH_VERSION); + // --- 11. Other Libraries --- + print_section("Other Libraries"); + print_info("DFT-D4 Support", ABACUS_DFTD4_VERSION); print_info("RapidJSON Support", ABACUS_RAPIDJSON_VERSION); print_info("PEXSI Support", ABACUS_PEXSI_VERSION); print_info("cnpy Support", ABACUS_CNPY_VERSION); - std::cout << "----------------------------------------------------" << std::endl; + // --- 12. Testing --- + print_section("Testing"); + print_info("GTest Support", ABACUS_GTEST_VERSION); + print_info("Google Benchmark", ABACUS_GOOGLEBENCH_VERSION); + std::cout << std::endl; }