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 4b4f85a commit 7184c67
Show file tree
Hide file tree
Showing 4 changed files with 62 additions and 2 deletions.
4 changes: 3 additions & 1 deletion Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@ libdfttest_la_SOURCES += DFTTest/DFTTest_SSE2.cpp \
DFTTest/vectorclass/vectorf256e.h \
DFTTest/vectorclass/vectori128.h \
DFTTest/vectorclass/vectori256.h \
DFTTest/vectorclass/vectori256e.h
DFTTest/vectorclass/vectori256e.h \
DFTTest/vectorclass/vectormath_common.h \
DFTTest/vectorclass/vectormath_exp.h

noinst_LTLIBRARIES = libavx2.la

Expand Down
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -313,6 +313,13 @@ Compilation

Requires `fftw3f`.

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

or

```
./autogen.sh
./configure
Expand Down
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ X86="false"
AS_CASE(
[$host_cpu],
[i?86], [BITS="32" X86="true"],
[x86_64], [BITS="64" X86="true"],
[x86_64], [BITS="64" X86="true"]
)

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

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

libs = []

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

fftw3f_dep = dependency('fftw3f')

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

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

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

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

shared_module('dfttest', sources,
dependencies : [vapoursynth_dep, fftw3f_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 7184c67

Please sign in to comment.