Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions app/external/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,13 @@ ExternalProject_Add(aubio
INSTALL_COMMAND ""
)

ExternalProject_Add(supercollider-plugins
PREFIX supercollider-plugins-prefix
SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/supercollider-plugins

CMAKE_ARGS -DSUPERNOVA=OFF
INSTALL_COMMAND ""
)
# Kick off a generation by making a dummy/empty project
add_library(AubioBuilder STATIC externals.cpp)

Expand Down
49 changes: 49 additions & 0 deletions app/external/supercollider-plugins/.appveyor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
version: '{build}'

clone_depth: 5

# https://www.appveyor.com/docs/build-environment/#build-worker-images
image: Visual Studio 2017

test: off

environment:
CMAKE_CONFIGURATION: Release

matrix:
- CMAKE_GENERATOR: "Visual Studio 15 2017"
ARCH: "x86"
# https://www.appveyor.com/docs/lang/cpp/
VCVARS_SCRIPT: "C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Auxiliary/Build/vcvars32.bat"

- CMAKE_GENERATOR: "Visual Studio 15 2017 Win64"
ARCH: "x64"
VCVARS_SCRIPT: "C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Auxiliary/Build/vcvars64.bat"

install:
# Load command-line tools (lib.exe)
- cmd: call "%VCVARS_SCRIPT%"

- cmd: echo "Get SuperCollider"
- cmd: git clone --recursive --depth 1 https://github.com/supercollider/supercollider ../supercollider

before_build:
- mkdir build
- cd build

build_script:
- cmake -G "%CMAKE_GENERATOR%" -DSC_PATH=../supercollider -DCMAKE_INSTALL_PREFIX=_install ..
- cmake --build . --target install --config %CMAKE_CONFIGURATION%

artifacts:
- path: build\_install
name: supercollider-plugins-windows-$(ARCH)-$(APPVEYOR_REPO_TAG_NAME)

# deploy:
# - provider: GitHub
# description: A collection of plugins that generate audio signals using emergent behaviour algorithms - Release $(APPVEYOR_REPO_TAG_NAME)
# artifact: supercollider-plugins-windows-$(ARCH)-$(APPVEYOR_REPO_TAG_NAME)
# auth_token:
# secure: YOUR_TOKEN_HERE
# on:
# appveyor_repo_tag: true
3 changes: 3 additions & 0 deletions app/external/supercollider-plugins/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.vimrc

build*
35 changes: 35 additions & 0 deletions app/external/supercollider-plugins/.travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
language: cpp

matrix:
include:
- os: linux
sudo: required
dist: trusty
- os: osx

before_install:
- git clone --recursive --depth 1 https://github.com/supercollider/supercollider.git ../supercollider

before_script:
- mkdir build
- cd build
- cmake -DCMAKE_INSTALL_PREFIX=_install -DCMAKE_BUILD_TYPE=Release -DCMAKE_PATH=../supercollider ..

script:
- cmake --build . --target install

before_deploy:
- mkdir -p $HOME/artifacts
- cd $TRAVIS_BUILD_DIR/build/_install
- zip -r --symlinks $HOME/artifacts/supercollider-plugins-$TRAVIS_OS_NAME-$TRAVIS_TAG.zip *

deploy:
# github releases - only tags
- provider: releases
api_key: $GITHUB_TOKEN
file: $HOME/artifacts/supercollider-plugins-$TRAVIS_OS_NAME-$TRAVIS_TAG.zip
skip_cleanup: true
on:
condition: -n "$GITHUB_TOKEN"
tags: true
all_branches: true
101 changes: 101 additions & 0 deletions app/external/supercollider-plugins/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
####################################################################################################
# CMakeLists file for EmergentUGens
# Generated by Ethan Crawford
# 2020-10-06
####################################################################################################

####################################################################################################
# basic project config
cmake_minimum_required(VERSION 3.5)
set(project_name "EmergentUGens")
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake_modules ${CMAKE_MODULE_PATH})
set(CMAKE_CXX_STANDARD 11)

####################################################################################################
# load modules
include(SuperColliderServerPlugin RESULT_VARIABLE server_plugin_found)
if(NOT server_plugin_found)
message(FATAL_ERROR "Could not find server plugin functions module")
endif()

include(SuperColliderCompilerConfig RESULT_VARIABLE compiler_config_found)
if(NOT compiler_config_found)
message(FATAL_ERROR "Could not find compiler config module")
endif()

# Windows - puts redistributable DLLs in install directory
include(InstallRequiredSystemLibraries)

sc_check_sc_path("${SC_PATH}")
message(STATUS "Found SuperCollider: ${SC_PATH}")
set(SC_PATH "${SC_PATH}" CACHE PATH
"Path to SuperCollider source. Relative paths are treated as relative to this script" FORCE)

include("${SC_PATH}/SCVersion.txt")
message(STATUS "Building plugins for SuperCollider version: ${SC_VERSION}")

# set project here to avoid SCVersion.txt clobbering our version info
project(${project_name})
sc_do_initial_compiler_config() # do after setting project so compiler ID is available

if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT OR NOT CMAKE_INSTALL_PREFIX)
message(WARNING "No install prefix provided, defaulting to $BUILD_DIR/install")
set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/install" CACHE PATH "Install prefix" FORCE)
endif()

message(STATUS "Install directory set to: ${CMAKE_INSTALL_PREFIX}")

####################################################################################################
# options
option(SUPERNOVA "Build plugins for supernova" ON)
option(SCSYNTH "Build plugins for scsynth" ON)
option(NATIVE "Optimize for native architecture" OFF)
option(STRICT "Use strict warning flags" OFF)
option(NOVA_SIMD "Build plugins with nova-simd support." OFF)

####################################################################################################
# include libraries

if (NOVA_SIMD)
add_definitions(-DNOVA_SIMD)
include_directories(${SC_PATH}/external_libraries/nova-simd)
endif()

####################################################################################################
# Begin target EmergentUGens

set(EmergentUGens_cpp_files
plugins/EmergentUGens/Boid.cpp
plugins/EmergentUGens/Boid.hpp
plugins/EmergentUGens/BoidFlock.cpp
plugins/EmergentUGens/BoidFlock.hpp
plugins/EmergentUGens/ElementaryCA.hpp
plugins/EmergentUGens/EmergentUGens.cpp
plugins/EmergentUGens/Pvector.cpp
plugins/EmergentUGens/Pvector.hpp
plugins/EmergentUGens/RTAllocator.hpp
)
set(EmergentUGens_sc_files
plugins/EmergentUGens/sc/EmergentUGens.sc
)
set(EmergentUGens_schelp_files
plugins/EmergentUGens/sc/HelpSource/Classes/ElementaryCA.schelp
plugins/EmergentUGens/sc/HelpSource/Classes/Flock.schelp
)

sc_add_server_plugin(
"EmergentUGens/EmergentUGens" # desination directory
"EmergentUGens" # target name
"${EmergentUGens_cpp_files}"
"${EmergentUGens_sc_files}"
"${EmergentUGens_schelp_files}"
)

# End target EmergentUGens
####################################################################################################

####################################################################################################
# END PLUGIN TARGET DEFINITION
####################################################################################################

message(STATUS "Generating plugin targets done")
Loading