From 3007c5fe282794fd27d37702c414f1cbecb93ab6 Mon Sep 17 00:00:00 2001 From: Shiv Upadhyay Date: Thu, 24 Apr 2025 02:20:41 -0400 Subject: [PATCH 1/6] bump deps --- CMakeLists.txt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ad3c2895f..e780509ce 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -134,7 +134,7 @@ find_package(OpenMP REQUIRED) FetchContent_Declare( nlohmann_json GIT_REPOSITORY https://github.com/nlohmann/json - GIT_TAG v3.11.3) + GIT_TAG v3.12.0) FetchContent_GetProperties(nlohmann_json) set(JSON_BuildTests OFF) if(NOT nlohmann_json_POPULATED) @@ -146,14 +146,14 @@ endif(NOT nlohmann_json_POPULATED) FetchContent_Declare( CPR GIT_REPOSITORY https://github.com/whoshuu/cpr.git - GIT_TAG 1.10.5) + GIT_TAG 1.11.2) set(BUILD_CPR_TESTS OFF) set(BUILD_CPR_TESTS_SSL OFF) set(BUILD_TESTING OFF) FetchContent_MakeAvailable(CPR) ######################################## # Eigen for matrix math -find_package(Eigen3 3.3 NO_MODULE) +find_package(Eigen3 3.4 NO_MODULE) if (NOT TARGET Eigen3::Eigen) FetchContent_Declare( Eigen @@ -238,8 +238,8 @@ set(HIGHFIVE_BUILD_DOCS OFF CACHE INTERNAL "") # Forces the value set(HIGHFIVE_EXAMPLES OFF CACHE INTERNAL "") # Forces the value FetchContent_Declare( HighFive - GIT_REPOSITORY https://github.com/BlueBrain/HighFive.git - GIT_TAG v2.9.0) + GIT_REPOSITORY https://github.com/highfive-devs/highfive.git + GIT_TAG v3.0.0-beta2) FetchContent_MakeAvailable(HighFive) ######################################## # Text Formatting @@ -254,7 +254,7 @@ FetchContent_MakeAvailable(fmt) FetchContent_Declare( Catch2 GIT_REPOSITORY https://github.com/catchorg/Catch2.git - GIT_TAG v3.6.0) + GIT_TAG v3.8.1) FetchContent_MakeAvailable(Catch2) set(CMAKE_MODULE_PATH "${catch2_SOURCE_DIR}/contrib" ${CMAKE_MODULE_PATH}) include(Catch) From 341e939a948077789de2860fc652bc1aa215ef06 Mon Sep 17 00:00:00 2001 From: Shiv Upadhyay Date: Thu, 24 Apr 2025 02:35:31 -0400 Subject: [PATCH 2/6] Need type to be trivially copyable --- src/io/hdf5_utilities.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/io/hdf5_utilities.cpp b/src/io/hdf5_utilities.cpp index 241856c3c..da959987d 100644 --- a/src/io/hdf5_utilities.cpp +++ b/src/io/hdf5_utilities.cpp @@ -190,7 +190,8 @@ void POLYQUANT_HDF5::dump_MOs(std::string quantum_part_name, int num_ao, int num // } path = super_twist_group + "/eigenset_" + std::to_string(spin_idx); // H5Easy::dump(*hdf5_file, path, flattened_mo_coeff, H5Easy::DumpMode::Overwrite); - H5Easy::dump(*hdf5_file, path, mo_coeff[spin_idx].transpose(), H5Easy::DumpMode::Overwrite); + Eigen::Matrix mo_transpose = mo_coeff[spin_idx].transpose(); + H5Easy::dump(*hdf5_file, path, mo_transpose, H5Easy::DumpMode::Overwrite); path = super_twist_group + "/eigensymmlab_" + std::to_string(spin_idx); H5Easy::dump(*hdf5_file, path, mo_symm_labels[spin_idx], H5Easy::DumpMode::Overwrite); From 4f19f2ec274ed174b9564ebbec37f15ef037b508 Mon Sep 17 00:00:00 2001 From: Shiv Upadhyay Date: Mon, 1 Dec 2025 16:29:26 -0500 Subject: [PATCH 3/6] update JSON cmake --- CMakeLists.txt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e780509ce..0ffa04ff3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -137,10 +137,11 @@ FetchContent_Declare( GIT_TAG v3.12.0) FetchContent_GetProperties(nlohmann_json) set(JSON_BuildTests OFF) -if(NOT nlohmann_json_POPULATED) - FetchContent_Populate(nlohmann_json) - add_subdirectory(${nlohmann_json_SOURCE_DIR} ${nlohmann_json_BINARY_DIR} EXCLUDE_FROM_ALL) -endif(NOT nlohmann_json_POPULATED) +FetchContent_MakeAvailable(nlohmann_json) +# if(NOT nlohmann_json_POPULATED) +# FetchContent_Populate(nlohmann_json) +# add_subdirectory(${nlohmann_json_SOURCE_DIR} ${nlohmann_json_BINARY_DIR} EXCLUDE_FROM_ALL) +# endif(NOT nlohmann_json_POPULATED) ######################################## # curl requests to get basis sets FetchContent_Declare( From b0490f215cdee72921492fa12ff8d6d82455b809 Mon Sep 17 00:00:00 2001 From: Shiv Upadhyay Date: Sun, 7 Dec 2025 14:56:46 -0500 Subject: [PATCH 4/6] add libint cron action to main branch --- .github/workflows/libint.yml | 71 ++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 .github/workflows/libint.yml diff --git a/.github/workflows/libint.yml b/.github/workflows/libint.yml new file mode 100644 index 000000000..15ae053ea --- /dev/null +++ b/.github/workflows/libint.yml @@ -0,0 +1,71 @@ +name: Polyquant configured libint build +on: + schedule: + - cron: '0 1 1 * *' + +jobs: + libint-build: + name: ${{ matrix.config.name }} + runs-on: ${{ matrix.config.os }} + strategy: + fail-fast: false + matrix: + config: + - { + name: "Ubuntu_Latest_GCC", + os: ubuntu-latest, + artifact: "polyquant-libint.deb", + build_type: "Release", + cc: "gcc", + cxx: "g++", + generators: "Ninja" + } + steps: + - name: checkout project + uses: actions/checkout@v4 + with: + ref: 'libint' + - name: Print env + run: | + echo github.event.action: ${{ github.event.action }} + echo github.event_name: ${{ github.event_name }} + - name: Install dependencies on ubuntu + if: startsWith(matrix.config.name, 'Ubuntu_Latest_GCC') + run: | + sudo apt-get update + sudo apt-get install -y ninja-build cmake + ninja --version + cmake --version + gcc --version + sudo apt-get install -y libeigen3-dev libboost-all-dev + mkdir builddir + mkdir installdir + - name: Configure + shell: bash + working-directory: builddir + run: | + cmake \ + -DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }} \ + -DLIBINT2_ENABLE_FORTRAN=OFF \ + -DLIBINT2_REALTYPE=double \ + -DBUILD_TESTING=OFF \ + -DLIBINT2_BUILD_SHARED_AND_STATIC_LIBS=ON \ + -G "${{ matrix.config.generators }}" \ + $GITHUB_WORKSPACE + - name: Build + shell: bash + working-directory: builddir + run: cmake --build . --config ${{ matrix.config.build_type }} + - name: Build deb + shell: bash + working-directory: builddir + run: cmake --build . --target package + - name: Rename deb + shell: bash + run: | + mv builddir/Libint2-2.7.2-Linux.deb ${{ matrix.config.artifact }} + - name: Upload + uses: actions/upload-artifact@v4 + with: + path: ./${{ matrix.config.artifact }} + name: ${{ matrix.config.artifact }} From 36e4fd9a0fbf00e044e82e5d0cf92f5d68fd1aa0 Mon Sep 17 00:00:00 2001 From: Shiv Upadhyay Date: Sun, 7 Dec 2025 15:09:51 -0500 Subject: [PATCH 5/6] remove submodules --- CMake/bilke_cmake_modules | 1 - CMake/cmake-modules | 1 - CMakeLists.txt | 20 ++++++++++++++++++-- 3 files changed, 18 insertions(+), 4 deletions(-) delete mode 160000 CMake/bilke_cmake_modules delete mode 160000 CMake/cmake-modules diff --git a/CMake/bilke_cmake_modules b/CMake/bilke_cmake_modules deleted file mode 160000 index 1b68d17d3..000000000 --- a/CMake/bilke_cmake_modules +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 1b68d17d3e3321c08092f994a40e0b6a13dff817 diff --git a/CMake/cmake-modules b/CMake/cmake-modules deleted file mode 160000 index d77f48b71..000000000 --- a/CMake/cmake-modules +++ /dev/null @@ -1 +0,0 @@ -Subproject commit d77f48b7179ff85cd78a6940ad51dc5c06ec1ee3 diff --git a/CMakeLists.txt b/CMakeLists.txt index 0ffa04ff3..ce3ea9609 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -39,8 +39,24 @@ message("CMAKE_BUILD_TYPE = ${CMAKE_BUILD_TYPE}") # set up where to find Find*.cmake files and where to put the things we build # add_compile_options(-Wall -Wextra -pedantic -Werror -O3) set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMake" ${CMAKE_MODULE_PATH}) -set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMake/cmake-modules" ${CMAKE_MODULE_PATH}) -set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMake/bilke_cmake_modules" ${CMAKE_MODULE_PATH}) + +################################################################################ +# linear algebra cmake modules +FetchContent_Declare( linalg_cmake_modules + GIT_REPOSITORY https://github.com/wavefunction91/linalg-cmake-modules.git + GIT_TAG main +) +FetchContent_MakeAvailable( linalg_cmake_modules ) +set(CMAKE_MODULE_PATH "${linalg_cmake_modules_SOURCE_DIR}" ${CMAKE_MODULE_PATH}) +################################################################################ +# bilke cmake modules +FetchContent_Declare( bilke_cmake_modules + GIT_REPOSITORY https://github.com/bilke/cmake-modules.git + GIT_TAG main +) +FetchContent_MakeAvailable( bilke_cmake_modules ) +set(CMAKE_MODULE_PATH "${bilke_cmake_modules_SOURCE_DIR}" ${CMAKE_MODULE_PATH}) +################################################################################ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${POLYQUANT_BINARY_DIR}/lib CACHE PATH "Single output directory for building all libraries.") set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${POLYQUANT_BINARY_DIR}/bin CACHE PATH "Single output directory for building all executables.") ################################################################################ From ba375267ceba15166434538c62a26087e76d1101 Mon Sep 17 00:00:00 2001 From: Shiv Upadhyay Date: Sun, 7 Dec 2025 15:11:29 -0500 Subject: [PATCH 6/6] update --- .github/workflows/libint.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/libint.yml b/.github/workflows/libint.yml index 15ae053ea..420b29657 100644 --- a/.github/workflows/libint.yml +++ b/.github/workflows/libint.yml @@ -1,5 +1,8 @@ name: Polyquant configured libint build on: + push: + branches: + - libint schedule: - cron: '0 1 1 * *'