Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
4590aeaee8
@ -2,16 +2,33 @@ cmake_minimum_required(VERSION 3.0)
|
||||
project(autocat_gnome)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fcoroutines")
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
if(APPLE)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fcoroutines-ts")
|
||||
endif()
|
||||
|
||||
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=undefined -g -Og")
|
||||
|
||||
if(APPLE)
|
||||
set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}:/usr/local/opt/libsoup@2/lib/pkgconfig:/usr/local/opt/icu4c/lib/pkgconfig")
|
||||
set(OPENSSL_ROOT_DIR /usr/local/opt/openssl)
|
||||
set(OPENSSL_LIBRARIES /usr/local/opt/openssl/lib)
|
||||
set(FOLLY_DEP folly)
|
||||
include(FetchContent)
|
||||
FetchContent_Declare(
|
||||
folly
|
||||
GIT_REPOSITORY https://github.com/facebook/folly.git
|
||||
GIT_TAG v2022.05.16.00
|
||||
)
|
||||
FetchContent_MakeAvailable(folly)
|
||||
else()
|
||||
find_package(folly REQUIRED)
|
||||
set(FOLLY_DEP Folly::folly)
|
||||
endif()
|
||||
|
||||
find_package(PkgConfig REQUIRED)
|
||||
find_package(nlohmann_json REQUIRED)
|
||||
find_package(folly REQUIRED)
|
||||
|
||||
pkg_check_modules(GTK REQUIRED gtk4)
|
||||
pkg_check_modules(GLIB REQUIRED glib-2.0)
|
||||
@ -72,7 +89,7 @@ target_link_libraries(autocat_gnome ${GTK_LIBRARIES}
|
||||
${LIBADWAITA_LIBRARIES}
|
||||
${LIBSIGCPP_LIBRARIES}
|
||||
nlohmann_json::nlohmann_json
|
||||
Folly::folly)
|
||||
${FOLLY_DEP})
|
||||
|
||||
set(XML gui/MainWindow.xml)
|
||||
|
||||
|
||||
15
coro/Coro.h
15
coro/Coro.h
@ -5,19 +5,26 @@
|
||||
#ifndef AUTOCAT_GNOME_CORO_H
|
||||
#define AUTOCAT_GNOME_CORO_H
|
||||
|
||||
#include <coroutine>
|
||||
#include <exception>
|
||||
#include <iostream>
|
||||
|
||||
#if __cpp_lib_coroutine
|
||||
#include <coroutine>
|
||||
namespace corons = std;
|
||||
#else
|
||||
#include <experimental/coroutine>
|
||||
namespace corons = std::experimental;
|
||||
#endif
|
||||
|
||||
template<typename... Args>
|
||||
struct std::coroutine_traits<void, Args...> {
|
||||
struct corons::coroutine_traits<void, Args...> {
|
||||
struct promise_type {
|
||||
void get_return_object() noexcept {}
|
||||
|
||||
std::suspend_never initial_suspend() const noexcept {
|
||||
corons::suspend_never initial_suspend() const noexcept {
|
||||
return {};
|
||||
}
|
||||
std::suspend_never final_suspend() const noexcept {
|
||||
corons::suspend_never final_suspend() const noexcept {
|
||||
return {};
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user