aboutsummaryrefslogtreecommitdiff
path: root/meson.build
blob: 93e5167031dc325b0c495d34a00be82b02db17de (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
project('smolbote', 'cpp',
    version: 'master',
    default_options: ['cpp_std=c++17', 'strip=true', 'warning_level=3'],
    license: 'GPL3')

# Qt 5
qt5 = import('qt5')
dep_qt5 = dependency('qt5', modules: ['Core', 'Network', 'Widgets', 'WebEngineWidgets'])

# Boost
dep_boost = dependency('boost', modules: ['program_options'])

# Breakpad
dep_breakpad = declare_dependency(
    compile_args: '-DBreakpadEnabled',
    dependencies: [dependency('breakpad-client', required: get_option('Breakpad')), dependency('threads', required: get_option('Breakpad'))]
)

# KDE
dep_plasma = declare_dependency(
    compile_args: '-DPLASMA',
    dependencies: [meson.get_compiler('cpp').find_library('KF5WindowSystem', required: get_option('Plasma')),
                   meson.get_compiler('cpp').find_library('KF5Wallet', required: get_option('Plasma'))],
    include_directories: [include_directories('/usr/include/KF5/KWindowSystem'), include_directories('/usr/include/KF5/KWallet')]
)

# Generate config header
include = include_directories('include')
conf = configuration_data()
conf.set_quoted('poi_Version', '1.0.0')
conf.set_quoted('poi_Describe', '1.0.0-stable')
conf.set_quoted('poi_Build', 'custom-1.0.0')

configure_file(configuration: conf, input: 'include/version.h.in', output: 'version.h')
genheader_inc = include_directories('.')

pymod = import('python')
python3 = pymod.find_installation('python3')

kconfiggen = custom_target('configheader',
    input: ['tools/config.py', 'src/Kconfig', 'linux/.config'],
    output: 'config.h',
    command: [python3, '@INPUT0@', '--kconfig=@INPUT1@', '--dotconfig=@INPUT2@', '--generate=@OUTPUT@'],
    build_by_default: true
)

interfaces_moc = qt5.preprocess(
    moc_headers: ['include/browserinterface.h', 'include/plugininterface.h', 'include/profileinterface.h'],
    dependencies: dep_qt5
)

subdir('lib/about')
subdir('lib/addressbar')
subdir('lib/bookmarks')
subdir('lib/configuration')
subdir('lib/downloads')
subdir('lib/urlfilter')
subdir('lib/web')

subdir('3rd-party/SingleApplication')

subdir('src')

subdir('plugins/ConfigurationEditor')
subdir('plugins/ProfileEditor')