1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
| project('Demo', 'cpp', version : '0.1', default_options : [ 'warning_level=3', 'cpp_std=c++14', 'b_vscrt=mt', 'backend_startup_project=Demo' ] )
buildtype = get_option('buildtype') project_version = meson.project_version() project_root = meson.current_source_dir() project_build_root = meson.current_build_dir() source_root = join_paths(project_root, 'src') include_root = join_paths(project_root, 'src') tests_root = join_paths(project_root, 'tests')
# # Compiler Flags #
add_global_arguments(['/Zi'], language: 'cpp') add_global_link_arguments(['/DEBUG:FULL'], language: 'cpp')
# # Dependencies #
python3_dep = dependency('python3', version: '>=3.7.0') boost_python_dep = dependency('boost', modules: ['python3'], static: true)
# # Define Demo Project #
Demo_inc = [ include_root ]
Demo_inc_files = files([ join_paths(include_root, 'Demo.h') ])
Demo_src_files = files([ join_paths(include_root, 'Demo.cc') ])
Demo_deps = [ python3_dep, boost_python_dep ]
shared_library( 'Demo', [ Demo_inc_files, Demo_src_files ], include_directories: Demo_inc, dependencies: Demo_deps, name_suffix: 'pyd', install: false )
configure_file( input: '@0@@sha.vcxproj.user.in'.format(meson.project_name()), output: '@0@@sha.vcxproj.user'.format(meson.project_name()), configuration : configuration_data({ 'PYTHON_FULL_PATH': find_program('python').full_path() }) )
# # Test #
subdir('tests')
|