11# SPDX-License-Identifier: BSL-1.0
22
33project (' posixsignalmanager' , [' cpp' ],
4- default_options : [' cpp_std=c++14 ' ],
4+ default_options : [' cpp_std=c++17 ' ],
55 version : ' 0.3' )
66
77macros = []
@@ -22,8 +22,26 @@ if not cxx.has_function('pipe2')
2222 macros += [' -DNO_PIPE2' ]
2323endif
2424
25- qt5 = import (' qt5' )
26- qt5_dep = dependency (' qt5' , modules : ' Core' )
25+ qt_version = get_option (' qt' )
26+ qt = import (qt_version)
27+ qt_dep = dependency (qt_version, modules : ' Core' )
28+
29+ lib_name_base = ' posixsignalmanager'
30+
31+ if qt_version == ' qt5'
32+ lib_name_for_meson = lib_name_base
33+ pkg_filebase = ' PosixSignalManager'
34+ pkg_name = ' PosixSignalManager'
35+ pkg_description = ' Management of POSIX signals for Qt5 event loop'
36+ elif qt_version == ' qt6'
37+ lib_name_for_meson = lib_name_base + ' -qt6'
38+ pkg_filebase = ' PosixSignalManagerQt6'
39+ pkg_name = ' PosixSignalManagerQt6'
40+ pkg_description = ' Management of POSIX signals for Qt6 event loop'
41+ else
42+ error (' Unsupported qt option value: ' + qt_version + ' . Must be "qt5" or "qt6".' )
43+ endif
44+
2745
2846main_vscript = ' posixsignalmanager.symver'
2947if host_machine .system() == ' linux'
3452endif
3553
3654
37- posixsignalmanager_lib = library (' posixsignalmanager ' , ' PosixSignalManager.cpp' ,
38- qt5 .preprocess(moc_headers : ' PosixSignalManager.h' ),
39- dependencies : [qt5_dep , librt], cpp_args : macros,
55+ posixsignalmanager_lib = library (lib_name_for_meson , ' PosixSignalManager.cpp' ,
56+ qt .preprocess(moc_headers : ' PosixSignalManager.h' ),
57+ dependencies : [qt_dep , librt], cpp_args : macros,
4058 link_args : main_ld_vscript,
4159 link_depends : main_vscript,
4260 soversion : ' 0a' ,
@@ -45,15 +63,15 @@ posixsignalmanager_lib = library('posixsignalmanager', 'PosixSignalManager.cpp',
4563
4664posixsignalmanager_dep = declare_dependency (link_with : posixsignalmanager_lib,
4765 include_directories : include_directories (' .' ),
48- dependencies : [qt5_dep , librt])
66+ dependencies : [qt_dep , librt])
4967
5068install_headers (' PosixSignalManager.h' )
5169
5270import (' pkgconfig' ).generate(
5371 posixsignalmanager_lib,
54- description : ' management of posix signals for environments using the qt event loop ' ,
55- filebase : ' PosixSignalManager ' ,
56- name : ' PosixSignalManager ' ,
72+ description : pkg_description ,
73+ filebase : pkg_filebase ,
74+ name : pkg_name ,
5775 subdirs : [' .' ]
5876)
5977
0 commit comments