From 6c252d8cdc7451ec82b0bfbfd11e299ffede5db8 Mon Sep 17 00:00:00 2001 From: Alexander Alekhin Date: Fri, 22 Dec 2017 13:46:45 +0300 Subject: [PATCH] cmake: fix -fPIC/-fPIE handling in precompiled headers (PCH) --- cmake/OpenCVPCHSupport.cmake | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/cmake/OpenCVPCHSupport.cmake b/cmake/OpenCVPCHSupport.cmake index 12e804d..0e41130 100644 --- a/cmake/OpenCVPCHSupport.cmake +++ b/cmake/OpenCVPCHSupport.cmake @@ -261,6 +261,24 @@ MACRO(ADD_PRECOMPILED_HEADER _targetName _input) endif() endif() + if(type STREQUAL "SHARED_LIBRARY" OR type STREQUAL "STATIC_LIBRARY") + get_target_property(__pic ${_targetName} POSITION_INDEPENDENT_CODE) + if(__pic AND CMAKE_CXX_COMPILE_OPTIONS_PIC + AND NOT OPENCV_SKIP_PCH_PIC_HANDLING + AND NOT OPENCV_SKIP_PCH_PIC_HANDLING_${_targetName} + ) + list(APPEND _compile_FLAGS "${CMAKE_CXX_COMPILE_OPTIONS_PIC}") + endif() + elseif(type STREQUAL "EXECUTABLE") + get_target_property(__pie ${_targetName} POSITION_INDEPENDENT_CODE) + if(__pie AND CMAKE_CXX_COMPILE_OPTIONS_PIE + AND NOT OPENCV_SKIP_PCH_PIE_HANDLING + AND NOT OPENCV_SKIP_PCH_PIE_HANDLING_${_targetName} + ) + list(APPEND _compile_FLAGS "${CMAKE_CXX_COMPILE_OPTIONS_PIE}") + endif() + endif() + get_target_property(DIRINC ${_targetName} INCLUDE_DIRECTORIES) set_target_properties(${_targetName}_pch_dephelp PROPERTIES INCLUDE_DIRECTORIES "${DIRINC}") -- 2.7.4