diff --git a/CMakeLists.txt b/CMakeLists.txt
index f8a9e97a0e44d9557ea1dfabd12341c0f6375a34..c40eef46969e334f62cff15c5dd26f8111bcc4f9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -41,6 +41,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)
 
 # Add the lua dependency
 add_subdirectory(
@@ -73,6 +74,7 @@ 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 lua)
+target_link_libraries(Vivy PRIVATE OpenMP::OpenMP_CXX)
 
 # Headers related things
 include("${CMAKE_CURRENT_SOURCE_DIR}/PreCompiledHeaders.cmake")
@@ -118,8 +120,6 @@ target_compile_options(Vivy PRIVATE
     -Wno-unused-parameter
 )
 
-target_link_libraries(Vivy PRIVATE -fopenmp)
-
 # Prepare for Qt6
 target_compile_definitions(Vivy PRIVATE
     QT_DISABLE_DEPRECATED_BEFORE=0x050F00
@@ -146,12 +146,8 @@ if (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")
         -Wno-global-constructors
         -Wno-exit-time-destructors
     )
-    target_link_libraries(Vivy PRIVATE
-        -fopenmp
-    )
 elseif (${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
     target_compile_options(Vivy PRIVATE
-        -fopenmp
         -Wno-subobject-linkage  # Kubat: Some proglems here, it seems they
                                 # occure because of the usage of "using" for
                                 # type aliasing... As I won't get ride of the
diff --git a/src/Lib/JsonBuilder.hh b/src/Lib/JsonBuilder.hh
index 6afa29365c3bb9ac6b5e33d33bd371ecb1078d90..103187e0f32cdc14883af0093bbe1ded7f51afeb 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: