-
Notifications
You must be signed in to change notification settings - Fork 75
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Drop mex and SWIG and switch to pybind11 for Python bindings #52
Conversation
Travis is finally passing with python2 and python3. Hooray! Just have to wait for the mac build. By the way, @liangfok I think this will fix RobotLocomotion/drake#2797 when it comes in. |
55,000 lines deleted here. About 10,000 of that is related to removing SWIG, 40,000 from some amazingly large cython files that were just wasting space, and another 5,000 of matlab code. |
Restored pure-MATLAB interface to ease integration into Drake. This changes the way IRIS installs itself: there's no |
This is a combination of 19 commits that were squashed together. Original commit messages are below: keep trying to get travis happy remove deprecated code. git will remember restore directory try harder set cmake mod path cmake prefix path why is finding eigen so hard? fix capitalization fix setoper include remove manually specified matlab dir install setoper.h manually manually include install/include link dirs for cdd new license pass pybind11 python version fix python2 compatibility explain where matlab went restore pure-matlab implementation fix license for mosek matlab code [ci skip]
The C++ matlab interface has been a burden for a long time (since I don't use it and can't test it on Travis), so I'm dropping it. Fortunately, there's still a pure-Matlab implementation of IRIS included, which works just fine and imposes no burden on the build system.
Also, SWIG was a good choice when I needed Matlab and Python bindings, but that's no longer the case. Switching to pybind11 made everything much easier, especially the magical conversion of numpy<->eigen types.
This also cleans up the build substantially. IRIS is no longer a Pod, but rather just a regular CMake project.
It also clears up some lingering licensing issues (although the issue with commercial use of cvxgen code remains).This PR also adds python3 support.