summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2018-08-06 13:00:12 -0700
committerGitHub <noreply@github.com>2018-08-06 13:00:12 -0700
commiteb153a7d04b1c336414c05bf0753b9440afcc200 (patch)
tree9f1ffd399b366df3a45bf9d139c1f24413b19406
parent1a94eb47c011b13cef0f412aafa2eb9ae75e418a (diff)
downloadqtlocation-mapboxgl-eb153a7d04b1c336414c05bf0753b9440afcc200.tar.gz
[android] Enable LTO in release builds (#12546)
-rw-r--r--platform/android/config.cmake10
1 files changed, 10 insertions, 0 deletions
diff --git a/platform/android/config.cmake b/platform/android/config.cmake
index 21ec6a9e0c..001a45e613 100644
--- a/platform/android/config.cmake
+++ b/platform/android/config.cmake
@@ -21,6 +21,16 @@ endif()
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--gc-sections -Wl,--version-script=${CMAKE_SOURCE_DIR}/platform/android/version-script")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--gc-sections -Wl,--version-script=${CMAKE_SOURCE_DIR}/platform/android/version-script")
+# Use LTO in Release builds. Due to a toolchain issue, -O2 is also required for the link step (https://github.com/android-ndk/ndk/issues/721)
+set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -flto")
+set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -flto")
+set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -flto")
+set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -flto")
+set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -flto -O2")
+set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} -flto -O2")
+set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO} -flto -O2")
+set(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO} -flto -O2")
+
## mbgl core ##
macro(mbgl_platform_core)