From b2b9e890528f27daeb577983e1ed4fe2ecf8f852 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sl=C3=A1vek=20Banko?= Date: Tue, 22 Dec 2020 20:23:50 +0100 Subject: [PATCH] Set compiler flags useful for reproducible building. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Slávek Banko --- modules/TDEMacros.cmake | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/modules/TDEMacros.cmake b/modules/TDEMacros.cmake index 66c4f73..1e334b9 100644 --- a/modules/TDEMacros.cmake +++ b/modules/TDEMacros.cmake @@ -2503,6 +2503,22 @@ macro( tde_setup_architecture_flags ) set( TDE_PIE_CFLAGS -fPIE ) set( TDE_PIE_LDFLAGS -pie ) endif( HAVE_PIE_SUPPORT ) + + set( _reproducible_cxxflags + "-fdebug-prefix-map=${CMAKE_SOURCE_DIR}=." + "-fmacro-prefix-map=${CMAKE_SOURCE_DIR}=." + ) + foreach( _flag ${_reproducible_cxxflags} ) + string( REGEX REPLACE "=.*" "" _flag_name "${_flag}" ) + string( REGEX REPLACE "[^a-zA-Z0-9]+" "_" _flag_var "CXXFLAG_${_flag_name}" ) + if( NOT "${CMAKE_CXX_FLAGS}" MATCHES "(^| )${_flag_name}" ) + check_cxx_compiler_flag( "${_flag}" ${_flag_var} ) + if( ${_flag_var} ) + set( CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS} ${_flag}" ) + set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${_flag}" ) + endif() + endif() + endforeach() endif( ) endmacro( )