Qt4's MOC has issues parsing some C++ constructs, yielding errors like:
[...]/include/boost/type_traits/detail/has_binary_operator.hp:50:
Parse error at "BOOST_JOIN"
Full details:
https://bugreports.qt.io/browse/QTBUG-22829
Use -DBOOST_NEXT_PRIOR_HPP_INCLUDED as MOC option to workaround these
issues. This is currently sufficient, however, depending on the future
PulseView code it may be necessary to add further options mentioned in the
above bugreport (e.g. BOOST_TT_HAS_OPERATOR_HPP_INCLUDED,
BOOST_LEXICAL_CAST_INCLUDED, BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION).
This fixes bug #532 (fixing the build on at least Mac OS X and MinGW).
qt5_wrap_ui(pulseview_FORMS_HEADERS ${pulseview_FORMS})
qt5_add_resources(pulseview_RESOURCES_RCC ${pulseview_RESOURCES})
else()
- qt4_wrap_cpp(pulseview_HEADERS_MOC ${pulseview_HEADERS})
+ # Workaroud for QTBUG-22829: -DBOOST_NEXT_PRIOR_HPP_INCLUDED.
+ # https://bugreports.qt.io/browse/QTBUG-22829
+ qt4_wrap_cpp(pulseview_HEADERS_MOC ${pulseview_HEADERS}
+ OPTIONS -DBOOST_NEXT_PRIOR_HPP_INCLUDED)
qt4_wrap_ui(pulseview_FORMS_HEADERS ${pulseview_FORMS})
qt4_add_resources(pulseview_RESOURCES_RCC ${pulseview_RESOURCES})
include(${QT_USE_FILE})
if(Qt5Core_FOUND)
qt5_wrap_cpp(pulseview_TEST_HEADERS_MOC ${pulseview_TEST_HEADERS})
else()
- qt4_wrap_cpp(pulseview_TEST_HEADERS_MOC ${pulseview_TEST_HEADERS})
+ # Workaroud for QTBUG-22829: -DBOOST_NEXT_PRIOR_HPP_INCLUDED.
+ # https://bugreports.qt.io/browse/QTBUG-22829
+ qt4_wrap_cpp(pulseview_TEST_HEADERS_MOC ${pulseview_TEST_HEADERS}
+ OPTIONS -DBOOST_NEXT_PRIOR_HPP_INCLUDED)
include(${QT_USE_FILE})
endif()