mirror of https://gitlab.com/QEF/q-e.git
fixes to the FindLibxc logic
This commit is contained in:
parent
7ac0a4e6b2
commit
9395493fdd
|
@ -367,7 +367,10 @@ qe_install_targets(qe_external_libxc)
|
|||
if(QE_ENABLE_LIBXC)
|
||||
target_compile_definitions(qe_external_libxc INTERFACE "__LIBXC")
|
||||
|
||||
find_package(Libxc 5.1.2 REQUIRED COMPONENTS Fortran)
|
||||
find_package(Libxc 5.1.2 COMPONENTS Fortran)
|
||||
if (NOT Libxc_FOUND)
|
||||
find_package(Libxc 5.1.2 COMPONENTS Fortran CONFIG)
|
||||
endif()
|
||||
|
||||
if(${Libxc_FOUND})
|
||||
if (${Libxc_VERSION} VERSION_GREATER_EQUAL "5.1.2" )
|
||||
|
|
|
@ -11,6 +11,14 @@ find_library(LIBXC_LIBRARIES NAMES xc
|
|||
${_LIBXC_LIBRARY_DIRS}
|
||||
DOC "libxc libraries list")
|
||||
|
||||
find_library(LIBXC_LIBRARIES_F90 NAMES xcf90
|
||||
PATH_SUFFIXES lib
|
||||
HINTS
|
||||
ENV EBROOTLIBXC
|
||||
ENV LIBXCROOT
|
||||
${_LIBXC_LIBRARY_DIRS}
|
||||
DOC "libxc libraries list")
|
||||
|
||||
find_library(LIBXC_LIBRARIES_F03 NAMES xcf03
|
||||
PATH_SUFFIXES lib
|
||||
HINTS
|
||||
|
@ -19,22 +27,37 @@ find_library(LIBXC_LIBRARIES_F03 NAMES xcf03
|
|||
${_LIBXC_LIBRARY_DIRS}
|
||||
DOC "libxc libraries list")
|
||||
|
||||
find_path(LIBXC_INCLUDE_DIR NAMES xc.h xc_f90_types_m.mod xc_f03_lib_m.mod
|
||||
find_path(LIBXC_INCLUDE_DIR NAMES xc.h
|
||||
PATH_SUFFIXES inc include
|
||||
HINTS
|
||||
${_LIBXC_INCLUDE_DIRS}
|
||||
ENV EBROOTLIBXC
|
||||
ENV LIBXCROOT
|
||||
)
|
||||
ENV LIBXCROOT)
|
||||
|
||||
find_path(LIBXC_INCLUDE_DIR_F90 NAMES xc_f90_lib_m.mod
|
||||
PATH_SUFFIXES inc include
|
||||
HINTS
|
||||
${_LIBXC_INCLUDE_DIRS}
|
||||
ENV EBROOTLIBXC
|
||||
ENV LIBXCROOT)
|
||||
|
||||
find_path(LIBXC_INCLUDE_DIR_F03 NAMES xc_f03_lib_m.mod
|
||||
PATH_SUFFIXES inc include
|
||||
HINTS
|
||||
${_LIBXC_INCLUDE_DIRS}
|
||||
ENV EBROOTLIBXC
|
||||
ENV LIBXCROOT)
|
||||
|
||||
find_package_handle_standard_args(Libxc DEFAULT_MSG LIBXC_LIBRARIES LIBXC_INCLUDE_DIR)
|
||||
|
||||
if (Libxc_FOUND)
|
||||
if (${Libxc_FOUND} AND LIBXC_LIBRARIES_F90 AND LIBXC_LIBRARIES_F03 AND LIBXC_INCLUDE_DIR_F90 AND LIBXC_INCLUDE_DIR_F03)
|
||||
set(Libxc_VERSION ${Libxc_FIND_VERSION})
|
||||
set(Libxc_INCLUDE_DIR ${LIBXC_INCLUDE_DIR})
|
||||
add_library(Libxc::xcf03 INTERFACE IMPORTED)
|
||||
set_target_properties(Libxc::xcf03 PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${LIBXC_INCLUDE_DIR}"
|
||||
INTERFACE_LINK_LIBRARIES "${LIBXC_LIBRARIES};${LIBXC_LIBRARIES_F03}")
|
||||
else()
|
||||
unset(Libxc_FOUND)
|
||||
endif()
|
||||
|
||||
|
|
Loading…
Reference in New Issue