diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index aabe2d717f..f153955bb2 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -118,6 +118,11 @@ if (MSVC) SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc") #Disable 4100 globally. Too many this kind errors in protobuf SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4100") + if (NOT onnxruntime_USE_CUDA) + SET (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /GL") + SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /GL") + endif() + else() if(onnxruntime_BUILD_FOR_NATIVE_MACHINE) string(APPEND CMAKE_CXX_FLAGS_RELEASE " -march=native -mtune=native") @@ -341,8 +346,12 @@ if (WIN32) # set linker flags to minimize the binary size. if (MSVC) foreach(type EXE SHARED) - set(CMAKE_${type}_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_${type}_LINKER_FLAGS_RELWITHDEBINFO} /OPT:REF") + set(CMAKE_${type}_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_${type}_LINKER_FLAGS_RELWITHDEBINFO} /OPT:REF,ICF,LBR") set(CMAKE_${type}_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_${type}_LINKER_FLAGS_RELWITHDEBINFO} /INCREMENTAL:NO") + if (NOT onnxruntime_USE_CUDA) + set(CMAKE_${type}_LINKER_FLAGS_RELEASE "${CMAKE_${type}_LINKER_FLAGS_RELEASE} /LTCG") + set(CMAKE_${type}_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_${type}_LINKER_FLAGS_RELWITHDEBINFO} /LTCG") + endif() endforeach() endif() else()