diff --git a/CMakeLists.txt b/CMakeLists.txt index 94efc973..1342a63a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -60,6 +60,7 @@ set( GAUXC_HAS_HIP FALSE CACHE BOOL "" FORCE ) set( GAUXC_HAS_MPI FALSE CACHE BOOL "" FORCE ) set( GAUXC_HAS_OPENMP FALSE CACHE BOOL "" FORCE ) set( GAUXC_HAS_GAU2GRID FALSE CACHE BOOL "" FORCE ) +set( GAUXC_HAS_EXT_GG FALSE CACHE BOOL "" FORCE ) set( GAUXC_HAS_HDF5 FALSE CACHE BOOL "" FORCE ) set( GAUXC_HAS_MAGMA FALSE CACHE BOOL "" FORCE ) set( GAUXC_HAS_NCCL FALSE CACHE BOOL "" FORCE ) @@ -73,6 +74,7 @@ mark_as_advanced( FORCE GAUXC_HAS_MPI GAUXC_HAS_OPENMP GAUXC_HAS_GAU2GRID + GAUXC_HAS_EXT_GG GAUXC_HAS_HDF5 GAUXC_HAS_MAGMA GAUXC_HAS_NCCL diff --git a/cmake/gauxc-config.cmake.in b/cmake/gauxc-config.cmake.in index 426b7f10..c821589a 100644 --- a/cmake/gauxc-config.cmake.in +++ b/cmake/gauxc-config.cmake.in @@ -19,6 +19,7 @@ set( GAUXC_HAS_CUTLASS @GAUXC_HAS_CUTLASS@ ) set( GAUXC_HAS_MPI @GAUXC_HAS_MPI@ ) set( GAUXC_HAS_OPENMP @GAUXC_HAS_OPENMP@ ) set( GAUXC_HAS_GAU2GRID @GAUXC_HAS_GAU2GRID@ ) +set( GAUXC_HAS_EXT_GG @GAUXC_HAS_EXT_GG@ ) set( GAUXC_HAS_HDF5 @GAUXC_HAS_HDF5@ ) set( GAUXC_BLAS_IS_LP64 @GAUXC_BLAS_IS_LP64@ ) @@ -30,6 +31,10 @@ if(GAUXC_HAS_OPENMP) find_dependency( OpenMP ) endif() +if( GAUXC_HAS_EXT_GG AND NOT TARGET gau2grid::gg ) + find_dependency( gau2grid ) +endif() + if( GAUXC_HAS_HOST ) if(GAUXC_BLAS_IS_LP64) set( _blas_components lp64 ) diff --git a/cmake/gauxc-gau2grid.cmake b/cmake/gauxc-gau2grid.cmake index 51db34d8..5dbe4ac1 100644 --- a/cmake/gauxc-gau2grid.cmake +++ b/cmake/gauxc-gau2grid.cmake @@ -28,7 +28,8 @@ if( GAUXC_ENABLE_GAU2GRID ) if( NOT TARGET gau2grid::gg ) message( STATUS "Something Went Horribly Wrong With Gau2Grid discovery!" ) endif() - + + set( GAUXC_HAS_EXT_GG TRUE CACHE BOOL "GauXC is using an external Gau2Grid dependency" FORCE ) else() message( STATUS "Building Pregenerated Gau2grid" ) @@ -36,6 +37,8 @@ if( GAUXC_ENABLE_GAU2GRID ) endif() + else() + set( GAUXC_HAS_EXT_GG TRUE CACHE BOOL "GauXC is using an external Gau2Grid dependency" FORCE ) endif() # If not discoverable endif() # If target not present