From 05b94dfdfb7109c5bb78d028d2d95f765b99d163 Mon Sep 17 00:00:00 2001 From: Emil Dotchevski Date: Sun, 4 Aug 2024 16:23:53 -0700 Subject: [PATCH] Added meson config for testing embedded builds --- .vscode/tasks.json | 16 ++++++++++++++-- example/try_capture_all_eh.cpp | 16 ++++++++++++++++ example/try_capture_all_result.cpp | 16 ++++++++++++++++ 3 files changed, 46 insertions(+), 2 deletions(-) diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 441d361..727a797 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -6,13 +6,25 @@ { "label": "Configure Meson build directories", "type": "shell", - "command": "cd ${workspaceRoot} && meson -D leaf_boost_examples=true -D leaf_lua_examples=true _bld/debug && meson -D leaf_boost_examples=true -D leaf_lua_examples=true -D leaf_hpp=true _bld/debug_leaf_hpp && meson -D leaf_boost_examples=true -D leaf_lua_examples=true _bld/release --buildtype release && meson -D leaf_boost_examples=true -D leaf_lua_examples=true -D leaf_hpp=true _bld/release_leaf_hpp --buildtype release && meson -D leaf_diagnostics=0 -D cpp_eh=none -D b_ndebug=true -D b_lto=true -D leaf_enable_benchmarks=true _bld/benchmark --buildtype release", + "command": "cd ${workspaceRoot} && meson setup -D leaf_boost_examples=true -D leaf_lua_examples=true _bld/debug && meson setup -D leaf_boost_examples=true -D leaf_lua_examples=true -D leaf_hpp=true _bld/debug_leaf_hpp && meson setup -D leaf_boost_examples=true -D leaf_lua_examples=true _bld/release --buildtype release && meson setup -D leaf_boost_examples=true -D leaf_lua_examples=true -D leaf_hpp=true _bld/release_leaf_hpp --buildtype release && meson setup -D leaf_diagnostics=0 -D cpp_eh=none -D b_ndebug=true -D b_lto=true -D leaf_enable_benchmarks=true _bld/benchmark --buildtype release", "problemMatcher": [] }, { "label": "Configure Meson build directories (no Boost)", "type": "shell", - "command": "cd ${workspaceRoot} && meson -D leaf_lua_examples=true _bld/debug && meson -D leaf_lua_examples=true -D leaf_hpp=true _bld/debug_leaf_hpp && meson -D leaf_lua_examples=true _bld/release --buildtype release && meson -D leaf_lua_examples=true -D leaf_hpp=true _bld/release_leaf_hpp --buildtype release", + "command": "cd ${workspaceRoot} && meson setup -D leaf_lua_examples=true _bld/debug && meson setup -D leaf_lua_examples=true -D leaf_hpp=true _bld/debug_leaf_hpp && meson setup -D leaf_lua_examples=true _bld/release --buildtype release && meson setup -D leaf_lua_examples=true -D leaf_hpp=true _bld/release_leaf_hpp --buildtype release", + "problemMatcher": [] + }, + { + "label": "Configure Meson build directories (test embedded)", + "type": "shell", + "command": "cd ${workspaceRoot} && meson setup -D leaf_embedded=true -D leaf_diagnostics=0 _bld/debug && meson setup -D leaf_embedded=true -D leaf_diagnostics=0 -D leaf_hpp=true _bld/debug_leaf_hpp && meson setup -D leaf_embedded=true -D leaf_diagnostics=0 _bld/release --buildtype release && meson setup -D leaf_embedded=true -D leaf_diagnostics=0 -D leaf_hpp=true _bld/release_leaf_hpp --buildtype release", + "problemMatcher": [] + }, + { + "label": "Configure Meson build directories (test embedded, no exceptions)", + "type": "shell", + "command": "cd ${workspaceRoot} && meson setup -D cpp_eh=none -D leaf_embedded=true -D leaf_diagnostics=0 _bld/debug && meson setup -D cpp_eh=none -D leaf_embedded=true -D leaf_diagnostics=0 -D leaf_hpp=true _bld/debug_leaf_hpp && meson setup -D cpp_eh=none -D leaf_embedded=true -D leaf_diagnostics=0 _bld/release --buildtype release && meson setup -D cpp_eh=none -D leaf_embedded=true -D leaf_diagnostics=0 -D leaf_hpp=true _bld/release_leaf_hpp --buildtype release", "problemMatcher": [] }, { diff --git a/example/try_capture_all_eh.cpp b/example/try_capture_all_eh.cpp index 28508b6..5d59d49 100644 --- a/example/try_capture_all_eh.cpp +++ b/example/try_capture_all_eh.cpp @@ -7,6 +7,20 @@ // objects between threads, using exception handling. See capture_in_result.cpp // for the version that does not use exception handling. +#include + +#if !BOOST_LEAF_CFG_CAPTURE || defined(BOOST_LEAF_NO_EXCEPTIONS) + +#include + +int main() +{ + std::cout << "Unit test not applicable." << std::endl; + return 0; +} + +#else + #include #include #include @@ -88,3 +102,5 @@ int main() } ); } } + +#endif diff --git a/example/try_capture_all_result.cpp b/example/try_capture_all_result.cpp index 42475de..d274ae4 100644 --- a/example/try_capture_all_result.cpp +++ b/example/try_capture_all_result.cpp @@ -7,6 +7,20 @@ // objects between threads, without using exception handling. See capture_eh.cpp // for the version that uses exception handling. +#include + +#if !BOOST_LEAF_CFG_CAPTURE + +#include + +int main() +{ + std::cout << "Unit test not applicable." << std::endl; + return 0; +} + +#else + #include #include #include @@ -110,3 +124,5 @@ namespace boost } #endif + +#endif