Workarounds for old cmake/gcc

This commit is contained in:
Jason Rhinelander 2020-03-05 01:33:02 -04:00
parent fa7d4a8a42
commit 0ce614ef8b
3 changed files with 10 additions and 6 deletions

View File

@ -1,6 +1,8 @@
# cppzmq expects these targets:
add_library(libzmq ALIAS libzmq_vendor)
add_library(libzmq-static ALIAS libzmq_vendor)
add_library(libzmq INTERFACE IMPORTED GLOBAL)
add_library(libzmq-static INTERFACE IMPORTED GLOBAL)
target_link_libraries(libzmq INTERFACE libzmq_vendor)
target_link_libraries(libzmq-static INTERFACE libzmq_vendor)
set(ZeroMQ_FOUND ON)

View File

@ -232,7 +232,7 @@ struct is_bt_insertable<T,
template <typename T, typename = void> struct is_bt_output_dict_container : std::false_type {};
template <typename T>
struct is_bt_output_dict_container<T, std::enable_if_t<
std::is_same<std::string, std::remove_cv_t<typename T::value_type::first_type>>::value &&
std::is_same<std::string, std::remove_cv_t<typename T::key_type>>::value &&
is_bt_insertable<T>::value,
void_t<typename T::value_type::second_type /* has a second type */>>>
: std::true_type {};

View File

@ -17,11 +17,13 @@ constexpr char ZMQ_ADDR_ZAP[] = "inproc://zeromq.zap.01";
// Inside some method:
// LMQ_LOG(warn, "bad ", 42, " stuff");
#define LMQ_LOG(level, ...) log_(LogLevel::level, __FILE__, __LINE__, __VA_ARGS__)
//
// (The "this->" is here to work around gcc 5 bugginess when called in a `this`-capturing lambda.)
#define LMQ_LOG(level, ...) this->log_(LogLevel::level, __FILE__, __LINE__, __VA_ARGS__)
#ifndef NDEBUG
// Same as LMQ_LOG(trace, ...) when not doing a release build; nothing under a release build.
# define LMQ_TRACE(...) log_(LogLevel::trace, __FILE__, __LINE__, __VA_ARGS__)
# define LMQ_TRACE(...) this->log_(LogLevel::trace, __FILE__, __LINE__, __VA_ARGS__)
#else
# define LMQ_TRACE(...)
#endif
@ -855,7 +857,7 @@ void LokiMQ::proxy_timer(std::function<void()> job, std::chrono::milliseconds in
this);
if (timer_id == -1)
throw zmq::error_t{};
timer_jobs[timer_id] = {std::move(job), squelch, false};
timer_jobs[timer_id] = std::make_tuple(std::move(job), squelch, false);
}
void LokiMQ::proxy_timer(bt_list_consumer timer_data) {