meson.build (2157B)
1 # 2 # This file is part of GNUnet. 3 # Copyright (C) 2023--2026 GNUnet e.V. 4 # 5 # GNUnet is free software: you can redistribute it and/or modify it 6 # under the terms of the GNU Affero General Public License as published 7 # by the Free Software Foundation, either version 3 of the License, 8 # or (at your option) any later version. 9 # 10 # GNUnet is distributed in the hope that it will be useful, but 11 # WITHOUT ANY WARRANTY; without even the implied warranty of 12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 # Affero General Public License for more details. 14 # 15 # You should have received a copy of the GNU Affero General Public License 16 # along with this program. If not, see <http://www.gnu.org/licenses/>. 17 # 18 # SPDX-License-Identifier: AGPL3.0-or-later 19 # 20 21 project( 22 'libgnunetchat', 23 'c', 24 license: 'AGPL3.0-or-later', 25 version: run_command('contrib/get_version.sh').stdout().strip(), 26 meson_version: '>= 1.1.0', 27 ) 28 29 meson.add_dist_script('contrib/distribute_version.sh', meson.project_version()) 30 31 pkg = import('pkgconfig') 32 33 src_include = include_directories('src', 'include/gnunet') 34 tests_include = include_directories('tests', 'include') 35 tools_include = include_directories('include') 36 37 gnunetchat_deps = [ 38 dependency('gnunetarm'), 39 dependency('gnunetfs'), 40 dependency('gnunetgns'), 41 dependency('gnunetgnsrecord'), 42 dependency('gnunethello'), 43 dependency('gnunetidentity'), 44 dependency('gnunetmessenger'), 45 dependency('gnunetnamestore'), 46 dependency('gnunetpils'), 47 dependency('gnunetreclaim'), 48 dependency('gnunetregex'), 49 dependency('gnunetutil'), 50 ] 51 52 subdir('include') 53 subdir('src') 54 55 gnunetchat_lib = library( 56 'gnunetchat', 57 gnunetchat_sources, 58 install: true, 59 dependencies: gnunetchat_deps, 60 include_directories: src_include, 61 extra_files: gnunetchat_internal, 62 ) 63 64 pkg.generate( 65 gnunetchat_lib, 66 description: 'A client-side library for applications to use the Messenger service of GNUnet', 67 ) 68 69 check_dep = dependency('check', required: false) 70 71 if check_dep.found() 72 subdir('tests') 73 endif 74 75 subdir('tools') 76 77 run_target( 78 'docs', 79 command: 'doc/generate.sh', 80 )