diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt
index 30698a341..7b8d1b670 100644
--- a/code/CMakeLists.txt
+++ b/code/CMakeLists.txt
@@ -274,7 +274,7 @@ IF(WITH_QT5)
         FIND_LIBRARY(SYSTEMCONFIGURATION_FRAMEWORK SystemConfiguration)
         FIND_LIBRARY(OPENGL_FRAMEWORK NAMES OpenGL)
 
-      SET(QT_LIBRARIES ${QT_LIBRARIES}
+        SET(QT_LIBRARIES ${QT_LIBRARIES}
           ${CUPS_LIBRARY}
           ${COCOA_FRAMEWORK}
           ${SYSTEMCONFIGURATION_FRAMEWORK}
@@ -283,6 +283,10 @@ IF(WITH_QT5)
 
         ADD_QT_PLUGIN(printsupport cocoaprintersupport)
         ADD_QT_PLUGIN(platforms qcocoa)
+      ELSE()
+        FIND_LIBRARY(OPENGL_LIBRARY GL)
+
+        SET(QT_LIBRARIES ${QT_LIBRARIES} ${OPENGL_LIBRARY})
       ENDIF()
 
       ADD_QT_PLUGIN(imageformats qgif)
@@ -293,7 +297,7 @@ IF(WITH_QT5)
       ADD_QT_PLUGIN(imageformats qwebp)
 
       # harfbuzz is needed since Qt 5.3
-      IF(APPLE)
+      IF(UNIX)
         SET(HB_LIB "${QT_LIBRARY_DIR}/libqtharfbuzzng.a")
       ELSEIF(WIN32)
         SET(HB_LIB "${QT_LIBRARY_DIR}/qtharfbuzzng.lib")
@@ -303,7 +307,7 @@ IF(WITH_QT5)
       ENDIF()
 
       # freetype is needed since Qt 5.5
-      IF(APPLE)
+      IF(UNIX)
         SET(FREETYPE_LIB "${QT_LIBRARY_DIR}/libqtfreetype.a")
       ELSEIF(WIN32)
         SET(FREETYPE_LIB "${QT_LIBRARY_DIR}/qtfreetype.lib")
@@ -313,7 +317,7 @@ IF(WITH_QT5)
       ENDIF()
 
       # pcre is needed since Qt 5.5
-      IF(APPLE)
+      IF(UNIX)
         SET(PCRE_LIB "${QT_LIBRARY_DIR}/libqtpcre.a")
       ELSEIF(WIN32)
         SET(PCRE_LIB "${QT_LIBRARY_DIR}/qtpcre.lib")
diff --git a/code/CMakeModules/PCHSupport.cmake b/code/CMakeModules/PCHSupport.cmake
index cf7735095..dafe72a5a 100644
--- a/code/CMakeModules/PCHSupport.cmake
+++ b/code/CMakeModules/PCHSupport.cmake
@@ -151,7 +151,7 @@ MACRO(PCH_SET_COMPILE_FLAGS _target)
   ENDIF()
 
   # Qt5_POSITION_INDEPENDENT_CODE should be true if Qt was compiled with PIE
-  IF(Qt5_POSITION_INDEPENDENT_CODE)
+  IF(Qt5_POSITION_INDEPENDENT_CODE AND GLOBAL_DEFINITIONS MATCHES "QT_CORE_LIB")
     SET(_USE_PIE ON)
   ENDIF()