Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

full cmake 5/N: prerequisites #314

Open
wants to merge 17 commits into
base: master
Choose a base branch
from
Open
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
2 changes: 1 addition & 1 deletion CHANGES
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Following is a brief summary of changes made in each release of Libint.
- PR #283: bump pybind11 to ValeevGroup/[email protected] (HT @asadchev)
- PR #282: removed obsolete basis files (HT @JonathonMisiewicz)
- PR #279: fixed error in 1-e erf/erfc integrals (HT @JonathonMisiewicz)
- PR @273: support for 1-e (σ·p)V(σ·p) integrals (HT @JonathonMisiewicz)
- PR #273: support for 1-e (σ·p)V(σ·p) integrals (HT @JonathonMisiewicz)
- PR #271: Add `libint2::configuration_accessor` and `libint2::supports` functions. If
library source is patched, these provide codes for what integrals a library instance can supply. (HT @loriab)
- PR #271: Small pkgconfig and cmake detection improvements. Enable unity build.
Expand Down
360 changes: 360 additions & 0 deletions CMakeLists.txt

Large diffs are not rendered by default.

455 changes: 450 additions & 5 deletions INSTALL.md

Large diffs are not rendered by default.

83 changes: 83 additions & 0 deletions cmake/libint2-config.cmake.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# libint2-config.cmake
# --------------------
#
# Libint2 cmake module.
# This module sets the following variables in your project:
#
# ::
#
# Libint2_EXT_VERSION - Libint2 version including buildid, such as beta.3. Prefer target variable.
# Libint2_MAX_AM_ERI - maximum angular momentum level of Libint2 libraries for 4-center energy
# integrals. Prefer target variable.
#
#
# Available components:
#
# ::
#
# See https://github.com/evaleev/libint/blob/master/INSTALL.md#configuration-codes
# for more details on these codes.
#
# multipole_hh_dD - search for including spherical multipole integrals
# onebody_hh_dD - search for library including 1-body integrals
# eri_hhhh_dD - search for library including 2-body integrals with 4 centers
# eri_hhL_dD - search for library including 2-body integrals with 3 centers
# eri_hhl_dD - ditto
# eri_HH_dD - search for library including 2-body integrals with 2 centers
# eri_hh_dD - ditto
# g12_hhhh_dD - search for library including F12 integrals with Gaussian factors
#
# cart shell_set used_by
# -------- --------- -------
# ( psi4 requires runtime-setting of )
# ss - search for standard + standard = mpqc4, cp2k, psi4 ( solid harmonic ordering to Gaussian )
# so - search for + orca
# is - search for intv3 + standard = mpqc3
# io - search for + orca
# gs - search for gamess + standard = gamess
# go - search for + orca
# os - search for orca + standard
# oo - search for + orca = orca
# bs - search for bagel + standard = bagel
# bo - search for + orca

@PACKAGE_INIT@

set(pnv libint2) # projectnameversion
set(L2 Libint2) # NameSpace

set(Libint2_EXT_VERSION "@LIBINT_EXT_VERSION@")

# make detectable the various cmake modules exported alongside
# * prepend to trump any pre-target FindEigen3.cmake modules lying around
list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})

# check library language component
include(CMakeFindDependencyMacro)

if(NOT TARGET Eigen3::Eigen)
find_dependency(Eigen3 REQUIRED)
endif()

if (@LIBINT_HAS_SYSTEM_BOOST_PREPROCESSOR_VARIADICS@) # LIBINT_HAS_SYSTEM_BOOST_PREPROCESSOR_VARIADICS
# Boost headers _not_ unpacked to within `include/libint2/`
if (NOT TARGET Boost::headers)
find_dependency(Boost 1.57 REQUIRED)
endif()
else()
if(NOT CMAKE_REQUIRED_QUIET)
message(STATUS "Boost detected. satisfied by headers bundled with ${L2} distribution")
endif()
endif()

# check orderings, AM, & derivatives components
# * LIBINT2_SHGAUSS_ORDERING = @LIBINT2_SHGAUSS_ORDERING@
# * LIBINT2_CARTGAUSS_ORDERING = @LIBINT2_CARTGAUSS_ORDERING@
# * LIBINT2_SHELL_SET = @LIBINT2_SHELL_SET@
set(${L2}_MAX_AM_ERI @Libint2_MAX_AM_ERI@) # Libint2_MAX_AM_ERI
foreach(_eri @Libint2_CONFIG_COMPONENTS@) # Libint2_CONFIG_COMPONENTS
set(${L2}_${_eri}_FOUND 1)
endforeach()



4 changes: 4 additions & 0 deletions cmake/modules/.git_archival.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
node: $Format:%H$
node-date: $Format:%cI$
describe-name: $Format:%(describe:tags=true,match=?[0-9.]*)$
ref-names: $Format:%D$
Loading