Override CMAKE_AR/CMAKE_RANLIB, fixes flatpak builds, also use lld with clang if found (#828)
* Override CMAKE_AR/CMAKE_RANLIB, fixes flatpak builds, also use lld with clang if found * Ensure we build with -fPIC/-pie for LTO builds
This commit is contained in:
parent
1ff4a1564f
commit
14be591ab8
|
@ -74,8 +74,20 @@ if (CMAKE_BUILD_TYPE STREQUAL Release)
|
|||
endif()
|
||||
|
||||
if (ENABLE_LTO)
|
||||
add_compile_options(-flto)
|
||||
add_link_options(-flto -fuse-linker-plugin)
|
||||
add_compile_options(-flto -fPIC)
|
||||
add_link_options(-flto -fuse-linker-plugin -pie)
|
||||
endif()
|
||||
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
set(CMAKE_AR "gcc-ar")
|
||||
set(CMAKE_RANLIB "gcc-ranlib")
|
||||
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||
find_program(LLD NAMES ld.lld ld64.lld lld-link)
|
||||
if (NOT LLD STREQUAL "LLD-NOTFOUND")
|
||||
add_link_options(-fuse-ld=lld)
|
||||
endif()
|
||||
set(CMAKE_AR "llvm-ar")
|
||||
set(CMAKE_RANLIB "llvm-ranlib")
|
||||
endif()
|
||||
|
||||
option(BUILD_QT_SDL "Build Qt/SDL frontend" ON)
|
||||
|
|
Loading…
Reference in New Issue