diff options
-rw-r--r-- | README.md | 8 | ||||
-rw-r--r-- | meson.build | 37 |
2 files changed, 28 insertions, 17 deletions
@@ -102,8 +102,12 @@ Getting started 1. Install and set up [OLA](https://openlighting.org) for your lighting environment. 2. Start olad if it's not already running: `olad &` -3. Install [Guile](https://www.gnu.org/software/guile/), if it's not already there (there's a good chance it is). Version 3 is preferred because it's much faster (= ability to handle more fixtures with less CPU load), but version 2.2 works as well. You will need the development packages (C header files) as well. -4. Run `./compile` to compile the very small Guile`<-->`OLA compatibility module. Follow the instructions to copy the shared library to a system location and run `ldconfig` to update the dynamic linker's cache. +3. Install [Guile](https://www.gnu.org/software/guile/), if it's not already + there (there's a good chance it is). Version 3 is preferred because it's + much faster (= ability to handle more fixtures with less CPU load), but + version 2.2 works as well. You will need the development packages (C header + files) as well. +4. Run `meson build`, `ninja -C build` and `sudo ninja -C build install`. 5. Run `guile -L /path/to/starlet/guile` 6. Once in the Guile REPL, import the Starlet modules: `(use-modules (starlet base) (starlet playback) (starlet fixture-library generic))` 7. Patch a fixture with `(patch-fixture! fix <generic-dimmer> 1 #:universe 2)` - replace 1 and 2 with the DMX address and universe (respectively) of a real dimmer. diff --git a/meson.build b/meson.build index 4b6b87d..dfe81e4 100644 --- a/meson.build +++ b/meson.build @@ -1,36 +1,43 @@ # Meson file for Starlet project('starlet', ['c', 'cpp'], - version : '0.1.0', - license : 'GPL3+', - default_options : ['buildtype=debugoptimized']) + version: '0.1.0', + license: 'GPL3+', + default_options: ['buildtype=debugoptimized']) + # Localisation subdir('po') add_project_arguments('-DLOCALEDIR="'+join_paths(get_option('prefix'), get_option('localedir'))+'"', - language : 'c') + language: 'c') # Dependencies gnome = import('gnome') cc = meson.get_compiler('c') -mdep = cc.find_library('m', required : false) -gtk_dep = dependency('gtk+-3.0', required : true) -cairo_dep = dependency('cairo', required : true) -pango_dep = dependency('pango', required : true) -pangocairo_dep = dependency('pangocairo', required : true) -guile_dep = dependency('guile-3.0', required : true) -ola_dep = dependency('libola', required : true) +gtk_dep = dependency('gtk+-3.0', required: true) +cairo_dep = dependency('cairo', required: true) +pango_dep = dependency('pango', required: true) +pangocairo_dep = dependency('pangocairo', required: true) +guile_dep = dependency('guile-3.0', required: true) +ola_dep = dependency('libola', required: true) + +# The installation location for Scheme files +guile_sitedir = guile_dep.get_pkgconfig_variable('sitedir') # Guile OLA library library('guile-ola', ['src/guile-ola.cpp'], - dependencies : [guile_dep, ola_dep], - install: true) + dependencies: [guile_dep, ola_dep], + install: true) # Fixture display tool executable('starlet-fixture-display', ['src/starlet-fixture-display.c', 'src/repl-connection.c'], - dependencies : [gtk_dep], - install : true) + dependencies: [gtk_dep, cairo_dep, pango_dep, pangocairo_dep], + install: true) + + +# Install Scheme source files (all at once) +install_subdir('guile/starlet', install_dir: guile_sitedir) |