View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0014019 | CMake | CMake | public | 2013-03-15 10:06 | 2016-06-10 14:31 | ||||
Reporter | Luc J. Bourhis | ||||||||
Assigned To | Kitware Robot | ||||||||
Priority | normal | Severity | feature | Reproducibility | N/A | ||||
Status | closed | Resolution | moved | ||||||
Platform | OS | OS Version | |||||||
Product Version | CMake 2.8.10 | ||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0014019: ExternalProject_Add: please support python setup.py style of install | ||||||||
Description | Many python extensions are installed by relying on a distutils scheme. They ship with a Python script setup.py and the installation proceeds with python setup.py install in the simplest case. The most general scheme is a two-step process: python setup.py build [options] (or build_ext instead) and then python setup.py install [options]. Performing the latter without options always does the right thing. It would be nice if ExternalProject_Add supported new arguments to set it up out of the box. I propose the following: ExternalProject_Add( ... PYTHON_SETUP 1 # switch distutils style of installing on/off PYTHON_EXECUTABLE path # which Python interpreter to use # default: ${PYTHON_EXECUTABLE} as found by FindPython PYTHON_BUILD_COMMAND # arguments passed to python setup.py for the build stage # default: build PYTHON_INSTALL_COMMAND # arguments passed to python setup.py for the install stage # default: install ) | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | |||||||||
Relationships | |
Relationships |
Notes | |
(0032640) David Cole (manager) 2013-03-15 11:53 |
Isn't this just as simple, and already out of the box? find_package(PythonInterp REQUIRED) ExternalProject_Add( # ... download stuff for the project ... CONFIGURE_COMMAND "" BUILD_COMMAND ${PYTHON_EXECUTABLE} setup.py build INSTALL_COMMAND ${PYTHON_EXECUTABLE} setup.py install BUILD_IN_SOURCE 1 # I assume for python setup.py to work, the source directory # and the build directory must be the same? ) Why complicate ExternalProject with special keywords for python projects? Should it also support Ruby gems, and Java jar files, and other languages too, each with their own special case keywords and default build and install command lines? |
(0032641) Luc J. Bourhis (reporter) 2013-03-15 12:00 |
You are correct about BUILD_IN_SOURCE. Then that's 4 lines when it could be just 1. For a project with a significant number of external dependencies of this kind to install (I have got one with more than a dozen), that matters in term of readability. As for supporting for Ruby gems and Java jar files, why not indeed, if somebody requests it. The strong point of CMake is to cater for common scenarios out-of-the-box imho. |
(0042251) Kitware Robot (administrator) 2016-06-10 14:28 |
Resolving issue as `moved`. This issue tracker is no longer used. Further discussion of this issue may take place in the current CMake Issues page linked in the banner at the top of this page. |
Notes |
Issue History | |||
Date Modified | Username | Field | Change |
2013-03-15 10:06 | Luc J. Bourhis | New Issue | |
2013-03-15 11:53 | David Cole | Note Added: 0032640 | |
2013-03-15 12:00 | Luc J. Bourhis | Note Added: 0032641 | |
2016-06-10 14:28 | Kitware Robot | Note Added: 0042251 | |
2016-06-10 14:28 | Kitware Robot | Status | new => resolved |
2016-06-10 14:28 | Kitware Robot | Resolution | open => moved |
2016-06-10 14:28 | Kitware Robot | Assigned To | => Kitware Robot |
2016-06-10 14:31 | Kitware Robot | Status | resolved => closed |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |