MattClarkson / CMakeCatchTemplate

Template C++ project using CMake, CTest, Catch, and a SuperBuild for dependencies such as Boost, gflags, glog, VTK, OpenCV and PCL.
BSD 3-Clause "New" or "Revised" License
30 stars 13 forks source link

Provide pip installable wheels on PyPi #45

Closed MattClarkson closed 5 years ago

MattClarkson commented 5 years ago

Conversation with Mian:

Currently in Issue #45, Im having trouble with CMake. We are currently using the opencv-python image from:

DOCKER_IMAGE=quay.io/skvark/manylinux1_$PLAT

which is based on manylinux, with a few additions, such as cmake 3.9.0. The build looks like its working, but if you look closely at a build log: https://travis-ci.com/MattClarkson/CMakeCatchTemplate/jobs/172197403

say, line 599, cmake picks the header files for python 3.7, but picks up python2.4 library from /usr/lib.

So either (a) we need to update cmake, which would require a new docker image, or (b) there is some way to coax cmake 3.9.0 into finding the right library, but as its a docker image, I don't know where that is. Can I run the docker image myself, and look around to find the right library?

Turns out, thanks to emails on wheel-builders@python.org that on Linux and Mac, you should not link to python, and on Windows, just the lib. The python library should be resolved at run time. So in this instance, no new docker build is required, and no new version of CMake.

Other changes on this branch are just getting the wheels to upload to the right place.