cucumber / cucumber-cpp

Support for writing Cucumber step definitions in C++
MIT License
306 stars 131 forks source link

Build fails when unit tests or examples are enabled #207

Closed ghost closed 5 years ago

ghost commented 5 years ago

Summary

Build fails when using the latest clang 7.0.1 with CUKE_DISABLE_UNIT_TESTS=OFF or CUKE_ENABLE_EXAMPLES=ON. Building with the latest gcc 8.2.1 has no such problem.

195 fixes this issue

Environment

Steps to reproduce and output

Sorry for lots of text. All files have .log suffix so you can navigate by searching. I've cropped parts of the failing build output and attached the complete logs to make it shorter.

Default setup (fails)

$ cmake .. &> configure_default.log
$ make &> build_default.log

configure_default.log

-- The CXX compiler identification is Clang 7.0.1
-- Check for working C compiler: /usr/bin/clang
-- Check for working C compiler: /usr/bin/clang -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/clang++
-- Check for working CXX compiler: /usr/bin/clang++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Boost version: 1.68.0
-- Found the following Boost libraries:
--   unit_test_framework
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Boost version: 1.68.0
-- Found the following Boost libraries:
--   thread
--   system
--   regex
--   date_time
--   program_options
--   filesystem
--   chrono
--   atomic
-- Downloading GMock / GTest version 1.7.0 from git
-- Found GTest: /home/sbon/Git/cucumber-cpp/build/gmock/src/gtest-build/./libgtest.a  
-- Found GMock: /home/sbon/Git/cucumber-cpp/build/gmock/src/gmock-build/./libgmock.a  
-- Found Qt version: 5.12.0
-- C++11 is needed from Qt version 5.7.0, building with c++11 enabled
-- Boost version: 1.68.0
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Failed
-- Performing Test COMPILER_HAS_DEPRECATED
-- Performing Test COMPILER_HAS_DEPRECATED - Failed
-- Adding ContextHandlingTest
-- Adding HookRegistrationTest
-- Adding StepRegistrationTest
-- Adding TaggedHookRegistrationTest
-- Adding WireServerTest
-- Adding WireProtocolTest
-- Adding BasicStepTest
-- Adding ContextManagerTest
-- Adding CukeCommandsTest
-- Adding RegexTest
-- Adding StepCallChainTest
-- Adding StepManagerTest
-- Adding TableTest
-- Adding TagTest
-- Adding GTestDriverTest
-- Adding BoostDriverTest
-- Adding QtTestDriverTest
-- Adding GenericDriverTest
-- Found Cucumber
-- Configuring done
-- Generating done
-- Build files have been written to: /home/sbon/Git/cucumber-cpp/build

build_default.log

Scanning dependencies of target gtest
[  1%] Creating directories for 'gtest'
[  2%] Performing download step (git clone) for 'gtest'
-- gtest download command succeeded.  See also /home/sbon/Git/cucumber-cpp/build/gmock/src/gtest-stamp/gtest-download-*.log
[  2%] No patch step for 'gtest'
[  3%] Performing update step for 'gtest'
[  4%] Performing configure step for 'gtest'
-- gtest configure command succeeded.  See also /home/sbon/Git/cucumber-cpp/build/gmock/src/gtest-stamp/gtest-configure-*.log
[  5%] Performing build step for 'gtest'
-- gtest build command succeeded.  See also /home/sbon/Git/cucumber-cpp/build/gmock/src/gtest-stamp/gtest-build-*.log
[  6%] No install step for 'gtest'
[  7%] Completed 'gtest'
[  7%] Built target gtest
Scanning dependencies of target gmock
[  8%] Creating directories for 'gmock'
[  9%] Performing download step (git clone) for 'gmock'
-- gmock download command succeeded.  See also /home/sbon/Git/cucumber-cpp/build/gmock/src/gmock-stamp/gmock-download-*.log
[ 10%] No patch step for 'gmock'
[ 11%] Performing update step for 'gmock'
[ 12%] Performing configure step for 'gmock'
-- gmock configure command succeeded.  See also /home/sbon/Git/cucumber-cpp/build/gmock/src/gmock-stamp/gmock-configure-*.log
[ 12%] Performing build step for 'gmock'
-- gmock build command succeeded.  See also /home/sbon/Git/cucumber-cpp/build/gmock/src/gmock-stamp/gmock-build-*.log
[ 12%] No install step for 'gmock'
[ 13%] Completed 'gmock'
[ 13%] Built target gmock
[ 14%] Generating __/include/cucumber-cpp/internal/drivers/moc_QtTestDriver.cpp
Scanning dependencies of target cucumber-cpp-nomain
[ 15%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/drivers/GenericDriver.cpp.o
[ 17%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/ContextManager.cpp.o
[ 18%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/CukeCommands.cpp.o
[ 18%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/CukeEngine.cpp.o
[ 19%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/CukeEngineImpl.cpp.o
[ 20%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/StepManager.cpp.o
[ 21%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/HookRegistrar.cpp.o
[ 22%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/Regex.cpp.o
[ 23%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/Scenario.cpp.o
[ 23%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/Table.cpp.o
[ 24%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/Tag.cpp.o
[ 25%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/connectors/wire/WireServer.cpp.o
[ 26%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/connectors/wire/WireProtocol.cpp.o
[ 27%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/connectors/wire/WireProtocolCommands.cpp.o
[ 28%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/drivers/GTestDriver.cpp.o
[ 28%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/drivers/BoostDriver.cpp.o
[ 29%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/__/include/cucumber-cpp/internal/drivers/moc_QtTestDriver.cpp.o
[ 30%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/drivers/QtTestDriver.cpp.o
[ 31%] Linking CXX static library libcucumber-cpp-nomain.a
[ 31%] Built target cucumber-cpp-nomain
Scanning dependencies of target cucumber-cpp-internal
[ 32%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/drivers/GenericDriver.cpp.o
[ 34%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/ContextManager.cpp.o
[ 35%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/CukeCommands.cpp.o
[ 36%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/CukeEngine.cpp.o
[ 36%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/CukeEngineImpl.cpp.o
[ 37%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/StepManager.cpp.o
[ 38%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/HookRegistrar.cpp.o
[ 39%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/Regex.cpp.o
[ 40%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/Scenario.cpp.o
[ 41%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/Table.cpp.o
[ 41%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/Tag.cpp.o
[ 42%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/connectors/wire/WireServer.cpp.o
[ 43%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/connectors/wire/WireProtocol.cpp.o
[ 44%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/connectors/wire/WireProtocolCommands.cpp.o
[ 45%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/drivers/GTestDriver.cpp.o
[ 46%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/drivers/BoostDriver.cpp.o
[ 47%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/__/include/cucumber-cpp/internal/drivers/moc_QtTestDriver.cpp.o
[ 47%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/drivers/QtTestDriver.cpp.o
[ 48%] Linking CXX static library libcucumber-cpp-internal.a
[ 50%] Built target cucumber-cpp-internal
Scanning dependencies of target cucumber-cpp
[ 50%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/drivers/GenericDriver.cpp.o
[ 51%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/ContextManager.cpp.o
[ 52%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/CukeCommands.cpp.o
[ 53%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/CukeEngine.cpp.o
[ 54%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/CukeEngineImpl.cpp.o
[ 55%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/StepManager.cpp.o
[ 55%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/HookRegistrar.cpp.o
[ 56%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/Regex.cpp.o
[ 57%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/Scenario.cpp.o
[ 58%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/Table.cpp.o
[ 59%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/Tag.cpp.o
[ 60%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/connectors/wire/WireServer.cpp.o
[ 61%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/connectors/wire/WireProtocol.cpp.o
[ 61%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/connectors/wire/WireProtocolCommands.cpp.o
[ 62%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/drivers/GTestDriver.cpp.o
[ 63%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/drivers/BoostDriver.cpp.o
[ 64%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/__/include/cucumber-cpp/internal/drivers/moc_QtTestDriver.cpp.o
[ 65%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/drivers/QtTestDriver.cpp.o
[ 67%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/main.cpp.o
[ 67%] Linking CXX static library libcucumber-cpp.a
[ 68%] Built target cucumber-cpp
Scanning dependencies of target GenericDriverTest
[ 68%] Building CXX object tests/CMakeFiles/GenericDriverTest.dir/integration/drivers/GenericDriverTest.cpp.o
In file included from /home/sbon/Git/cucumber-cpp/tests/integration/drivers/GenericDriverTest.cpp:1:
In file included from /home/sbon/Git/cucumber-cpp/include/cucumber-cpp/generic.hpp:1:
In file included from /home/sbon/Git/cucumber-cpp/include/cucumber-cpp/internal/defs.hpp:1:
In file included from /home/sbon/Git/cucumber-cpp/include/cucumber-cpp/internal/drivers/../step/StepManager.hpp:12:
In file included from /usr/include/boost/make_shared.hpp:14:
In file included from /usr/include/boost/smart_ptr/make_shared.hpp:14:
/usr/include/boost/smart_ptr/make_shared_object.hpp:59:13: error: destructor called on non-final 'cucumber::internal::StepInfoNoOp' that has virtual functions but non-virtual destructor [-Werror,-Wdelete-non-virtual-dtor]
            p->~T();
            ^
/usr/include/boost/smart_ptr/make_shared_object.hpp:88:9: note: in instantiation of member function 'boost::detail::sp_ms_deleter<cucumber::internal::StepInfoNoOp>::destroy' requested here
        destroy();
        ^
/usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:166:5: note: in instantiation of member function 'boost::detail::sp_ms_deleter<cucumber::internal::StepInfoNoOp>::~sp_ms_deleter' requested here
    sp_counted_impl_pd( P p ): ptr( p ), del()
    ^
/usr/include/boost/smart_ptr/detail/shared_count.hpp:213:23: note: in instantiation of member function 'boost::detail::sp_counted_impl_pd<cucumber::internal::StepInfoNoOp *, boost::detail::sp_ms_deleter<cucumber::internal::StepInfoNoOp> >::sp_counted_impl_pd' requested here
            pi_ = new sp_counted_impl_pd< P, D >( p );
                      ^
/usr/include/boost/smart_ptr/shared_ptr.hpp:388:67: note: in instantiation of function template specialization 'boost::detail::shared_count::shared_count<cucumber::internal::StepInfoNoOp *, boost::detail::sp_ms_deleter<cucumber::internal::StepInfoNoOp> >' requested here
    template<class Y, class D> shared_ptr( Y * p, D d ): px( p ), pn( p, d )
                                                                  ^
/usr/include/boost/smart_ptr/make_shared_object.hpp:250:28: note: in instantiation of function template specialization 'boost::shared_ptr<cucumber::internal::StepInfoNoOp>::shared_ptr<cucumber::internal::StepInfoNoOp, boost::detail::sp_inplace_tag<boost::detail::sp_ms_deleter<cucumber::internal::StepInfoNoOp> > >' requested here
    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
                           ^
/home/sbon/Git/cucumber-cpp/tests/integration/drivers/../../utils/StepManagerTestDouble.hpp:64:31: note: in instantiation of function template specialization 'boost::make_shared<cucumber::internal::StepInfoNoOp, const std::__cxx11::basic_string<char> &, char const (&)[1]>' requested here
        return addStep(boost::make_shared<StepInfoNoOp>(stepMatcher, ""));
                              ^
/usr/include/boost/smart_ptr/make_shared_object.hpp:59:17: note: qualify call to silence this warning
            p->~T();
                ^
/usr/include/boost/smart_ptr/make_shared_object.hpp:59:13: error: destructor called on non-final 'cucumber::internal::StepInfoPending' that has virtual functions but non-virtual destructor [-Werror,-Wdelete-non-virtual-dtor]
            p->~T();
            ^
/usr/include/boost/smart_ptr/make_shared_object.hpp:88:9: note: in instantiation of member function 'boost::detail::sp_ms_deleter<cucumber::internal::StepInfoPending>::destroy' requested here
        destroy();
        ^
/usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:166:5: note: in instantiation of member function 'boost::detail::sp_ms_deleter<cucumber::internal::StepInfoPending>::~sp_ms_deleter' requested here
    sp_counted_impl_pd( P p ): ptr( p ), del()
    ^
/usr/include/boost/smart_ptr/detail/shared_count.hpp:213:23: note: in instantiation of member function 'boost::detail::sp_counted_impl_pd<cucumber::internal::StepInfoPending *, boost::detail::sp_ms_deleter<cucumber::internal::StepInfoPending> >::sp_counted_impl_pd' requested here
            pi_ = new sp_counted_impl_pd< P, D >( p );
                      ^
/usr/include/boost/smart_ptr/shared_ptr.hpp:388:67: note: in instantiation of function template specialization 'boost::detail::shared_count::shared_count<cucumber::internal::StepInfoPending *, boost::detail::sp_ms_deleter<cucumber::internal::StepInfoPending> >' requested here
    template<class Y, class D> shared_ptr( Y * p, D d ): px( p ), pn( p, d )
                                                                  ^

... 167 more lines ... see complete build_default.log

                           ^
/home/sbon/Git/cucumber-cpp/include/cucumber-cpp/internal/drivers/../step/StepManager.hpp:211:39: note: in instantiation of function template specialization 'boost::make_shared<cucumber::internal::StepInvoker<CukeObject3>, const std::__cxx11::basic_string<char> &, std::__cxx11::basic_string<char> >' requested here
   return StepManager::addStep(boost::make_shared< StepInvoker<T> >(stepMatcher, toSourceString(file, line)));
                                      ^
/home/sbon/Git/cucumber-cpp/tests/integration/drivers/GenericDriverTest.cpp:21:1: note: in instantiation of function template specialization 'cucumber::internal::registerStep<CukeObject3>' requested here
THEN(PENDING_MATCHER_2) {
^
/home/sbon/Git/cucumber-cpp/include/cucumber-cpp/internal/step/StepMacros.hpp:40:14: note: expanded from macro 'THEN'
#define THEN CUKE_STEP_
             ^
/home/sbon/Git/cucumber-cpp/include/cucumber-cpp/internal/step/StepMacros.hpp:14:5: note: expanded from macro 'CUKE_STEP_'
    CUKE_STEP_WITH_NAME_(CUKE_GEN_OBJECT_NAME_,                    \
    ^
/home/sbon/Git/cucumber-cpp/include/cucumber-cpp/internal/step/StepMacros.hpp:23:5: note: expanded from macro 'CUKE_STEP_WITH_NAME_'
    CUKE_STEP_REGISTRATION_(step_name, step_matcher),       \
    ^
/home/sbon/Git/cucumber-cpp/include/cucumber-cpp/internal/step/StepMacros.hpp:29:23: note: expanded from macro 'CUKE_STEP_REGISTRATION_'
::cucumber::internal::registerStep< step_name >(         \
                      ^
/usr/include/boost/smart_ptr/make_shared_object.hpp:59:17: note: qualify call to silence this warning
            p->~T();
                ^
7 errors generated.
make[2]: *** [tests/CMakeFiles/GenericDriverTest.dir/build.make:63: tests/CMakeFiles/GenericDriverTest.dir/integration/drivers/GenericDriverTest.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:512: tests/CMakeFiles/GenericDriverTest.dir/all] Error 2
make: *** [Makefile:141: all] Error 2

Disable unit tests (succeeds)

$ cmake -D CUKE_DISABLE_UNIT_TESTS=ON .. &> configure_no_test.log
$ make &> build_no_test.log

configure_no_test.log

-- The C compiler identification is Clang 7.0.1
-- The CXX compiler identification is Clang 7.0.1
-- Check for working C compiler: /usr/bin/clang
-- Check for working C compiler: /usr/bin/clang -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/clang++
-- Check for working CXX compiler: /usr/bin/clang++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Boost version: 1.68.0
-- Found the following Boost libraries:
--   unit_test_framework
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Boost version: 1.68.0
-- Found the following Boost libraries:
--   thread
--   system
--   regex
--   date_time
--   program_options
--   filesystem
--   chrono
--   atomic
-- Downloading GMock / GTest version 1.7.0 from git
-- Found GTest: /home/sbon/Git/cucumber-cpp/build/gmock/src/gtest-build/./libgtest.a  
-- Found GMock: /home/sbon/Git/cucumber-cpp/build/gmock/src/gmock-build/./libgmock.a  
-- Found Qt version: 5.12.0
-- C++11 is needed from Qt version 5.7.0, building with c++11 enabled
-- Boost version: 1.68.0
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Failed
-- Performing Test COMPILER_HAS_DEPRECATED
-- Performing Test COMPILER_HAS_DEPRECATED - Failed
-- Skipping unit tests
-- Found Cucumber
-- Configuring done
-- Generating done
-- Build files have been written to: /home/sbon/Git/cucumber-cpp/build

build_no_test.log

Scanning dependencies of target gtest
[  1%] Creating directories for 'gtest'
[  2%] Performing download step (git clone) for 'gtest'
-- gtest download command succeeded.  See also /home/sbon/Git/cucumber-cpp/build/gmock/src/gtest-stamp/gtest-download-*.log
[  3%] No patch step for 'gtest'
[  5%] Performing update step for 'gtest'
[  6%] Performing configure step for 'gtest'
-- gtest configure command succeeded.  See also /home/sbon/Git/cucumber-cpp/build/gmock/src/gtest-stamp/gtest-configure-*.log
[  7%] Performing build step for 'gtest'
-- gtest build command succeeded.  See also /home/sbon/Git/cucumber-cpp/build/gmock/src/gtest-stamp/gtest-build-*.log
[  9%] No install step for 'gtest'
[ 10%] Completed 'gtest'
[ 10%] Built target gtest
Scanning dependencies of target gmock
[ 11%] Creating directories for 'gmock'
[ 12%] Performing download step (git clone) for 'gmock'
-- gmock download command succeeded.  See also /home/sbon/Git/cucumber-cpp/build/gmock/src/gmock-stamp/gmock-download-*.log
[ 14%] No patch step for 'gmock'
[ 15%] Performing update step for 'gmock'
[ 16%] Performing configure step for 'gmock'
-- gmock configure command succeeded.  See also /home/sbon/Git/cucumber-cpp/build/gmock/src/gmock-stamp/gmock-configure-*.log
[ 18%] Performing build step for 'gmock'
-- gmock build command succeeded.  See also /home/sbon/Git/cucumber-cpp/build/gmock/src/gmock-stamp/gmock-build-*.log
[ 19%] No install step for 'gmock'
[ 20%] Completed 'gmock'
[ 20%] Built target gmock
[ 22%] Generating __/include/cucumber-cpp/internal/drivers/moc_QtTestDriver.cpp
Scanning dependencies of target cucumber-cpp-nomain
[ 23%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/drivers/GenericDriver.cpp.o
[ 24%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/ContextManager.cpp.o
[ 25%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/CukeCommands.cpp.o
[ 27%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/CukeEngine.cpp.o
[ 28%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/CukeEngineImpl.cpp.o
[ 29%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/StepManager.cpp.o
[ 31%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/HookRegistrar.cpp.o
[ 32%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/Regex.cpp.o
[ 33%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/Scenario.cpp.o
[ 35%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/Table.cpp.o
[ 36%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/Tag.cpp.o
[ 37%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/connectors/wire/WireServer.cpp.o
[ 38%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/connectors/wire/WireProtocol.cpp.o
[ 40%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/connectors/wire/WireProtocolCommands.cpp.o
[ 41%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/drivers/GTestDriver.cpp.o
[ 42%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/drivers/BoostDriver.cpp.o
[ 44%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/__/include/cucumber-cpp/internal/drivers/moc_QtTestDriver.cpp.o
[ 45%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/drivers/QtTestDriver.cpp.o
[ 46%] Linking CXX static library libcucumber-cpp-nomain.a
[ 46%] Built target cucumber-cpp-nomain
Scanning dependencies of target cucumber-cpp-internal
[ 48%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/drivers/GenericDriver.cpp.o
[ 49%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/ContextManager.cpp.o
[ 50%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/CukeCommands.cpp.o
[ 51%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/CukeEngine.cpp.o
[ 53%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/CukeEngineImpl.cpp.o
[ 54%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/StepManager.cpp.o
[ 55%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/HookRegistrar.cpp.o
[ 57%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/Regex.cpp.o
[ 58%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/Scenario.cpp.o
[ 59%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/Table.cpp.o
[ 61%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/Tag.cpp.o
[ 62%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/connectors/wire/WireServer.cpp.o
[ 63%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/connectors/wire/WireProtocol.cpp.o
[ 64%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/connectors/wire/WireProtocolCommands.cpp.o
[ 66%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/drivers/GTestDriver.cpp.o
[ 67%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/drivers/BoostDriver.cpp.o
[ 68%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/__/include/cucumber-cpp/internal/drivers/moc_QtTestDriver.cpp.o
[ 70%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/drivers/QtTestDriver.cpp.o
[ 71%] Linking CXX static library libcucumber-cpp-internal.a
[ 72%] Built target cucumber-cpp-internal
Scanning dependencies of target cucumber-cpp
[ 74%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/drivers/GenericDriver.cpp.o
[ 75%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/ContextManager.cpp.o
[ 76%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/CukeCommands.cpp.o
[ 77%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/CukeEngine.cpp.o
[ 79%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/CukeEngineImpl.cpp.o
[ 80%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/StepManager.cpp.o
[ 81%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/HookRegistrar.cpp.o
[ 83%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/Regex.cpp.o
[ 84%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/Scenario.cpp.o
[ 85%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/Table.cpp.o
[ 87%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/Tag.cpp.o
[ 88%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/connectors/wire/WireServer.cpp.o
[ 89%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/connectors/wire/WireProtocol.cpp.o
[ 90%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/connectors/wire/WireProtocolCommands.cpp.o
[ 92%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/drivers/GTestDriver.cpp.o
[ 93%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/drivers/BoostDriver.cpp.o
[ 94%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/__/include/cucumber-cpp/internal/drivers/moc_QtTestDriver.cpp.o
[ 96%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/drivers/QtTestDriver.cpp.o
[ 97%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/main.cpp.o
[ 98%] Linking CXX static library libcucumber-cpp.a
[100%] Built target cucumber-cpp

Disable unit tests but enable examples (fails)

$ cmake -D CUKE_DISABLE_UNIT_TESTS=ON -D CUKE_ENABLE_EXAMPLES=ON .. &> configure_no_test_w_examples.log
$ make &> build_no_test_w_examples.log

configure_no_test_w_examples.log

-- The C compiler identification is Clang 7.0.1
-- The CXX compiler identification is Clang 7.0.1
-- Check for working C compiler: /usr/bin/clang
-- Check for working C compiler: /usr/bin/clang -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/clang++
-- Check for working CXX compiler: /usr/bin/clang++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Boost version: 1.68.0
-- Found the following Boost libraries:
--   unit_test_framework
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Boost version: 1.68.0
-- Found the following Boost libraries:
--   thread
--   system
--   regex
--   date_time
--   program_options
--   filesystem
--   chrono
--   atomic
-- Downloading GMock / GTest version 1.7.0 from git
-- Found GTest: /home/sbon/Git/cucumber-cpp/build/gmock/src/gtest-build/./libgtest.a  
-- Found GMock: /home/sbon/Git/cucumber-cpp/build/gmock/src/gmock-build/./libgmock.a  
-- Found Qt version: 5.12.0
-- C++11 is needed from Qt version 5.7.0, building with c++11 enabled
-- Boost version: 1.68.0
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Failed
-- Performing Test COMPILER_HAS_DEPRECATED
-- Performing Test COMPILER_HAS_DEPRECATED - Failed
-- Skipping unit tests
-- Found Cucumber
-- Configuring done
-- Generating done
-- Build files have been written to: /home/sbon/Git/cucumber-cpp/build

build_no_test_w_examples.log

Scanning dependencies of target gtest
[  1%] Creating directories for 'gtest'
[  2%] Performing download step (git clone) for 'gtest'
-- gtest download command succeeded.  See also /home/sbon/Git/cucumber-cpp/build/gmock/src/gtest-stamp/gtest-download-*.log
[  3%] No patch step for 'gtest'
[  4%] Performing update step for 'gtest'
[  5%] Performing configure step for 'gtest'
-- gtest configure command succeeded.  See also /home/sbon/Git/cucumber-cpp/build/gmock/src/gtest-stamp/gtest-configure-*.log
[  6%] Performing build step for 'gtest'
-- gtest build command succeeded.  See also /home/sbon/Git/cucumber-cpp/build/gmock/src/gtest-stamp/gtest-build-*.log
[  7%] No install step for 'gtest'
[  8%] Completed 'gtest'
[  8%] Built target gtest
Scanning dependencies of target gmock
[  9%] Creating directories for 'gmock'
[ 10%] Performing download step (git clone) for 'gmock'
-- gmock download command succeeded.  See also /home/sbon/Git/cucumber-cpp/build/gmock/src/gmock-stamp/gmock-download-*.log
[ 11%] No patch step for 'gmock'
[ 12%] Performing update step for 'gmock'
[ 12%] Performing configure step for 'gmock'
-- gmock configure command succeeded.  See also /home/sbon/Git/cucumber-cpp/build/gmock/src/gmock-stamp/gmock-configure-*.log
[ 13%] Performing build step for 'gmock'
-- gmock build command succeeded.  See also /home/sbon/Git/cucumber-cpp/build/gmock/src/gmock-stamp/gmock-build-*.log
[ 14%] No install step for 'gmock'
[ 15%] Completed 'gmock'
[ 15%] Built target gmock
[ 17%] Generating __/include/cucumber-cpp/internal/drivers/moc_QtTestDriver.cpp
Scanning dependencies of target cucumber-cpp-nomain
[ 18%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/drivers/GenericDriver.cpp.o
[ 19%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/ContextManager.cpp.o
[ 20%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/CukeCommands.cpp.o
[ 21%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/CukeEngine.cpp.o
[ 22%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/CukeEngineImpl.cpp.o
[ 23%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/StepManager.cpp.o
[ 24%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/HookRegistrar.cpp.o
[ 25%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/Regex.cpp.o
[ 26%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/Scenario.cpp.o
[ 26%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/Table.cpp.o
[ 27%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/Tag.cpp.o
[ 28%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/connectors/wire/WireServer.cpp.o
[ 29%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/connectors/wire/WireProtocol.cpp.o
[ 30%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/connectors/wire/WireProtocolCommands.cpp.o
[ 31%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/drivers/GTestDriver.cpp.o
[ 32%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/drivers/BoostDriver.cpp.o
[ 34%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/__/include/cucumber-cpp/internal/drivers/moc_QtTestDriver.cpp.o
[ 35%] Building CXX object src/CMakeFiles/cucumber-cpp-nomain.dir/drivers/QtTestDriver.cpp.o
[ 36%] Linking CXX static library libcucumber-cpp-nomain.a
[ 36%] Built target cucumber-cpp-nomain
Scanning dependencies of target cucumber-cpp-internal
[ 37%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/drivers/GenericDriver.cpp.o
[ 38%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/ContextManager.cpp.o
[ 39%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/CukeCommands.cpp.o
[ 40%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/CukeEngine.cpp.o
[ 41%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/CukeEngineImpl.cpp.o
[ 42%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/StepManager.cpp.o
[ 43%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/HookRegistrar.cpp.o
[ 44%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/Regex.cpp.o
[ 45%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/Scenario.cpp.o
[ 46%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/Table.cpp.o
[ 47%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/Tag.cpp.o
[ 48%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/connectors/wire/WireServer.cpp.o
[ 48%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/connectors/wire/WireProtocol.cpp.o
[ 50%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/connectors/wire/WireProtocolCommands.cpp.o
[ 51%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/drivers/GTestDriver.cpp.o
[ 52%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/drivers/BoostDriver.cpp.o
[ 53%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/__/include/cucumber-cpp/internal/drivers/moc_QtTestDriver.cpp.o
[ 54%] Building CXX object src/CMakeFiles/cucumber-cpp-internal.dir/drivers/QtTestDriver.cpp.o
[ 55%] Linking CXX static library libcucumber-cpp-internal.a
[ 56%] Built target cucumber-cpp-internal
Scanning dependencies of target cucumber-cpp
[ 57%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/drivers/GenericDriver.cpp.o
[ 58%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/ContextManager.cpp.o
[ 59%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/CukeCommands.cpp.o
[ 60%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/CukeEngine.cpp.o
[ 61%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/CukeEngineImpl.cpp.o
[ 62%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/StepManager.cpp.o
[ 63%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/HookRegistrar.cpp.o
[ 64%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/Regex.cpp.o
[ 65%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/Scenario.cpp.o
[ 67%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/Table.cpp.o
[ 68%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/Tag.cpp.o
[ 69%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/connectors/wire/WireServer.cpp.o
[ 70%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/connectors/wire/WireProtocol.cpp.o
[ 71%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/connectors/wire/WireProtocolCommands.cpp.o
[ 72%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/drivers/GTestDriver.cpp.o
[ 72%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/drivers/BoostDriver.cpp.o
[ 73%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/__/include/cucumber-cpp/internal/drivers/moc_QtTestDriver.cpp.o
[ 74%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/drivers/QtTestDriver.cpp.o
[ 75%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/main.cpp.o
[ 76%] Linking CXX static library libcucumber-cpp.a
[ 77%] Built target cucumber-cpp
Scanning dependencies of target Calc
[ 78%] Building CXX object examples/Calc/CMakeFiles/Calc.dir/src/Calculator.cpp.o
[ 79%] Linking CXX static library libCalc.a
[ 79%] Built target Calc
Scanning dependencies of target GTestCalculatorSteps
[ 80%] Building CXX object examples/Calc/CMakeFiles/GTestCalculatorSteps.dir/features/step_definitions/GTestCalculatorSteps.cpp.o
In file included from /home/sbon/Git/cucumber-cpp/examples/Calc/features/step_definitions/GTestCalculatorSteps.cpp:2:
In file included from /home/sbon/Git/cucumber-cpp/examples/Calc/features/step_definitions/CalculatorSteps.cpp:1:
In file included from /home/sbon/Git/cucumber-cpp/include/cucumber-cpp/autodetect.hpp:1:
In file included from /home/sbon/Git/cucumber-cpp/include/cucumber-cpp/internal/defs.hpp:1:
In file included from /home/sbon/Git/cucumber-cpp/include/cucumber-cpp/internal/drivers/../step/StepManager.hpp:12:
In file included from /usr/include/boost/make_shared.hpp:14:
In file included from /usr/include/boost/smart_ptr/make_shared.hpp:14:
/usr/include/boost/smart_ptr/make_shared_object.hpp:59:13: error: destructor called on non-final 'cucumber::internal::StepInvoker<CukeObject0>' that has virtual functions but non-virtual destructor [-Werror,-Wdelete-non-virtual-dtor]
            p->~T();
            ^
/usr/include/boost/smart_ptr/make_shared_object.hpp:88:9: note: in instantiation of member function 'boost::detail::sp_ms_deleter<cucumber::internal::StepInvoker<CukeObject0> >::destroy' requested here
        destroy();
        ^
/usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:166:5: note: in instantiation of member function 'boost::detail::sp_ms_deleter<cucumber::internal::StepInvoker<CukeObject0> >::~sp_ms_deleter' requested here
    sp_counted_impl_pd( P p ): ptr( p ), del()
    ^
/usr/include/boost/smart_ptr/detail/shared_count.hpp:213:23: note: in instantiation of member function 'boost::detail::sp_counted_impl_pd<cucumber::internal::StepInvoker<CukeObject0> *, boost::detail::sp_ms_deleter<cucumber::internal::StepInvoker<CukeObject0> > >::sp_counted_impl_pd' requested here
            pi_ = new sp_counted_impl_pd< P, D >( p );
                      ^
/usr/include/boost/smart_ptr/shared_ptr.hpp:388:67: note: in instantiation of function template specialization 'boost::detail::shared_count::shared_count<cucumber::internal::StepInvoker<CukeObject0> *, boost::detail::sp_ms_deleter<cucumber::internal::StepInvoker<CukeObject0> > >' requested here
    template<class Y, class D> shared_ptr( Y * p, D d ): px( p ), pn( p, d )
                                                                  ^
/usr/include/boost/smart_ptr/make_shared_object.hpp:250:28: note: in instantiation of function template specialization 'boost::shared_ptr<cucumber::internal::StepInvoker<CukeObject0> >::shared_ptr<cucumber::internal::StepInvoker<CukeObject0>, boost::detail::sp_inplace_tag<boost::detail::sp_ms_deleter<cucumber::internal::StepInvoker<CukeObject0> > > >' requested here
    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
                           ^
/home/sbon/Git/cucumber-cpp/include/cucumber-cpp/internal/drivers/../step/StepManager.hpp:211:39: note: in instantiation of function template specialization 'boost::make_shared<cucumber::internal::StepInvoker<CukeObject0>, const std::__cxx11::basic_string<char> &, std::__cxx11::basic_string<char> >' requested here
   return StepManager::addStep(boost::make_shared< StepInvoker<T> >(stepMatcher, toSourceString(file, line)));
                                      ^
/home/sbon/Git/cucumber-cpp/examples/Calc/features/step_definitions/CalculatorSteps.cpp:12:1: note: in instantiation of function template specialization 'cucumber::internal::registerStep<CukeObject0>' requested here
GIVEN("^I have entered (\\d+) into the calculator$") {
^

... 100 more lines ... see complete build_no_test_w_examples.log

/usr/include/boost/smart_ptr/detail/shared_count.hpp:213:23: note: in instantiation of member function 'boost::detail::sp_counted_impl_pd<cucumber::internal::StepInvoker<CukeObject3> *, boost::detail::sp_ms_deleter<cucumber::internal::StepInvoker<CukeObject3> > >::sp_counted_impl_pd' requested here
            pi_ = new sp_counted_impl_pd< P, D >( p

 );
                      ^
/usr/include/boost/smart_ptr/shared_ptr.hpp:388:67: note: in instantiation of function template specialization 'boost::detail::shared_count::shared_count<cucumber::internal::StepInvoker<CukeObject3> *, boost::detail::sp_ms_deleter<cucumber::internal::StepInvoker<CukeObject3> > >' requested here
    template<class Y, class D> shared_ptr( Y * p, D d ): px( p ), pn( p, d )
                                                                  ^
/usr/include/boost/smart_ptr/make_shared_object.hpp:250:28: note: in instantiation of function template specialization 'boost::shared_ptr<cucumber::internal::StepInvoker<CukeObject3> >::shared_ptr<cucumber::internal::StepInvoker<CukeObject3>, boost::detail::sp_inplace_tag<boost::detail::sp_ms_deleter<cucumber::internal::StepInvoker<CukeObject3> > > >' requested here
    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
                           ^
/home/sbon/Git/cucumber-cpp/include/cucumber-cpp/internal/drivers/../step/StepManager.hpp:211:39: note: in instantiation of function template specialization 'boost::make_shared<cucumber::internal::StepInvoker<CukeObject3>, const std::__cxx11::basic_string<char> &, std::__cxx11::basic_string<char> >' requested here
   return StepManager::addStep(boost::make_shared< StepInvoker<T> >(stepMatcher, toSourceString(file, line)));
                                      ^
/home/sbon/Git/cucumber-cpp/examples/Calc/features/step_definitions/CalculatorSteps.cpp:31:1: note: in instantiation of function template specialization 'cucumber::internal::registerStep<CukeObject3>' requested here
THEN("^the result should be (.*) on the screen$") {
^
/home/sbon/Git/cucumber-cpp/include/cucumber-cpp/internal/step/StepMacros.hpp:40:14: note: expanded from macro 'THEN'
#define THEN CUKE_STEP_
             ^
/home/sbon/Git/cucumber-cpp/include/cucumber-cpp/internal/step/StepMacros.hpp:14:5: note: expanded from macro 'CUKE_STEP_'
    CUKE_STEP_WITH_NAME_(CUKE_GEN_OBJECT_NAME_,                    \
    ^
/home/sbon/Git/cucumber-cpp/include/cucumber-cpp/internal/step/StepMacros.hpp:23:5: note: expanded from macro 'CUKE_STEP_WITH_NAME_'
    CUKE_STEP_REGISTRATION_(step_name, step_matcher),       \
    ^
/home/sbon/Git/cucumber-cpp/include/cucumber-cpp/internal/step/StepMacros.hpp:29:23: note: expanded from macro 'CUKE_STEP_REGISTRATION_'
::cucumber::internal::registerStep< step_name >(         \
                      ^
/usr/include/boost/smart_ptr/make_shared_object.hpp:59:17: note: qualify call to silence this warning
            p->~T();
                ^
4 errors generated.
make[2]: *** [examples/Calc/CMakeFiles/GTestCalculatorSteps.dir/build.make:63: examples/Calc/CMakeFiles/GTestCalculatorSteps.dir/features/step_definitions/GTestCalculatorSteps.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:511: examples/Calc/CMakeFiles/GTestCalculatorSteps.dir/all] Error 2
make: *** [Makefile:130: all] Error 2