meson.build (2096B)
1 # 2 # This file is part of GNUnet. 3 # Copyright (C) 2023--2025 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('gnunetidentity'), 43 dependency('gnunetmessenger'), 44 dependency('gnunetnamestore'), 45 dependency('gnunetreclaim'), 46 dependency('gnunetregex'), 47 dependency('gnunetutil'), 48 ] 49 50 subdir('include') 51 subdir('src') 52 53 gnunetchat_lib = library( 54 'gnunetchat', 55 gnunetchat_sources, 56 install: true, 57 dependencies: gnunetchat_deps, 58 include_directories: src_include, 59 extra_files: gnunetchat_internal, 60 ) 61 62 pkg.generate( 63 gnunetchat_lib, 64 description: 'A client-side library for applications to use the Messenger service of GNUnet', 65 ) 66 67 check_dep = dependency('check', required: false) 68 69 if check_dep.found() 70 subdir('tests') 71 endif 72 73 subdir('tools') 74 75 run_target( 76 'docs', 77 command: 'doc/generate.sh', 78 )