build: Initial meson files

This commit is contained in:
Hylke Bons 2018-02-19 05:23:32 +00:00
parent 2db852e202
commit 0a144e3fde
10 changed files with 154 additions and 0 deletions

View file

@ -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'))

View file

@ -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'))

View file

@ -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'))

View file

@ -0,0 +1,8 @@
install_subdir(
'hicolor',
install_dir: join_paths(install_dir, 'icons'))
install_subdir(
'hicolor',
install_dir: join_paths(install_dir, 'icons'))

View file

@ -0,0 +1,6 @@
image_files = ['tutorial-slide-3.png']
install_data(
sources: image_files,
install_dir: join_paths(install_dir, 'pixmaps'))

View file

@ -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

5
SparkleShare/meson.build Normal file
View file

@ -0,0 +1,5 @@
subdir('Linux')
subdir('Common/Images')
subdir('Common/HTML')
subdir('Common/Presets')

10
Sparkles/Git/meson.build Normal file
View file

@ -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)

31
Sparkles/meson.build Normal file
View file

@ -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)

8
meson.build Normal file
View file

@ -0,0 +1,8 @@
project('SparkleShare', 'cs')
install_dir = 'share/sparkleshare'
subdir('Sparkles')
subdir('Sparkles/Git')
subdir('SparkleShare')