From 2f73d7abf87d8a29961b3e27b2be26d3c57c3a15 Mon Sep 17 00:00:00 2001 From: Randy <45701928+RandyShuai@users.noreply.github.com> Date: Tue, 29 Jan 2019 14:18:23 -0800 Subject: [PATCH] compile with GL/LTCG (#391) * compile with GL/LTCG * apply the change to release build * remove GL/LTCG from release build * exclude cuda from using GL/LTCG --- cmake/CMakeLists.txt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) 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()