From 1307026a9412a1fae2501a8360dcdb152a993e45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Moreau?= Date: Fri, 26 Jul 2013 15:21:19 -0400 Subject: [PATCH] freerdp: fix build warnings with MSVC --- CMakeLists.txt | 8 ++++---- cmake/MSVCRuntime.cmake | 26 ++++++++++++++++++++++++-- 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 44f369db9..7c8ada95e 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -160,10 +160,10 @@ endif() if(MSVC) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Gd") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /MD") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /O2") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Ob2") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W2") + #set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /MD") + #set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /O2") + #set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Ob2") + #set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W2") if(CMAKE_SIZEOF_VOID_P EQUAL 8) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_AMD64_") else() diff --git a/cmake/MSVCRuntime.cmake b/cmake/MSVCRuntime.cmake index c71a750a5..1c59932c3 100644 --- a/cmake/MSVCRuntime.cmake +++ b/cmake/MSVCRuntime.cmake @@ -5,17 +5,20 @@ macro(configure_msvc_runtime) if("${MSVC_RUNTIME}" STREQUAL "") set(MSVC_RUNTIME "dynamic") endif() + # Set compiler options. set(variables + CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_RELWITHDEBINFO + CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELEASE - CMAKE_CXX_FLAGS_RELWITHDEBINFO - ) + CMAKE_CXX_FLAGS_RELWITHDEBINFO) + if(${MSVC_RUNTIME} STREQUAL "static") message(STATUS "MSVC: using statically-linked runtime (/MT and /MTd).") foreach(variable ${variables}) @@ -31,6 +34,25 @@ macro(configure_msvc_runtime) endif() endforeach() endif() + + foreach(variable ${variables}) + if(${variable} MATCHES "/Ob0") + string(REGEX REPLACE "/Ob0" "/Ob2" ${variable} "${${variable}}") + endif() + endforeach() + + foreach(variable ${variables}) + if(${variable} MATCHES "/W3") + string(REGEX REPLACE "/W3" "/W2" ${variable} "${${variable}}") + endif() + endforeach() + + set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS}") + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}") + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") + set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL}") + set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}") + foreach(variable ${variables}) set(${variable} "${${variable}}" CACHE STRING "MSVC_${variable}" FORCE) endforeach()