project('4DSSE', 'cpp', version: '0.0.1a', default_options: ['cpp_std=c++23'], meson_version: '>=1.6.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') + '/4DSSE' endif # Pass the DATA_DIR definition to the compiler add_project_arguments('-DDATA_DIR=' + data_dir, language : 'cpp') # Build external dependencies first so that all the embedded resources are available to the other targets subdir('build-config') subdir('assets/static') # Build the main project subdir('src') if get_option('build_tests') subdir('tests') endif if get_option('build_python') subdir('build-python') endif