From 66ff389a864726f57a986928f23a6f53c1c837da Mon Sep 17 00:00:00 2001
From: Kubat <mael.martin31@gmail.com>
Date: Wed, 16 Feb 2022 22:12:58 +0100
Subject: [PATCH] FIX: Rely entirely on CMake to find OpenMP support

---
 CMakeLists.txt | 33 ++++++++++++++++++++-------------
 1 file changed, 20 insertions(+), 13 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index f56e496f..a08ca4cb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -20,6 +20,20 @@ include(TestBigEndian)  # Needed for endianness tests
 include(FindOpenMP)     # Test OpenMP support
 include(GNUInstallDirs) # Needed for installation things
 
+###         ###
+# TEST OPENMP #
+###         ###
+
+if(OpenMP_FOUND)
+    message(STATUS "OpenMP found by CMake for C (version ${OpenMP_C_VERSION}) and C++ (version ${OpenMP_CXX_VERSION})")
+else()
+    message(FATAL_ERROR "OpenMP not found by CMake for C and C++")
+endif()
+
+###                  ###
+# SET COMMON VARIABLES #
+###                  ###
+
 set(${CMAKE_C_COMPILER_ID}_C_FLAGS)
 set(COMMON_C_FLAGS
     -Wall -Wextra -Werror
@@ -33,7 +47,7 @@ set(COMMON_C_FLAGS
     -Wdouble-promotion
     -Wformat=2
     -Wignored-qualifiers
-    -fopenmp
+    ${OpenMP_C_FLAGS}
 )
 set(Clang_C_FLAGS
     -Weverything
@@ -229,16 +243,6 @@ set(SQL_SOURCE_FILES
     ${CMAKE_CURRENT_SOURCE_DIR}/src/database/memory.sql
 )
 
-###         ###
-# TEST OPENMP #
-###         ###
-
-if(OpenMP_FOUND)
-    message(STATUS "OpenMP found by CMake for C and C++")
-else()
-    message(FATAL_ERROR "OpenMP not found by CMake for C and C++")
-endif()
-
 ###                        ###
 # THE COMPILATION DIRECTIVES #
 ###                        ###
@@ -290,6 +294,7 @@ if(GENERATE_MANPAGES)
 endif()
 
 target_link_libraries(lektord PRIVATE
+    ${OpenMP_C_LIBRARIES}
     ${MPV_LIBRARY}
     ${CMAKE_DL_LIBS}
     ${SQLITE3_LIBRARY}
@@ -299,6 +304,7 @@ target_link_libraries(lektord PRIVATE
     Qt${QT_VERSION_MAJOR}::Widgets
 )
 target_link_libraries(luka PRIVATE
+    ${OpenMP_C_LIBRARIES}
     ${MPV_LIBRARY}
     ${CMAKE_DL_LIBS}
     ${SQLITE3_LIBRARY}
@@ -307,6 +313,9 @@ target_link_libraries(luka PRIVATE
     ${SDL2_IMAGE_LIBRARIES}
     Qt${QT_VERSION_MAJOR}::Widgets
 )
+target_link_libraries(lkt PRIVATE
+    ${OpenMP_C_LIBRARIES}
+)
 
 target_include_directories(lkt  PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/inc)
 target_include_directories(luka PRIVATE
@@ -323,8 +332,6 @@ target_include_directories(lektord PRIVATE
 )
 
 target_link_libraries(lektord PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)
-target_link_libraries(lektord PRIVATE -fopenmp)
-target_link_libraries(luka    PRIVATE -fopenmp)
 
 target_compile_definitions(lektord PRIVATE ${common_DEFINITIONS})
 target_compile_definitions(lkt     PRIVATE ${common_DEFINITIONS})
-- 
GitLab