From a6f235edb02c0f30968f904edf41bacff742811a Mon Sep 17 00:00:00 2001 From: Simon van der Veldt Date: Fri, 19 Jun 2020 19:14:48 +0200 Subject: [PATCH] Add explicit build options for enabling GUI applications --- meson.build | 33 ++++++++++++++++++--------------- meson_options.txt | 2 ++ 2 files changed, 20 insertions(+), 15 deletions(-) create mode 100644 meson_options.txt diff --git a/meson.build b/meson.build index a7b6d69..f5ebd8b 100644 --- a/meson.build +++ b/meson.build @@ -24,8 +24,6 @@ threaddep = dependency('threads') jackdep = dependency('jack') #and not 'libjack' cc = meson.get_compiler('c') -fluid = find_program('fluid', required: false) -fltkdep = cc.find_library('fltk', required: false) executable('jackpatch', 'src/jackpatch.c', @@ -45,7 +43,24 @@ executable('nsmd', install: true, ) -if fluid.found() and fltkdep.found() +if get_option('new-session-manager') + fltkdep = cc.find_library('fltk') + executable('new-session-manager', + sources: ['src/session-manager.cpp', 'src/debug.cpp', 'src/Endpoint.cpp', 'src/Thread.cpp', 'src/FL/Fl_Scalepack.C'], + dependencies: [fltkdep, liblodep, threaddep], + install: true, + ) + + install_data('src/org.linuxaudio.new-session-manager.desktop', install_dir : get_option('datadir') / 'applications') + + meson.add_install_script('sh', '-c', + 'ln -sf new-session-manager ${DESTDIR}@0@/@1@/non-session-manager'.format( + get_option('prefix'), get_option('bindir'))) +endif + +if get_option('nsm-proxy-gui') + fluid = find_program('fluid') + fltkdep = cc.find_library('fltk') NSM_Proxy_UI_cpp = custom_target( 'NSM_Proxy_UI.cpp', output : 'NSM_Proxy_UI.C', @@ -60,18 +75,6 @@ if fluid.found() and fltkdep.found() command : [fluid, '-c', '-h', '@OUTPUT@', '@INPUT@'], ) - executable('new-session-manager', - sources: ['src/session-manager.cpp', 'src/debug.cpp', 'src/Endpoint.cpp', 'src/Thread.cpp', 'src/FL/Fl_Scalepack.C'], - dependencies: [fltkdep, liblodep, threaddep], - install: true, - ) - - install_data('src/org.linuxaudio.new-session-manager.desktop', install_dir : get_option('datadir') / 'applications') - - meson.add_install_script('sh', '-c', - 'ln -sf new-session-manager ${DESTDIR}@0@/@1@/non-session-manager'.format( - get_option('prefix'), get_option('bindir'))) - executable('nsm-proxy-gui', sources: ['src/nsm-proxy-gui.cpp', [NSM_Proxy_UI_cpp, NSM_Proxy_UI_h]], dependencies: [fltkdep, liblodep, threaddep], diff --git a/meson_options.txt b/meson_options.txt new file mode 100644 index 0000000..f8b8ed1 --- /dev/null +++ b/meson_options.txt @@ -0,0 +1,2 @@ +option('new-session-manager', type : 'boolean', value : true, description : 'Build new-session-manager GUI') +option('nsm-proxy-gui', type : 'boolean', value : true, description : 'Build nsm-proxy')