Re: [cmake-developers] [PATCH 3/3] VS: Pass MSVC compiler flags in upper case

2014-09-09 Thread Bach, Pascal
On 09/08/2014 05:35 AM, Pascal Bach wrote: Even better would be to make the search case insensitive. How do we know which flags are sensitive to case? It has nothing to do with Visual Studio as it doesn't care about the casing. The problem is in the CMake generator. The tables in (eg.

Re: [cmake-developers] [PATCH 3/3] VS: Pass MSVC compiler flags in upper case

2014-09-09 Thread Brad King
On 09/09/2014 05:31 AM, Bach, Pascal wrote: Maybe a better solution would be to do this matching in a case insensitive way, this way it would work in any case even with user passed flags in lower case. I'm saying that some flags are case sensitive and others are not. We cannot blindly match

Re: [cmake-developers] [PATCH 3/3] VS: Pass MSVC compiler flags in upper case

2014-09-09 Thread Bach, Pascal
Maybe a better solution would be to do this matching in a case insensitive way, this way it would work in any case even with user passed flags in lower case. I'm saying that some flags are case sensitive and others are not. We cannot blindly match all cl flags insensitive to case, for

Re: [cmake-developers] [PATCH 3/3] VS: Pass MSVC compiler flags in upper case

2014-09-09 Thread Brad King
On 09/09/2014 09:48 AM, Bach, Pascal wrote: The values added to _PLATFORM_LINK_FLAGS do never end up in the .vcxproj file. The go into CMAKE_${lang}_CREATE_SHARED_LIBRARY [1] and CMAKE_${lang}_LINK_EXECUTABLE [2] However I can't see how this variables should end up in the VS generator. Any

Re: [cmake-developers] [PATCH 3/3] VS: Pass MSVC compiler flags in upper case

2014-09-09 Thread Bach, Pascal
Those are all for the Makefile and Ninja generators, as are CMAKE_CREATE_WIN32_EXE and CMAKE_CREATE_CONSOLE_EXE. For VS generators the knowledge has always been hard-coded, with a special case for Windows CE: http://www.cmake.org/gitweb?p=cmake.git;a=blob;f=Source/cmLocalVisual

Re: [cmake-developers] [PATCH 3/3] VS: Pass MSVC compiler flags in upper case

2014-09-09 Thread Brad King
On 09/09/2014 10:19 AM, Bach, Pascal wrote: Wouldn't it make sense to use the same variables in the VS10+ Generator too? It seems redundant to have the same information again. What's the reason it is hardcoded? That's just the way it was written. The rule variables like

Re: [cmake-developers] [PATCH 3/3] VS: Pass MSVC compiler flags in upper case

2014-09-09 Thread Bach, Pascal
On 09/09/2014 10:19 AM, Bach, Pascal wrote: Wouldn't it make sense to use the same variables in the VS10+ Generator too? It seems redundant to have the same information again. What's the reason it is hardcoded? That's just the way it was written. The rule variables like

Re: [cmake-developers] [PATCH 3/3] VS: Pass MSVC compiler flags in upper case

2014-09-09 Thread Brad King
On 09/09/2014 11:02 AM, Bach, Pascal wrote: I don't understand the purpose of the flag tables [1]. Aren't they there to map from command line to XML files? Yes, but they were created originally to support flags specified by users in CMAKE_C_FLAGS and a few other places. At first I tought the

Re: [cmake-developers] [PATCH 3/3] VS: Pass MSVC compiler flags in upper case

2014-09-09 Thread Bach, Pascal
At first I tought the way things work was: Windows-MSVC.cmake and Co construct a commandline with the required flags. The VS generator parses this command line and uses the cmVS7FlagTable to translate the known flags to XML elements. (Unknown arguments get passed as additional

[cmake-developers] [PATCH 3/3] VS: Pass MSVC compiler flags in upper case

2014-09-08 Thread Pascal Bach
Currently the mapping from flags to XML elements in the Visual Studio generator is case sensitive. It only handles upper case flags so we should pass them as upper case. Even better would be to make the search case insensitive. --- Modules/Platform/Windows-MSVC.cmake | 36

Re: [cmake-developers] [PATCH 3/3] VS: Pass MSVC compiler flags in upper case

2014-09-08 Thread Brad King
On 09/08/2014 05:35 AM, Pascal Bach wrote: Even better would be to make the search case insensitive. How do we know which flags are sensitive to case? - set(CMAKE_CREATE_WIN32_EXE /entry:WinMainCRTStartup) - set(CMAKE_CREATE_CONSOLE_EXE /entry:mainACRTStartup) - set(_PLATFORM_LINK_FLAGS