Issue Details

Number
31491
Title
cmake inconsistently overriding `-O3` (sometimes)
Description
Using master @ d73f37dda221835b5109ede1b84db2dc7c4b74a1. The following seems incorrect, because ```bash make -C depends/ NO_QT=1 NO_WALLET=1 NO_ZMQ=1 -j18 CFLAGS="-O3" CXXFLAGS="-O3" cmake -B build --toolchain /root/ci_scratch/depends/aarch64-unknown-linux-gnu/toolchain.cmake <snip> C++ compiler flags .................... -O3 -O2 -g Linker flags .......................... -O3 -O2 -g ``` is overriding the user-provided `-O3`. If you configure by providing an explicit `-DCMAKE_BUILD_TYPE=RelWithDebInfo`, you get: ```bash cmake -B build --toolchain /root/ci_scratch/depends/aarch64-unknown-linux-gnu/toolchain.cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo C++ compiler flags .................... -O3 Linker flags .......................... -O3 ``` No `-O2` at all, so the user provided `-O3` is used (also missing `-g` for debug info?). If you configure with `-DCMAKE_BUILD_TYPE=Release`: ```bash cmake -B build --toolchain /root/ci_scratch/depends/aarch64-unknown-linux-gnu/toolchain.cmake -DCMAKE_BUILD_TYPE=Release C++ compiler flags .................... -O3 -O2 Linker flags .......................... -O3 -O2 ``` Now we are back to (inconsistently) overriding the user.
URL
https://github.com/bitcoin/bitcoin/issue/31491
Closed by
Back to List