From 2ce0ae6de1bcf1d2f65aa2e634e9e0eb8c7e804a Mon Sep 17 00:00:00 2001 From: kervala Date: Mon, 21 Dec 2015 14:20:36 +0100 Subject: [PATCH] Fixed: Compilation with Qt 5 static under Linux --- code/CMakeLists.txt | 12 ++++++++---- code/CMakeModules/PCHSupport.cmake | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt index bd1527844..b16b2febc 100644 --- a/code/CMakeLists.txt +++ b/code/CMakeLists.txt @@ -270,7 +270,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} @@ -279,6 +279,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) @@ -289,7 +293,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") @@ -299,7 +303,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") @@ -309,7 +313,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()