p = Popen(
'{0} --version'.format(cmake_command),
shell=True,
stdin=PIPE,
stdout=PIPE)
if not ('cmake version' in p.communicate()[0].decode('UTF-8')):
sys.stderr.write(' This code is built using CMake\n\n')
sys.stderr.write(' CMake is not found\n')
sys.stderr.write(' get CMake at http://www.cmake.org/\n')
sys.stderr.write(' on many clusters CMake is installed\n')
sys.stderr.write(' but you have to load it first:\n')
sys.stderr.write(' $ module load cmake\n')
sys.exit(1)
It seems this is not robust and a case has been reported where the output contains "cmake3 version". I think we should better check for the return code instead of grepping for a string.
Currently we do this:
It seems this is not robust and a case has been reported where the output contains "cmake3 version". I think we should better check for the return code instead of grepping for a string.