mirror of https://github.com/davisking/dlib.git
Give python users clear instructions about how to install cmake
This commit is contained in:
parent
3ca155da68
commit
aba96b576a
43
setup.py
43
setup.py
|
@ -115,7 +115,45 @@ class CMakeBuild(build_ext):
|
|||
try:
|
||||
out = subprocess.check_output(['cmake', '--version'])
|
||||
except:
|
||||
sys.stderr.write("\nERROR: CMake must be installed to build dlib\n\n")
|
||||
sys.stderr.write("""
|
||||
================================================================================
|
||||
================================================================================
|
||||
================================================================================
|
||||
|
||||
CMake is not installed on your system!
|
||||
|
||||
Or it is possible some broken copy of cmake is installed on your system.
|
||||
It is unfortunately very common for python package managers to include
|
||||
broken copies of cmake. So if the error above this refers to some file
|
||||
path to a cmake file inside a python or anaconda or miniconda path then you
|
||||
should delete that broken copy of cmake from your computer.
|
||||
|
||||
Instead, please get an official copy of cmake from one of these known good
|
||||
sources of an official cmake:
|
||||
- cmake.org (this is how windows users should get cmake)
|
||||
- apt install cmake (for Ubuntu or Debian based systems)
|
||||
- yum install cmake (for Redhat or CenOS based systems)
|
||||
|
||||
On a linux machine you can run `which cmake` to see what cmake you are
|
||||
actually using. If it tells you it's some cmake from any kind of python
|
||||
packager delete it and install an official cmake.
|
||||
|
||||
More generally, cmake is not installed if when you open a terminal window
|
||||
and type
|
||||
cmake --version
|
||||
you get an error. So you can use that as a very basic test to see if you
|
||||
have cmake installed. That is, if cmake --version doesn't run from the
|
||||
same terminal window from which you are reading this error message, then
|
||||
you have not installed cmake. Windows users should take note that they
|
||||
need to tell the cmake installer to add cmake to their PATH. Since you
|
||||
can't run commands that are not in your PATH. This is how the PATH works
|
||||
on Linux as well, but failing to add cmake to the PATH is a particularly
|
||||
common problem on windows and rarely a problem on Linux.
|
||||
|
||||
================================================================================
|
||||
================================================================================
|
||||
================================================================================
|
||||
""")
|
||||
sys.exit(1)
|
||||
return re.search(r'version\s*([\d.]+)', out.decode()).group(1)
|
||||
|
||||
|
@ -199,8 +237,7 @@ def read_version_from_cmakelists(cmake_file):
|
|||
return major + '.' + minor + '.' + patch
|
||||
|
||||
def read_entire_file(fname):
|
||||
"""Read text out of a file relative to setup.py.
|
||||
"""
|
||||
"""Read text out of a file relative to setup.py. """
|
||||
return open(os.path.join(fname)).read()
|
||||
|
||||
setup(
|
||||
|
|
Loading…
Reference in New Issue