Files
libcomposition/meson.build
Emily Boudreaux 31407c91f7 feat(CompositionDecorator): added composition decorator
It is sometimes useful for callers to be able to create new composition objects without overloading all the required methods. The CompositionDecorator acts as a simple translation layer which will pass any calls to virtual methods down to the next level of the composition stack (other than those which may have been overloaded by the caller)
2025-11-09 07:42:03 -05:00

48 lines
1.8 KiB
Meson

# ***********************************************************************
#
# Copyright (C) 2025 -- The 4D-STAR Collaboration
# File Author: Emily Boudreaux
# Last Modified: June 21, 2025
#
# libcomposition is free software; you can use it and/or modify
# it under the terms and restrictions the GNU General Library Public
# License version 3 (GPLv3) as published by the Free Software Foundation.
#
# libcomposition is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU Library General Public License for more details.
#
# You should have received a copy of the GNU Library General Public License
# along with this software; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# *********************************************************************** #
project('libcomposition', 'cpp', version: 'v2.0.3', default_options: ['cpp_std=c++23'], meson_version: '>=1.5.0')
# Add default visibility for all C++ targets
add_project_arguments('-fvisibility=default', language: 'cpp')
# Disable shadow warnings
add_project_arguments('-Wno-shadow', language: 'cpp')
cpp = meson.get_compiler('cpp')
subdir('build-config')
subdir('src')
subdir('tests')
if get_option('pkg-config')
message('Generating pkg-config file for libcomposition...')
pkg = import('pkgconfig')
pkg.generate(
name: 'libcomposition',
description: 'Composition module for SERiF and related projects',
version: meson.project_version(),
libraries: [libcomposition],
subdirs: ['fourdst'],
filebase: 'fourdst_composition',
install_dir: join_paths(get_option('libdir'), 'pkgconfig')
)
endif