From 0dbc208a070812de867cec27c960ed7de31e8bf7 Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Fri, 12 May 2023 13:18:35 +0200 Subject: [PATCH] CMake: Add -fPIC also for OBJECT libraries add_qtc_library would have set the POSITION_INDEPENDENT_CODE property for STATIC libraries on UNIX based systems. The OBJECT libraries need the same treatment. Change-Id: Ia333a36ea0f35d7db3ed876cdde5b895b47644c7 Reviewed-by: Eike Ziller --- cmake/QtCreatorAPI.cmake | 2 +- src/libs/3rdparty/cplusplus/CMakeLists.txt | 1 - src/libs/sqlite/CMakeLists.txt | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/cmake/QtCreatorAPI.cmake b/cmake/QtCreatorAPI.cmake index a50e9be59f1..effbb454047 100644 --- a/cmake/QtCreatorAPI.cmake +++ b/cmake/QtCreatorAPI.cmake @@ -188,7 +188,7 @@ function(add_qtc_library name) set(TEST_DEFINES WITH_TESTS SRCDIR="${CMAKE_CURRENT_SOURCE_DIR}") endif() - if(_arg_STATIC AND UNIX) + if((_arg_STATIC OR _arg_OBJECT) AND UNIX) # not added by Qt if reduce_relocations is turned off for it set_target_properties(${name} PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() diff --git a/src/libs/3rdparty/cplusplus/CMakeLists.txt b/src/libs/3rdparty/cplusplus/CMakeLists.txt index 2758ffe6eeb..d9f130b470a 100644 --- a/src/libs/3rdparty/cplusplus/CMakeLists.txt +++ b/src/libs/3rdparty/cplusplus/CMakeLists.txt @@ -41,7 +41,6 @@ add_qtc_library(3rd_cplusplus OBJECT TypeVisitor.cpp TypeVisitor.h cppassert.h SKIP_PCH - PROPERTIES POSITION_INDEPENDENT_CODE ON ) set(export_symbol_declaration DEFINES CPLUSPLUS_BUILD_LIB) diff --git a/src/libs/sqlite/CMakeLists.txt b/src/libs/sqlite/CMakeLists.txt index 7f33b189215..4c7cd774c60 100644 --- a/src/libs/sqlite/CMakeLists.txt +++ b/src/libs/sqlite/CMakeLists.txt @@ -1,5 +1,5 @@ add_qtc_library(SqliteC OBJECT - PROPERTIES AUTOMOC OFF AUTOUIC OFF QT_COMPILE_OPTIONS_DISABLE_WARNINGS ON POSITION_INDEPENDENT_CODE ON + PROPERTIES AUTOMOC OFF AUTOUIC OFF QT_COMPILE_OPTIONS_DISABLE_WARNINGS ON DEFINES SQLITE_CORE SQLITE_CUSTOM_INCLUDE=config.h $<$:SQLITE_DEBUG> PROPERTIES COMPILE_OPTIONS $,/FIconfig.h,-includeconfig.h> PUBLIC_INCLUDES