File tree Expand file tree Collapse file tree 2 files changed +9
-4
lines changed
Expand file tree Collapse file tree 2 files changed +9
-4
lines changed Original file line number Diff line number Diff line change @@ -70,6 +70,7 @@ option(USE_LLD "Use lld (from llvm) linker" OFF)
7070option (USE_MOLD "Use mold (A Modern Linker)" OFF )
7171option (TI_WITH_BACKTRACE "Use backward-cpp to print out C++ stack trace upon failure" OFF ) # wheel-tag: bt
7272option (TI_GENERATE_PDB "Generate Program Database (PDB) files (will make compilation uncacheable)" OFF )
73+ option (TI_WITH_LTO "Enable Link Time Optimization (LTO) (affects Windows + MSVC for now)" OFF ) # wheel-tag: lto
7374
7475if (LINUX OR APPLE )
7576 if (NOT IOS)
Original file line number Diff line number Diff line change @@ -25,10 +25,14 @@ if (WIN32)
2525 set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS} -flto=thin" )
2626 set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} -flto=thin" )
2727 elseif (MSVC )
28- set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS} /GL /Gy" )
29- set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} /GL /Gy" )
30- set (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_EXE_LINKER_FLAGS} /LTCG" )
31- set (CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS} /LTCG" )
28+ set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS} /Gy" )
29+ set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} /Gy" )
30+ if (TI_WITH_LTO)
31+ set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS} /GL" )
32+ set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} /GL" )
33+ set (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_EXE_LINKER_FLAGS} /LTCG" )
34+ set (CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS} /LTCG" )
35+ endif ()
3236 endif ()
3337endif ()
3438
You can’t perform that action at this time.
0 commit comments