diff --git a/build_scripts/qt/compilers/clang-gcc-common-switches.pri b/build_scripts/qt/compilers/clang-gcc-common-switches.pri index fca9988..c7c2a83 100644 --- a/build_scripts/qt/compilers/clang-gcc-common-switches.pri +++ b/build_scripts/qt/compilers/clang-gcc-common-switches.pri @@ -9,3 +9,8 @@ QMAKE_CXXFLAGS += -Wnon-virtual-dtor QMAKE_CXXFLAGS += -Wcast-align -Wunused -Woverloaded-virtual -Wformat=2 QMAKE_CXXFLAGS += -Wdouble-promotion + +# Enable Link Time Optimization +QMAKE_CXXFLAGS += -flto +# Clang LTO requires the gold linker instead of ld +QMAKE_LFLAGS += -flto -fuse-ld=gold diff --git a/build_scripts/qt/compilers/gcc.pri b/build_scripts/qt/compilers/gcc.pri index 2c49bd5..f3e2f7a 100644 --- a/build_scripts/qt/compilers/gcc.pri +++ b/build_scripts/qt/compilers/gcc.pri @@ -31,3 +31,6 @@ QMAKE_CXXFLAGS += -Wduplicated-branches -Wduplicated-cond -Wlogical-op -Wrestric QMAKE_CXXFLAGS += -Wconversion -Wno-sign-conversion QMAKE_CXXFLAGS += -Wzero-as-null-pointer-constant + +# Qmake will append this even though higher optimization levels are used. +QMAKE_LFLAGS_RELEASE -= -Wl,-O1