The Qt Resource Compiler (rcc) has a command-line option --format-version which has the default value 2.
The only difference from --format-version 1 is adding a last modified timestamp to the output file (credits to fanquake). That, in turn, forces us to use QT_RCC_SOURCE_DATE_OVERRIDE=1 to get deterministic builds (#13732).
This change makes rcc output always deterministic by using --format-version 1 option that makes usage of the
QT_RCC_SOURCE_DATE_OVERRIDE needless.
Also it improves interaction with ccache:
On master (f6c44e999b7d1d9a0de5d678ac8f1679aa271f65):
$ make && make clean && ccache --zero-stats && make && ccache --show-stats
...
cache directory /home/hebasto/.ccache
primary config /home/hebasto/.ccache/ccache.conf
secondary config (readonly) /etc/ccache.conf
stats updated Sun Apr 11 15:45:43 2021
stats zeroed Sun Apr 11 15:45:05 2021
cache hit (direct) 638
cache hit (preprocessed) 0
cache miss 1
cache hit rate 99.84 %
called for link 10
cleanups performed 0
files in cache 20023
cache size 13.2 GB
max cache size 15.0 GB
The missed file is always qt/libbitcoinqt_a-qrc_bitcoin_locale.o.
With this PR:
$ make && make clean && ccache --zero-stats && make && ccache --show-stats
...
cache directory /home/hebasto/.ccache
primary config /home/hebasto/.ccache/ccache.conf
secondary config (readonly) /etc/ccache.conf
stats updated Sun Apr 11 15:28:46 2021
stats zeroed Sun Apr 11 15:28:21 2021
cache hit (direct) 639
cache hit (preprocessed) 0
cache miss 0
cache hit rate 100.00 %
called for link 10
cleanups performed 0
files in cache 20012
cache size 13.2 GB
max cache size 15.0 GB