Use the POSITION_INDEPENDENT_CODE property on targets using Qt.
This property is only set if Qt is configured with -reduce-relocations (which is the default). Change-Id: If2f0ab92448f03bbc3f7c828d3bca60107229072 Reviewed-by: Brad King <brad.king@kitware.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
This commit is contained in:
parent
79b14f42ba
commit
f9817dda55
@ -18,6 +18,10 @@ list(APPEND Qt5Core_INCLUDE_DIRS \"$${CMAKE_DATA_DIR}mkspecs/default\")
|
||||
!!ENDIF
|
||||
|
||||
!!IF !isEmpty(CMAKE_ADD_FPIE_FLAGS)
|
||||
# Targets using Qt need to use the POSITION_INDEPENDENT_CODE property. The
|
||||
# Qt5_POSITION_INDEPENDENT_CODE variable is used in the # qt5_use_module
|
||||
# macro to add it.
|
||||
set(Qt5_POSITION_INDEPENDENT_CODE True)
|
||||
set(Qt5Core_EXECUTABLE_COMPILE_FLAGS \"-fPIE\")
|
||||
!!ENDIF
|
||||
|
||||
|
@ -223,6 +223,9 @@ if (NOT CMAKE_VERSION VERSION_LESS 2.8.8)
|
||||
set_property(TARGET ${_target} APPEND PROPERTY INCLUDE_DIRECTORIES ${Qt5${_module}_INCLUDE_DIRS})
|
||||
set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS ${Qt5${_module}_COMPILE_DEFINITIONS})
|
||||
|
||||
if (Qt5_POSITION_INDEPENDENT_CODE)
|
||||
set_property(TARGET ${_target} PROPERTY POSITION_INDEPENDENT_CODE ${Qt5_POSITION_INDEPENDENT_CODE})
|
||||
if (CMAKE_VERSION VERSION_LESS 2.8.9)
|
||||
# We can't just append to the COMPILE_FLAGS property. That creats a ';' separated list
|
||||
# which breaks the compile commmand line.
|
||||
# Ensure non-duplication here manually instead.
|
||||
@ -234,6 +237,8 @@ if (NOT CMAKE_VERSION VERSION_LESS 2.8.8)
|
||||
set_target_properties(${_target} PROPERTIES COMPILE_FLAGS "${_flags} ${Qt5${_module}_EXECUTABLE_COMPILE_FLAGS}")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endforeach()
|
||||
endfunction()
|
||||
endif()
|
||||
|
Loading…
x
Reference in New Issue
Block a user