CMake: Fix position independent code linker flags not being set
We set CMAKE_POSITION_INDEPENDENT_CODE to ON and require CMake 3.16. This sets CMP0083 to NEW and should pass -fPIE to linker calls as well. However, the PIE-enabling flag is not passed to the linker unless we call check_pie_supported(). This behavior is documented in CMake's CMP0083 documentation page. [ChangeLog][CMake] Qt tools are now built with position independent code even with Unix toolchains where this is not the default, for example clang. Pick-to: 6.5 6.4 6.2 Change-Id: I1d98e0ea7063a76e3fddc94d6555c6eaf14c7885 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
This commit is contained in:
parent
78f7a8c418
commit
4183768d9b
@ -119,6 +119,10 @@ endif()
|
|||||||
## Position independent code:
|
## Position independent code:
|
||||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||||
|
|
||||||
|
# Does the linker support position independent code?
|
||||||
|
include(CheckPIESupported)
|
||||||
|
check_pie_supported()
|
||||||
|
|
||||||
# Do not relink dependent libraries when no header has changed:
|
# Do not relink dependent libraries when no header has changed:
|
||||||
set(CMAKE_LINK_DEPENDS_NO_SHARED ON)
|
set(CMAKE_LINK_DEPENDS_NO_SHARED ON)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user