Add -fPIE to the Qt5Core_COMPILE_FLAGS with reduce-relocations.
authorStephen Kelly <stephen.kelly@kdab.com>
Tue, 7 Feb 2012 18:07:49 +0000 (19:07 +0100)
committerQt by Nokia <qt-info@nokia.com>
Fri, 10 Feb 2012 18:21:24 +0000 (19:21 +0100)
Qt requires this since 482d96a0c5d523ace63f56bda6851926b4469dd0

Change-Id: Iba783e283b17654abf46f11b81cc1641c3ce7d83
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
mkspecs/features/create_cmake.prf
src/corelib/Qt5CoreConfigExtras.cmake.in
tests/manual/cmake/pass1/CMakeLists.txt

index e52e65c..fe1fe4c 100644 (file)
@@ -31,6 +31,8 @@ CMAKE_RELATIVE_INSTALL_DIR = "../../../"
 
 static|staticlib:CMAKE_STATIC_TYPE = true
 
+contains(QT_CONFIG, reduce_relocations):CMAKE_ADD_FPIE_FLAGS = "true"
+
 macx {
     CONFIG(qt_framework, qt_framework|qt_no_framework) {
         CMAKE_LIB_FILE_LOCATION_DEBUG = Qt$${CMAKE_MODULE_NAME}$${QT_LIBINFIX}.framework/Qt$${CMAKE_MODULE_NAME}$${QT_LIBINFIX}
index 23a026e..057c8ff 100644 (file)
@@ -7,3 +7,7 @@ set(QT_MOC_EXECUTABLE \"${_qt5_corelib_install_prefix}/$$CMAKE_BIN_DIR/moc$$CMAK
 set(QT_RCC_EXECUTABLE \"${_qt5_corelib_install_prefix}/$$CMAKE_BIN_DIR/rcc$$CMAKE_BIN_SUFFIX\")
 
 list(APPEND Qt5Core_INCLUDE_DIRS \"${_qt5_corelib_install_prefix}/mkspecs/default\")
+
+if (NOT \"$${CMAKE_ADD_FPIE_FLAGS}\" STREQUAL \"\")
+    set(Qt5Core_COMPILE_FLAGS "-fPIE")
+endif()
index f11887e..b1922c0 100644 (file)
@@ -18,6 +18,7 @@ macro(qt5_use_package _target _package)
         # set_property(TARGET ${_target} APPEND PROPERTY INCLUDE_DIRECTORIES ${Qt5${_package}_INCLUDE_DIRS})
         include_directories(${Qt5${_package}_INCLUDE_DIRS})
         set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS ${Qt5${_package}_COMPILE_DEFINITIONS})
+        set_property(TARGET ${_target} APPEND PROPERTY COMPILE_FLAGS ${Qt5${_package}_COMPILE_FLAGS})
     else()
         message(FATAL_ERROR "NOT FOUND: Qt5${_package}")
     endif()