This repository contains scripts to build the FBXSDK Python Bindings for various platforms
This repository contains scripts to create a Source Distribution (sdist) for the FBXSDK Python Bindings and build wheels (package with binaries) for various platforms and versions from it
**Pre-built binaries are available on the [Releases page](https://gitlab.inria.fr/radili/fbxsdk_python/-/releases)**
**Packages for the Source Distribution and wheels can be installed with pip (see Install)**
## Install
## Install
1. Download from the [Releases Page](https://gitlab.inria.fr/radili/fbxsdk_python/-/releases) the archive `fbxsdkpy-cpPYTHONVERSION-PLATFORM` corresponding to your `PYTHONVERSION` and `PLATFORM`. `PYTHONVERSION` 35 corresponds to any 3.5 version of Python for example. The version of Python can be found with `python --version`
1. Obtain a [Gitlab Token](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html#creating-a-personal-access-token) to authenticate to the project pypi repository
2. Extract it
2. Run the following command, with `<Gitlab Token>` replaced with your personal token :
3. Move the content of the extracted directory (not the directory itself) in either the `sites-package` directory or directly in your project directory. The path of the `sites-package` directory is generally present in the Python path, which can be obtained using `python -c "import sys; print(sys.path)"`
If there is no wheel available for your platform, pip will attempt to build from source using the Source Distribution
## Build
## Create a Source Distribution
The scripts can build the Python Bindings for Python versions >=3.5 on Windows and GNU/Linux and will only produce x64 binaries
The Source distribution is obtained by downloading the FBXSDK libraries and Python Bindings for Linux and Windows from Autodesk, then patching them to work with sip5
Don't hesitate to ask me if you need support of other versions, platforms or architectures
### GNU/Linux
## Build wheels for package distribution
1. Install dependencies (for example with apt):
### GNU/Linux
```
sudo apt install make gcc python3-dev zlib1g-dev libxml2-dev
```
2. Run the build script
```
./build.sh
```
3. Binaries are outputed to the `fbxsdkpy-cpPYTHONVERSION-gnu_linux_x64` directory. You can follow the Install instructions from step 3 with the files in this directory
### Windows
1. Execute the `build.bat` file, or run it as Administrator with "Right-Click > Run as Administrator" to skip the authorizations requests. Windows might prevent the execution of the script with a message "Windows protected your PC", to bypass it click "More Info", and then "Run Anyway"
Wheels need to be built inside a manylinux2014 environment, a Docker image is used for that purpose
1.`docker run -t -v .:/fbxsdkpy`
2. Binaries are outputed to the `fbxsdkpy-cpPYTHONVERSION-win_x64` directory. You can follow the Install instructions from step 3 with the files in this directory
### Windows
1.`build.bat`
There is no dependencies, installing Visual Studio is not necessary, the script will download and install the needed building tools and remove them once it's done