Add meson build scripts
This commit is contained in:
parent
9919f1aeb2
commit
82b5200857
11 changed files with 2789 additions and 2 deletions
2
.gitmodules
vendored
2
.gitmodules
vendored
|
@ -1,3 +1,3 @@
|
|||
[submodule "lib/Catch2"]
|
||||
path = lib/Catch2
|
||||
path = subprojects/Catch2/Catch2
|
||||
url = https://github.com/catchorg/Catch2.git
|
||||
|
|
32
include/meson.build
Normal file
32
include/meson.build
Normal file
|
@ -0,0 +1,32 @@
|
|||
if not meson.is_subproject() and meson.version().version_compare('>=0.63.0')
|
||||
install_headers(
|
||||
'duckhandy/implem/IteratorOnPtr.hpp',
|
||||
'duckhandy/implem/AutomemBase.hpp',
|
||||
'duckhandy/implem/AutomemBase.inl',
|
||||
'duckhandy/implem/int_conv.hpp',
|
||||
'duckhandy/implem/reversed_sized_array_bt.hpp',
|
||||
'duckhandy/version_bt.hpp',
|
||||
'duckhandy/has_method.hpp',
|
||||
'duckhandy/MaxSizedArray.hpp',
|
||||
'duckhandy/MaxSizedArray.inl',
|
||||
'duckhandy/bitfield_pack.hpp',
|
||||
'duckhandy/cmake_on_off.h',
|
||||
'duckhandy/compatibility.h',
|
||||
'duckhandy/ducktypes.hpp',
|
||||
'duckhandy/endianness.hpp',
|
||||
'duckhandy/tiger_bt.hpp',
|
||||
'duckhandy/infix_iterator.hpp',
|
||||
'duckhandy/int_conv.hpp',
|
||||
'duckhandy/int_types.hpp',
|
||||
'duckhandy/lengthof.h',
|
||||
'duckhandy/nomove_storage.hpp',
|
||||
'duckhandy/resource_pool.hpp',
|
||||
'duckhandy/tiger_bt.inl',
|
||||
'duckhandy/string.hpp',
|
||||
'duckhandy/string_bt.hpp',
|
||||
'duckhandy/string_view.hpp',
|
||||
'duckhandy/stringize.h',
|
||||
'duckhandy/variadic_repeat_bt.hpp',
|
||||
preserve_path: true, #meson v0.63.0
|
||||
)
|
||||
endif
|
22
meson.build
Normal file
22
meson.build
Normal file
|
@ -0,0 +1,22 @@
|
|||
project('duckhandy',
|
||||
version: '0.1.0',
|
||||
meson_version: '>=0.56.0',
|
||||
default_options: ['buildtype=release', 'cpp_std=gnu++20', 'b_ndebug=if-release']
|
||||
)
|
||||
|
||||
sprout_dep = dependency('sprout', allow_fallback: true)
|
||||
|
||||
public_incl = include_directories('include')
|
||||
|
||||
duckhandy_dep = declare_dependency(
|
||||
include_directories: [
|
||||
public_incl,
|
||||
],
|
||||
dependencies: [sprout_dep],
|
||||
)
|
||||
|
||||
if get_option('build_testing')
|
||||
subdir('test')
|
||||
endif
|
||||
|
||||
subdir('include')
|
1
meson_options.txt
Normal file
1
meson_options.txt
Normal file
|
@ -0,0 +1 @@
|
|||
option('build_testing', type: 'boolean', value: true)
|
11
subprojects/Catch2/meson.build
Normal file
11
subprojects/Catch2/meson.build
Normal file
|
@ -0,0 +1,11 @@
|
|||
project('Catch2',
|
||||
version: '2.13.6',
|
||||
meson_version: '>=0.54.0',
|
||||
)
|
||||
|
||||
public_incl = include_directories('Catch2/single_include')
|
||||
catch2_dep = declare_dependency(
|
||||
include_directories: public_incl
|
||||
)
|
||||
|
||||
meson.override_dependency(meson.project_name(), catch2_dep)
|
2694
subprojects/packagefiles/sprout/meson.build
Normal file
2694
subprojects/packagefiles/sprout/meson.build
Normal file
File diff suppressed because it is too large
Load diff
7
subprojects/sprout.wrap
Normal file
7
subprojects/sprout.wrap
Normal file
|
@ -0,0 +1,7 @@
|
|||
[wrap-git]
|
||||
url = https://github.com/bolero-MURAKAMI/Sprout.git
|
||||
revision = head
|
||||
patch_directory = sprout
|
||||
|
||||
[provide]
|
||||
dependency_names = sprout-20190615
|
1
test/meson.build
Normal file
1
test/meson.build
Normal file
|
@ -0,0 +1 @@
|
|||
subdir('unit')
|
|
@ -14,7 +14,7 @@ set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17)
|
|||
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
target_include_directories(${PROJECT_NAME}
|
||||
PRIVATE ${DUCKHANDY_SOURCE_DIR}/lib/Catch2/single_include
|
||||
PRIVATE ${DUCKHANDY_SOURCE_DIR}/subprojects/Catch2/Catch2/single_include
|
||||
)
|
||||
|
||||
target_link_libraries(${PROJECT_NAME}
|
||||
|
|
19
test/unit/meson.build
Normal file
19
test/unit/meson.build
Normal file
|
@ -0,0 +1,19 @@
|
|||
catch2_dep = dependency('Catch2', fallback: ['Catch2', 'catch2_dep'])
|
||||
|
||||
unit_test_prog = executable(meson.project_name(),
|
||||
'int_conv_test.cpp',
|
||||
'main.cpp',
|
||||
'endianness_test.cpp',
|
||||
'reversed_sized_array_test.cpp',
|
||||
'bitfield_pack_test.cpp',
|
||||
'resource_pool_test.cpp',
|
||||
'version_test.cpp',
|
||||
'tiger_test.cpp',
|
||||
install: false,
|
||||
dependencies: [sprout_dep, catch2_dep],
|
||||
include_directories: [public_incl],
|
||||
)
|
||||
|
||||
test('unit_' + meson.project_name(),
|
||||
unit_test_prog,
|
||||
)
|
Loading…
Reference in a new issue