cmake: Only make the target reproducible
This commit is contained in:
parent
1d520f9165
commit
cdd822269a
|
|
@ -213,38 +213,34 @@ set(AVR_SOURCES
|
||||||
list(TRANSFORM AVR_SOURCES PREPEND ${PRUSA_BOARDS_DIR}/cores/prusa_einsy_rambo/)
|
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
|
# Target configuration
|
||||||
#
|
#
|
||||||
if(CMAKE_CROSSCOMPILING)
|
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
|
# default optimization flags
|
||||||
set(CMAKE_CXX_FLAGS_DEBUG "-Og -g")
|
set(CMAKE_CXX_FLAGS_DEBUG "-Og -g")
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE "-Os -g -DNDEBUG")
|
set(CMAKE_CXX_FLAGS_RELEASE "-Os -g -DNDEBUG")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue