fallback library pick up logic
Current blas/lapack or FFT libraries fall back to internal versions silently. It is convenient but has side effect when users intended vendor library but for some reason, the detection failed and cmake went through due to fallback. Also users/developers cannot explicitly request using internal versions for testing purpose.
I'm thinking of having this process more explicit.
The following can be implemented in cmake. Using blas/lapack as example.
option(QE_INERNAL_LAPACK OFF) # default off
if(QE_INERNAL_LAPACK=ON)
message(warning about performance impact)
#build the internal lapack
else()
find_package(lapack)
if(lapack not found)
message(fatal_error detection failure and suggest either fixing the vendor library searching or rerun cmake with QE_INERNAL_LAPACK=ON)
endif()
endif()
Please leave your comment about this behavior change.
Edited by Ye Luo