if(request_pio)
if(LIBHDF5 is parallel)
// mode PIO
IS_PARALLEL=true
NOIO=false
else
// mode MASTER
IS_PARALLEL=false
NOIO=false on rank==0 only
endif
else
// mode ALL
IS_PARALLEL=false
NOIO=false
endif
IS_MASTER=true on rank==0 only
Fixes issue #287 (Bug: Cmake configure does not complete without MPI due to test dependencies)
When MPI is not present, FindMPI sets the MPI_LIBRARY to the "not found" state,
causing a failure when using that library name.
The fix is to set MPI_LIBRARY to an empty string if MPI is not present.
Move the coverage flags from the ctest script to the compiler scripts.
Both GCC and Clang support the GCC-style output with the --coverage flag.
Use the ENABLE_GCOV flag to add the compiler coverage flag.
Add a script (run_coverage.sh) to create the gcov files (and HTML reports
if gcovr is present) after a build is done with coverage enabled.
Comment out the use of sys/sysinfo.h - it's used to print the
free memory before a sparse eigenvalue computation. And this
eigenvalue computation appears to be unused elsewhere in the code.
The 'rt' library does not need to be linked on Mac.
Fixes:
- For some versions of the std C++ library (clang using -stdlib=libc++,
which is default on Mac OS, bgclang++11 on BG/Q) the implementation of
std::inplace_merge needs a default constructor for the iterator.
- Use myconj instead of std::conj - need to return a real number if the base
data type is real.
- Link with librt for all cases (needed to link a SHM routine).
Also clean up some clang warnings.
Some of the *.BFD.xml files in the test inputs are referenceed using a relative
symbolic link. Using FILE(COPY ...) will keep the link, which then becomes a
dangling link pointing to nothing. The previous method of
'cmake -E copy_directory' converted to link to an actual file copy. The fix is
to treat the psuedopotential files the same as the *.h5 files, and the code
creates a symbolic link to the original file.
Also print a status message with the state of QMC_SYMLINK_TEST_FILES and a short
explanation of the consequences.