From cdd822269a6e9e88d4a6608e7bebb402887e1125 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Sat, 1 Oct 2022 22:33:28 +0200 Subject: [PATCH] cmake: Only make the target reproducible --- CMakeLists.txt | 52 +++++++++++++++++++++++--------------------------- 1 file changed, 24 insertions(+), 28 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e2da77bc8..3d2ff87db 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -213,38 +213,34 @@ set(AVR_SOURCES list(TRANSFORM AVR_SOURCES PREPEND ${PRUSA_BOARDS_DIR}/cores/prusa_einsy_rambo/) -# -# Reproducible build support -# - -function(set_reproducible_sources source_list prefix) - foreach(file IN LISTS ${source_list}) - get_filename_component(base ${file} NAME) - set(target "${prefix}${base}") - set_property(SOURCE ${file} APPEND PROPERTY COMPILE_OPTIONS "-frandom-seed=${target}.o") - endforeach() -endfunction() - -function(set_reproducible_target target) - set_target_properties(${target} PROPERTIES STATIC_LIBRARY_OPTIONS "-D") -endfunction() - -set_reproducible_sources(AVR_SOURCES "core/") - -add_link_options(-fdebug-prefix-map=${CMAKE_SOURCE_DIR}=) -add_link_options(-fdebug-prefix-map=${CMAKE_BINARY_DIR}=) -if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "8") - add_compile_options(-ffile-prefix-map=${CMAKE_SOURCE_DIR}=) -endif() - -# TODO: get date from the last git commit to set as epoch -set(ENV{SOURCE_DATE_EPOCH} 0) - - # # Target configuration # if(CMAKE_CROSSCOMPILING) + # Reproducible build support + function(set_reproducible_sources source_list prefix) + foreach(file IN LISTS ${source_list}) + get_filename_component(base ${file} NAME) + set(target "${prefix}${base}") + set_property(SOURCE ${file} APPEND PROPERTY COMPILE_OPTIONS "-frandom-seed=${target}.o") + endforeach() + endfunction() + + function(set_reproducible_target target) + set_target_properties(${target} PROPERTIES STATIC_LIBRARY_OPTIONS "-D") + endfunction() + + set_reproducible_sources(AVR_SOURCES "core/") + + add_link_options(-fdebug-prefix-map=${CMAKE_SOURCE_DIR}=) + add_link_options(-fdebug-prefix-map=${CMAKE_BINARY_DIR}=) + if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "8") + add_compile_options(-ffile-prefix-map=${CMAKE_SOURCE_DIR}=) + endif() + + # TODO: get date from the last git commit to set as epoch + set(ENV{SOURCE_DATE_EPOCH} 0) + # default optimization flags set(CMAKE_CXX_FLAGS_DEBUG "-Og -g") set(CMAKE_CXX_FLAGS_RELEASE "-Os -g -DNDEBUG")