allow full CMake-driven build and install. #61
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Resolve #60 : allow CMake-driven build and install.
Provide some additional CMake infrastructure to manage the pure Python
items in the package and to find a reasonable install location.
I haven't explored the robustness with respect to unclean build directories
or previous installations. Those could be resolved as separate issues if this
patch is immediately useful to simplify installation on systems with poor
Pypi functionality.
Note: one thing that I probably neglected is to update the .py -> .pyc files.
Another is that I don't think there is sufficient CMake target dependency to
force "configure"d files to be updated in the package staging area.
I don't see a good way to refresh the files in the staging area (build/gmx) without a full CMake reconfigure or a bunch of redundant filenames listed in the CMakeLists.txt, and I don't remember
the exact problem with .pyc files. I think we can just document that if funny things happen, the user
should rm CMakeCache.txt and rerun cmake (I added a cleansing step for the staging area), or, better yet, use a fresh build directory, which is easier to do now. Then we can try not to run tests against the build directory to keep from confusing things or stop using the staging area altogether.