I'm building a python package using a C library with ctypes. I want to make my package portable (Windows, Mac and Linux).
I found a strategy, using build_ext with pip to build the library during the installation of my package. It creates libfoo.dll or libfoo.dylib or libfoo.so depending on the target's platform.
The problem with this is that my user needs CMake installed.
Does exist another strategy to avoid building during the installation? Do I have to bundle built libraries in my package?
I want to keep my users doing pip install mylib.
Edit: thank to @Dawid comment, I'm trying to make a python wheel with the command python setup.py bdist_wheel without any success.
How can I create my python wheel for different platform with the embedded library ?
Edit 2: I'm using python 3.4 and working on Mac OS X, but I have access to Windows computer, and Linux computer
pip install wheeland then build for required platformssetup.pyso it would build it. Something along docs.python.org/3.4/extending/building.html this way executingpython setup.py bdist_wheelon each platform will create whl package for that platform with compiled library. Then users on linux will install package for linux, on windows for windows an on mac for mac. At least what I would do to create binary package for those systems.