diff --git a/SparkleShare/Common/HTML/meson.build b/SparkleShare/Common/HTML/meson.build new file mode 100644 index 00000000..a01198de --- /dev/null +++ b/SparkleShare/Common/HTML/meson.build @@ -0,0 +1,10 @@ +html_files = ['event-log.html', + 'day-entry.html', + 'event-entry.html', + 'jquery.js' +] + +install_data( + sources: html_files, + install_dir: join_paths(install_dir, 'html')) + diff --git a/SparkleShare/Common/Images/meson.build b/SparkleShare/Common/Images/meson.build new file mode 100644 index 00000000..226fb4c1 --- /dev/null +++ b/SparkleShare/Common/Images/meson.build @@ -0,0 +1,10 @@ +image_files = ['tutorial-slide-1.png', + 'tutorial-slide-2.png', + 'side-splash.png', + 'about.png', + 'text-balloon.png'] + +install_data( + sources: image_files, + install_dir: join_paths(install_dir, 'pixmaps')) + diff --git a/SparkleShare/Common/Presets/meson.build b/SparkleShare/Common/Presets/meson.build new file mode 100644 index 00000000..8885f44f --- /dev/null +++ b/SparkleShare/Common/Presets/meson.build @@ -0,0 +1,11 @@ +preset_files = ['github.xml', 'github.png', + 'gitlab.xml', 'gitlab.png', + 'bitbucket.xml', 'bitbucket.png', + 'planio.xml', 'planio.png', + 'own-server.xml', 'own-server.png' +] + +install_data( + sources: preset_files, + install_dir: join_paths(install_dir, 'presets')) + diff --git a/SparkleShare/Linux/Images/icons/meson.build b/SparkleShare/Linux/Images/icons/meson.build new file mode 100644 index 00000000..6577887a --- /dev/null +++ b/SparkleShare/Linux/Images/icons/meson.build @@ -0,0 +1,8 @@ +install_subdir( + 'hicolor', + install_dir: join_paths(install_dir, 'icons')) + +install_subdir( + 'hicolor', + install_dir: join_paths(install_dir, 'icons')) + diff --git a/SparkleShare/Linux/Images/meson.build b/SparkleShare/Linux/Images/meson.build new file mode 100644 index 00000000..b0157076 --- /dev/null +++ b/SparkleShare/Linux/Images/meson.build @@ -0,0 +1,6 @@ +image_files = ['tutorial-slide-3.png'] + +install_data( + sources: image_files, + install_dir: join_paths(install_dir, 'pixmaps')) + diff --git a/SparkleShare/Linux/meson.build b/SparkleShare/Linux/meson.build new file mode 100644 index 00000000..5239f4de --- /dev/null +++ b/SparkleShare/Linux/meson.build @@ -0,0 +1,55 @@ +sparkleshare_src = ['../Common/SparkleShare.cs', + '../Common/AboutController.cs', + '../Common/Avatars.cs', + '../Common/BubblesController.cs', + '../Common/BaseController.cs', + '../Common/EventLogController.cs', + '../Common/NoteController.cs', + '../Common/SetupController.cs', + '../Common/StatusIconController.cs', + 'About.cs', + 'Bubbles.cs', + 'Controller.cs', + 'EventLog.cs', + 'Note.cs', + 'Setup.cs', + 'SetupWindow.cs', + 'StatusIcon.cs', + 'UserInterface.cs', + 'UserInterfaceHelpers.cs'] + +gtk = dependency('gtk-sharp-3.0') +gdk = dependency('gdk-sharp-3.0') +gio = dependency('gio-sharp-3.0') +glib = dependency('glib-sharp-3.0') +webkit = dependency('webkit2-sharp-4.0') +notify = dependency('notify-sharp-3.0') + +sparkleshare = executable('SparkleShare', + dependencies: [gtk, gdk, gio, glib, webkit, notify], + link_with: [sparkles, sparkles_git], + cs_args: '-r:Mono.Posix', + sources: sparkleshare_src, + install: true, + install_dir: install_dir) + +# Install the startup script +install_data(sources: 'sparkleshare', install_dir: '/bin') + +# Install .desktop and .appdata files +install_data(sources: 'org.sparkleshare.SparkleShare.desktop', install_dir: join_paths('share', 'applications')) +install_data(sources: 'org.sparkleshare.SparkleShare.Invites.desktop', install_dir: join_paths('share', 'applications')) +install_data(sources: 'SparkleShare.Autostart.desktop', install_dir: join_paths('share', 'applications')) +install_data(sources: 'org.sparkleshare.SparkleShare.appdata.xml', install_dir: join_paths('share', 'appdata')) + +subdir('Images') +subdir('Images/icons') + + +# TODO: +# - preprocess startup script, and InstallationInfo.Directory.cs.in +# - special Ubuntu icons. custom icons to right location +# - preprocess InstallationInfo.Directory.cs.in +# - Keep around bump version script +# - update .desktop file database and icon cache + diff --git a/SparkleShare/meson.build b/SparkleShare/meson.build new file mode 100644 index 00000000..836abb75 --- /dev/null +++ b/SparkleShare/meson.build @@ -0,0 +1,5 @@ +subdir('Linux') +subdir('Common/Images') +subdir('Common/HTML') +subdir('Common/Presets') + diff --git a/Sparkles/Git/meson.build b/Sparkles/Git/meson.build new file mode 100644 index 00000000..5022a4a4 --- /dev/null +++ b/Sparkles/Git/meson.build @@ -0,0 +1,10 @@ +sparkles_git_src = ['GitCommand.cs', + 'GitFetcher.cs', + 'GitRepository.cs'] + +sparkles_git = library('Sparkles.Git', + link_with: sparkles, + sources: sparkles_git_src, + install: true, + install_dir: install_dir) + diff --git a/Sparkles/meson.build b/Sparkles/meson.build new file mode 100644 index 00000000..42fa02ac --- /dev/null +++ b/Sparkles/meson.build @@ -0,0 +1,31 @@ +sparkles_src = ['AuthenticationInfo.cs', + 'BaseFetcher.cs', + 'BaseListener.cs', + 'BaseRepository.cs', + 'ChangeSet.cs', + 'Command.cs', + 'Configuration.cs', + 'Extensions.cs', + 'InstallationInfo.cs', + 'InstallationInfo.Directory.cs', + 'Invite.cs', + 'ListenerFactory.cs', + 'Logger.cs', + 'Preset.cs', + 'SSHAuthenticationInfo.cs', + 'SSHCommand.cs', + 'SSHFetcher.cs', + 'TcpListener.cs', + 'User.cs', + 'Watcher.cs'] + +# generator = custom_target('replace', +# input: 'InstallationInfo.Directory.cs.in', +# output: 'InstallationInfo.Directory.cs', +# command: ['sed', 's/@VERSION@/2.0.1/g @INPUT@', '@OUTPUT@']) + +sparkles = library('Sparkles', + sources: sparkles_src, + install: true, + install_dir: install_dir) + diff --git a/meson.build b/meson.build new file mode 100644 index 00000000..f6f0020b --- /dev/null +++ b/meson.build @@ -0,0 +1,8 @@ +project('SparkleShare', 'cs') + +install_dir = 'share/sparkleshare' + +subdir('Sparkles') +subdir('Sparkles/Git') +subdir('SparkleShare') +