Skip to content

ala-ableton/using-python-to-build-cpp-apps

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python as the keystone of building and testing C++ applications

EuroPython 2016

This talk was given at EuroPython 2016. It was recorded and is available on YouTube.

Abstract

At Ableton, we make Live, Push and Link, unique software and hardware for music creation and performance. Live is a C++ desktop application built from a 15-year old code base. Push is an instrument embedding a multicolor display which renders a Qt Quick scene powered by Qt. Link is a technology that keeps music devices in time and is available to app developers as LinkKit, an iOS SDK. “But what does all that have to do with Python?”, you might ask.

This talk answers that question by explaining how our developers use Python to build and test C, C++ and Objective-C source code. Based on GYP, what we call “build-system” is a collection of Python scripts that simplify our workflows, and help us write better software. The three top-level scripts, “configure.py”, “build.py” and “run.py”, share a common design which makes them easy to use by developers, as well as easy to maintain and extend. This talk describes the essence of that design, so you can apply it to your own project.

Agenda

  1. Ableton [goto]
  2. Building Live with Python [goto]
  3. build-system's Hello World! [goto]
  4. Building complex applications with build-system [goto]
  5. Three scripts, one design [goto]
  6. Fail early, loud and clear [goto]
  7. Support custom defaults [goto]
  8. Do not integrate project specific features [goto]
  9. To wrap it up [goto]