From b2b9e890528f27daeb577983e1ed4fe2ecf8f852 Mon Sep 17 00:00:00 2001
From: Slávek Banko <slavek.banko@axis.cz>
Date: Tue, 22 Dec 2020 20:23:50 +0100
Subject: 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 <slavek.banko@axis.cz>
---
 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( )
 
-- 
cgit v1.2.3

