Skip to content

Commit

Permalink
Add Meson build system
Browse files Browse the repository at this point in the history
  • Loading branch information
HolyWu committed Nov 29, 2018
1 parent 34fbaa0 commit 8a34ade
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 0 deletions.
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,13 @@ Usage
Compilation
===========

```
meson build
ninja -C build
```

or

```
./autogen.sh
./configure
Expand Down
47 changes: 47 additions & 0 deletions meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
project('CTMF', 'cpp',
default_options : ['buildtype=release', 'b_ndebug=if-release', 'cpp_std=c++14'],
meson_version : '>=0.48.0',
version : '4'
)

sources = [
'CTMF/CTMF.cpp',
'CTMF/CTMF.hpp',
'CTMF/vectorclass/instrset.h',
'CTMF/vectorclass/instrset_detect.cpp'
]

libs = []

vapoursynth_dep = dependency('vapoursynth').partial_dependency(compile_args : true, includes : true)

add_project_arguments('-ffast-math', language : 'cpp')

if host_machine.cpu_family().startswith('x86')
sources += [
'CTMF/CTMF_SSE2.cpp',
'CTMF/vectorclass/vectorclass.h',
'CTMF/vectorclass/vectorf128.h',
'CTMF/vectorclass/vectorf256.h',
'CTMF/vectorclass/vectorf256e.h',
'CTMF/vectorclass/vectori128.h',
'CTMF/vectorclass/vectori256.h',
'CTMF/vectorclass/vectori256e.h'
]

add_project_arguments('-DVS_TARGET_CPU_X86', '-mfpmath=sse', '-msse2', language : 'cpp')

libs += static_library('avx2', 'CTMF/CTMF_AVX2.cpp',
dependencies : vapoursynth_dep,
cpp_args : ['-mavx2', '-mfma'],
gnu_symbol_visibility : 'hidden'
)
endif

shared_module('ctmf', sources,
dependencies : vapoursynth_dep,
link_with : libs,
install : true,
install_dir : join_paths(vapoursynth_dep.get_pkgconfig_variable('libdir'), 'vapoursynth'),
gnu_symbol_visibility : 'hidden'
)

0 comments on commit 8a34ade

Please sign in to comment.