65 lines
2.0 KiB
Meson
65 lines
2.0 KiB
Meson
# ***********************************************************************
|
|
#
|
|
# Copyright (C) 2025 -- The 4D-STAR Collaboration
|
|
# File Author: Emily Boudreaux
|
|
# Last Modified: March 19, 2025
|
|
#
|
|
# 4DSSE 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.
|
|
#
|
|
# 4DSSE 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('SERiF', 'cpp', version: 'v0.0.1a', 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')
|
|
# Determine the mode
|
|
mode = 1
|
|
if get_option('user_mode')
|
|
mode = 0
|
|
endif
|
|
|
|
# Define DATA_DIR based on mode
|
|
if mode == 1
|
|
data_dir = meson.project_source_root() + '/assets/dynamic'
|
|
else
|
|
data_dir = get_option('prefix') + '/' + get_option('datadir') + '/SERiF'
|
|
endif
|
|
|
|
# Pass the DATA_DIR definition to the compiler
|
|
add_project_arguments('-DDATA_DIR=' + data_dir, language : 'cpp')
|
|
# We disable these because of CppAD
|
|
add_project_arguments('-Wno-bitwise-instead-of-logical', language: 'cpp')
|
|
|
|
# Build external dependencies first so that all the embedded resources are available to the other targets
|
|
subdir('build-config')
|
|
|
|
if get_option('build_debug_utils')
|
|
subdir('utils/debugUtils')
|
|
endif
|
|
|
|
|
|
# Build the main project
|
|
subdir('src')
|
|
if get_option('build_tests')
|
|
subdir('tests')
|
|
endif
|
|
|
|
if get_option('build_python')
|
|
subdir('build-python')
|
|
endif
|
|
|
|
if get_option('build_post_run_utils')
|
|
subdir('utils')
|
|
endif
|
|
|