diff --git a/CMakeLists.txt b/CMakeLists.txt index 55a4ce598f..28ed1bd5dc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,6 +30,7 @@ option(USE_SYSTEM_FFMPEG "Prefer system ffmpeg instead of the prebuild one" OFF) option(USE_SYSTEM_OPENAL "Prefer system OpenAL instead of the prebuild one" ON) option(USE_SYSTEM_CURL "Prefer system Curl instead of the prebuild one" ON) option(USE_SYSTEM_OPENCV "Prefer system OpenCV instead of the builtin one" ON) +option(USE_LTO "Use LTO for building" ON) set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/buildfiles/cmake") diff --git a/rpcs3/CMakeLists.txt b/rpcs3/CMakeLists.txt index bff3ce2529..2b76f3c5e7 100644 --- a/rpcs3/CMakeLists.txt +++ b/rpcs3/CMakeLists.txt @@ -114,8 +114,6 @@ target_link_libraries(rpcs3 3rdparty::fusion ${ADDITIONAL_LIBS}) -set_target_properties(rpcs3_emu PROPERTIES INTERPROCEDURAL_OPTIMIZATION TRUE) - # Unix display manager if(X11_FOUND) target_link_libraries(rpcs3 PRIVATE X11::X11) diff --git a/rpcs3/Emu/CMakeLists.txt b/rpcs3/Emu/CMakeLists.txt index 73823c43ab..0b78942ac9 100644 --- a/rpcs3/Emu/CMakeLists.txt +++ b/rpcs3/Emu/CMakeLists.txt @@ -20,6 +20,10 @@ add_library(rpcs3_emu STATIC IPC_socket.cpp ) +if(USE_LTO) + set_target_properties(rpcs3_emu PROPERTIES INTERPROCEDURAL_OPTIMIZATION ON) +endif() + if(USE_ASAN) set_source_files_properties(../../Utilities/Thread.cpp PROPERTIES COMPILE_DEFINITIONS USE_ASAN) endif()