GithubHelp home page GithubHelp logo

mkvfx's Introduction

mkvfx - Make vfx libraries and programs

This is a tool that builds open source libraries commonly used in games, film, and vfx.

It is more like npm, and less like brew. It knows about dependencies, and fetches what it needs. It builds as correctly and completely as it can, in some cases by working around difficulties or inconsistencies in a library's build system.

It expects to run in a directory in which there will be a directory called local. If local doesn't exist, it will make one. If you run in /usr, it will populate /usr/local/lib, /usr/local/include, /usr/local/bin, and so on.

The more interesting thing it will do is populate minimal local dependencies. If you are making a project that needs only OpenSubdiv, running

 mkvfx OpenSubdiv

in your project directory will give you the strict local dependencies to have a working copy of OpenSubdiv, and nothing extraneous. This makes it very easy to quarantine a project. If you also need OpenEXR in that same project, subsequently running

 mkvfx OpenEXR

will add the bits that were not already there for OpenSubdiv.

At the moment there are only recipes for OSX, but a small amount of patch will allow building on other platforms. Pull requests welcome of course.

It would be nice if the script also know about configurations. At the moment, it pulls top of tree of a specific branch (by default master), but a little sugar in the recipes file for configurations could allow for doing a build that conforms to something specific such as vfxplatform.com's "Current - VFX Platform CY2015".

Installation

Install node, minimally 0.11.14, using nvm. You'll also get npm with it.

Install grunt using

 npm install -g grunt-cli

clone this repo. Run grunt in the root directory.

Now type mkvfx, and all will be revealed.

You should see a message like -

 mkvfx knows how to build:
 Alembic
 assimp
 boost
 boost-build-club
 c-blosc
 glew
 glfw
 glm
 hdf5
 IlmBase
 libjpeg
 libpng
 libtiff
 llvm
 nanovg
 OpenColorIO
 OpenEXR
 OpenImageIO
 OpenShadingLanguage-WIP
 OpenSubdiv
 OpenVDB-WIP
 partio
 ptex
 PyIlmBase
 python
 sqlite
 stb
 tbb

 mkvfx [options] [packages]
 --help           this message
 --install        install previously built package if possible
 --nofetch        skip fetching, default is fetch
 --nobuild        skip build, default is build
 --nodependencies skip dependencies
 -nfd             skip fetch and dependencies
 [packages]       to build, default is nothing


 Note that git repos are shallow cloned.

License

Copyright (c) 2014 Nick Porcino
Licensed under the MIT license.

mkvfx's People

Contributors

meshula avatar otri avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.