All Projects → vuo → vuo

vuo / vuo

Licence: other
A realtime visual programming language for interactive media.

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
GLSL
2045 projects
objective c
16641 projects - #2 most used programming language
CMake
9771 projects
Objective-C++
1391 projects

Projects that are alternatives of or similar to vuo

TON-Compiler
Clang compiler for Free TON Virtual Machine
Stars: ✭ 56 (-45.63%)
Mutual labels:  llvm, clang
clangbuilder
Building Clang ♡ Utility and Environment
Stars: ✭ 101 (-1.94%)
Mutual labels:  llvm, clang
Cling
The cling C++ interpreter
Stars: ✭ 2,322 (+2154.37%)
Mutual labels:  llvm, clang
Gllvm
Whole Program LLVM: wllvm ported to go
Stars: ✭ 126 (+22.33%)
Mutual labels:  llvm, clang
linux
Linux kernel source tree
Stars: ✭ 234 (+127.18%)
Mutual labels:  llvm, clang
Accelerate Llvm
LLVM backend for Accelerate
Stars: ✭ 134 (+30.1%)
Mutual labels:  llvm, parallel-computing
Webassembly Examples
From Simple To Complex. A complete collection of webassembly examples.
Stars: ✭ 177 (+71.84%)
Mutual labels:  llvm, clang
Bsodsurvivor
This project aims to facilitate debugging a kernel driver in windows by adding support for a code change on the fly without reboot/unload, and more!
Stars: ✭ 122 (+18.45%)
Mutual labels:  llvm, clang
Clang Expand
🐉 A clang tool for happy refactoring without source-code gymnastics
Stars: ✭ 182 (+76.7%)
Mutual labels:  llvm, clang
Constexpr Everything
Rewrite C++ code to automatically apply `constexpr` where possible
Stars: ✭ 178 (+72.82%)
Mutual labels:  llvm, clang
Proton Clang
Proton Clang toolchains builds in the form of a continuously updating Git repository. Clone with --depth=1.
Stars: ✭ 126 (+22.33%)
Mutual labels:  llvm, clang
Checkedc
Checked C is an extension to C that lets programmers write C code that is guaranteed by the compiler to be type-safe. The goal is to let people easily make their existing C code type-safe and eliminate entire classes of errors. Checked C does not address use-after-free errors. This repo has a wiki for Checked C, sample code, the specification, a…
Stars: ✭ 2,692 (+2513.59%)
Mutual labels:  llvm, clang
Metareflect
Metareflect is a lightweight reflection system for C++, based on LLVM and Clangs libtooling.
Stars: ✭ 125 (+21.36%)
Mutual labels:  llvm, clang
Clang Llvm Tutorial
clang & llvm examples, e.g. AST Interpreter, Function Pointer Analysis, Value Range Analysis, Data-Flow Analysis, Andersen Pointer Analysis, LLVM Backend...
Stars: ✭ 139 (+34.95%)
Mutual labels:  llvm, clang
Llvm Utils
LLVM/Clang for Visual Studio 2019, 2017, 2015, 2013, 2012 and 2010. clang-cl for Python3 distutils. Utils for Clang Static Analyzer
Stars: ✭ 123 (+19.42%)
Mutual labels:  llvm, clang
Play with llvm
A book about LLVM & Clang(中文开源书:玩转 LLVM)
Stars: ✭ 175 (+69.9%)
Mutual labels:  llvm, clang
Tre
LLVM backed progamming language (Go subset)
Stars: ✭ 100 (-2.91%)
Mutual labels:  llvm, clang
Cppinsights
C++ Insights - See your source code with the eyes of a compiler
Stars: ✭ 1,382 (+1241.75%)
Mutual labels:  llvm, clang
Dstep
A tool for converting C and Objective-C headers to D modules
Stars: ✭ 177 (+71.84%)
Mutual labels:  llvm, clang
Cmake Scripts
A selection of useful scripts for use in CMake projects, include code coverage, sanitizers, and dependency graph generation.
Stars: ✭ 202 (+96.12%)
Mutual labels:  llvm, clang

These instructions are for building Vuo Base, Vuo Compiler, Vuo Renderer, Vuo Runtime, Vuo Editor, and the built-in Vuo Nodes and Types from source code.

Vuo's source code is available so you can learn about how Vuo works, play with it, and maybe even help develop Vuo.

You do not need to build Vuo from source if you want to:

  • run the Vuo editor application. The Vuo editor application is available as a separate download.
  • develop an application that uses Vuo. Instead, download the Vuo SDK, and follow the instructions on api.vuo.org under the section "Developing Applications that use Vuo".
  • develop nodes and types for Vuo. Instead, download the Vuo SDK, and follow the instructions on api.vuo.org under the section "Developing Node Classes and Port Types".

Translating Vuo

Vuo uses the Qt Framework's translation system in its source code, and POEditor to manage translations online. Sign up here to help translate Vuo: https://poeditor.com/join/project/KJuvGOpptm

Building Vuo on macOS

Install required dependencies

Xcode

Install a recent version of Xcode.

Launch Xcode and accept the license agreement.

Install Command Line Tools for Xcode:

  • Go to https://developer.apple.com/download/more/
  • In the search box, enter your Xcode version.
  • In the search results, locate and download the Command Line Tools.
  • Open the downloaded package and follow the prompts.

Homebrew

Install Homebrew:

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)"
brew doctor

Review the results of brew doctor and fix any problems it finds, then install the dependencies:

  • cd to the Vuo source code folder.
  • brew bundle

Conan

  • cd to the Vuo source code folder.
  • mkdir build
  • cd build
  • On macOS:
    • conan config install https://vuo.org/sites/default/files/conan-macos.zip
    • Conan may output WARN: Remotes registry file missing, creating default one — that's OK.
  • On Linux:
    • conan config install https://vuo.org/sites/default/files/conan-linux.zip
  • conan install ..

Build Vuo using Qt Creator

Install Qt Creator.

Launch Qt Creator.

  • In Preferences:
    • In Kits:
      • In the Kits tab, select the default kit and remove the content of "CMake Configuration"
      • In the Qt Versions tab:
        • Delete all the existing versions
        • Click Add, press Command-Shift-G and enter ~/.conan, then navigate to data/qt/<latest version>/vuo/stable/package/<package id>/bin/qmake
        • (You'll see "Qt version is not properly installed" in the dialog, and "Cannot read …/qmake.conf" in the General Messages tab — those errors are safe to ignore.)
    • In Environment > Locator:
      • Uncheck the Default checkboxes for:
        • All Included C/C++ Files
        • Files in Any Project
      • Add a new directory filter:
        • Name: Vuo trunk
        • Directories: pick your working copy folder
        • File pattern: *.h,*.hh,*.c,*.cc,*.m,*.mm,*.md,*.glsl,*.vs,*.fs,*.qml,*.ui,*.qrc,*.txt,*.cmake,*.feature,*.php
        • Exclusion pattern: */.git/*,*/build/*
    • In C++, select the File Naming tab:
      • Change Header suffix to "hh"
      • Change Source suffix to "cc"
      • Uncheck the "Lower case file names" checkbox
    • In Build & Run:
      • In General, change "Default build directory" to build
  • Open CMakeLists.txt
    • In the list of kits, click Details, and uncheck all the targets except "Default"
    • Click Configure Project
  • In Projects (the wrench near the top left):
    • Build > Build Steps > Build, click Details, then set Tool Arguments to -j8 (or however many cores your processor has)
    • Run > Run, uncheck "Add build library search path to DYLD_LIBRARY_PATH and DYLD_FRAMEWORK_PATH"
    • (optional, to colorize build steps) Build > Build Environment, click Details, click Add, and set CLICOLOR_FORCE to 1
  • In the target selector (the computer icon near the bottom left), select VuoEditorApp
  • In the Search Results panel at the bottom of the window, set Exclusion Pattern to **/build/**

Build Vuo from the command line

As an alternative to using Qt Creator (above), you can build from the command line.

First, generate the makefiles:

mkdir build
cd build
cmake ..

Build:

make -j8

Run Vuo Editor:

make go

…or open the build/bin folder in Finder and double-click Vuo.app.

Run the command-line tools:

bin/vuo-compile --help
bin/vuo-link --help
bin/vuo-debug --help

Optionally, build and run the tests:

make -j8 VuoTest

# Consider adding this alias to your ~/.bashrc :
alias ctest='ctest -j8 --output-on-failure --progress'

ctest                                    # Run all tests (takes a few hours)
ctest -N                                 # List the names of all tests
ctest -R …                               # Run tests whose name matches the specified regex (case-sensitive)
ctest -R vuo.math.keep.average           # Run tests for a node
ctest -R VuoAnchor                       # Run tests for a type
ctest -R PlayBluesOrgan                  # Run tests for an example composition
ctest -R TestModules.testType:VuoAnchor  # Run a single test datum
ctest -R 'TestVuoRunner\.'               # Run all TestVuoRunner tests (but don't run TestVuoRunnerCocoa)

Developer shortcuts

Vuo's build system includes some shortcuts to make development more efficient.

Compiler development mode

Allows you to make changes to VuoBase and VuoCompiler without rebuilding all nodes and types (but you're responsible for keeping track of whether nodes and types need to be rebuilt). Saves several minutes per edit-compile-test cycle.

cmake .. -DVUO_COMPILER_DEVELOPER=ON
cmake .. -DVUO_COMPILER_DEVELOPER=OFF

Node development mode

Allows you to make changes to nodes, types, and libraries without rebuilding the Vuo.framework cache. Saves about 30 seconds per edit-compile-test cycle (but compositions take longer to start up initially).

cmake .. -DVUO_NODE_DEVELOPER=ON
cmake .. -DVUO_NODE_DEVELOPER=OFF
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].