From c671b5109a5806206b610f26b73cdba967f8930c Mon Sep 17 00:00:00 2001 From: Elliu <elliu@hashi.re> Date: Sat, 2 Sep 2023 12:53:06 +0200 Subject: [PATCH] BUILD: fix compilation on clang (openmp) Search for openmp in find_package, to prevent fail at linkage if llvm openmp is missing from system Add explicit template specialization for QPair --- CMakeLists.txt | 2 ++ src/Lib/JsonBuilder.hh | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 017fdb35..ea0c5bac 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -43,6 +43,7 @@ find_library(AVUTIL_LIBRARY avutil 4.0 REQUIRED) find_library(SWRESAMPLE_LIBRARY swresample REQUIRED) find_library(AVFORMAT_LIBRARY avformat REQUIRED) find_library(MPV_LIBRARY mpv REQUIRED) +find_package( OpenMP REQUIRED) # Grab all files file(GLOB_RECURSE Vivy_SRC CONFIGURE_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/src/*.cc") @@ -70,6 +71,7 @@ target_link_libraries(Vivy PRIVATE ${AVUTIL_LIBRARY}) target_link_libraries(Vivy PRIVATE ${SWRESAMPLE_LIBRARY}) target_link_libraries(Vivy PRIVATE ${AVFORMAT_LIBRARY}) target_link_libraries(Vivy PRIVATE ${MPV_LIBRARY}) +target_link_libraries(Vivy PRIVATE OpenMP::OpenMP_CXX) # Headers related things include("${CMAKE_CURRENT_SOURCE_DIR}/PreCompiledHeaders.cmake") diff --git a/src/Lib/JsonBuilder.hh b/src/Lib/JsonBuilder.hh index 6afa2936..103187e0 100644 --- a/src/Lib/JsonBuilder.hh +++ b/src/Lib/JsonBuilder.hh @@ -21,9 +21,9 @@ struct JsonBuilder final { getSubDocumentJson(const QString &name, std::shared_ptr<T> subDocPtr) noexcept { if (subDocPtr == nullptr) - return QPair{ name, QJsonValue() }; + return QPair<QString, QJsonValue>{ name, QJsonValue() }; else - return QPair{ name, subDocPtr->getProperties().object() }; + return QPair<QString, QJsonValue>{ name, subDocPtr->getProperties().object() }; } private: -- GitLab