[cmake-developers] [Patch] Adding Windows 10 support
Gilles Khouzam
Gilles.Khouzam at microsoft.com
Wed Sep 23 10:03:09 EDT 2015
>CMAKE_SYSTEM_NAME is already always defined to a value detected from the host system when not defined by a toolchain file or by the user in the cache. On a Windows host the value will be "Windows".
>I don't fully understand the case in question. When not building for Windows Store, does WindowsTargetPlatformVersion need a value if the user does not request one? What happens if it does not get a value? Is it >needed for Windows 10 Desktop?
Ok, if the CMAKE_SYSTEM_NAME is defined as Windows by default, then this should be good. Yes, the property is also used in desktop if someone wants to use the Windows 10 SDK instead of the Windows 8.1 SDK. If the property is not present then the default is to use the Windows 8.1 SDK. I'm suggesting that if the SYSTEM_NAME is Windows but the Version is set to 10.0 then we can use the same logic as for Store apps.
-----Original Message-----
From: Brad King [mailto:brad.king at kitware.com]
Sent: Wednesday, September 23, 2015 05:38
To: Gilles Khouzam <Gilles.Khouzam at microsoft.com>
Cc: cmake-developers at cmake.org
Subject: Re: [cmake-developers] [Patch] Adding Windows 10 support
On 09/23/2015 01:29 AM, Gilles Khouzam wrote:
> Now, for the default behavior, if
> CMAKE_WINDOWS_TARGET_PLATFORM_VERSION is set through a toolchain file
> or the project, then that will be the default which will initialize
> the WINDOWS_TARGET_PLATFORM_VERSION for each target through the
> SetPropertyDefault initialization call. On the other hand, if
> CMAKE_WINDOWS_TARGET_PLATFORM_VERSION is not set, nothing should
> happen since this is not a required property other than for Windows 10
> Universal (store) apps, the default behavior in that case should be to
> not have the property.
Okay.
> There is one open issue though. How should we have the value for
> CMAKE_WINDOWS_TARGET_PLATFORM_VERSION be the latest installed SDK when
> this is not a Windows Store project? For Windows Store projects this
> would get set if the property is not defined through the
> InitializeSystem procedure. How would we handle this for the non
> Windows Store case? Do this based on the version and no
> CMAKE_SYSTEM_NAME defined? Or should we force there to be a
> CMAKE_SYSTEM_NAME to be defined as Windows for example?
CMAKE_SYSTEM_NAME is already always defined to a value detected from the host system when not defined by a toolchain file or by the user in the cache. On a Windows host the value will be "Windows".
I don't fully understand the case in question. When not building for Windows Store, does WindowsTargetPlatformVersion need a value if the user does not request one? What happens if it does not get a value? Is it needed for Windows 10 Desktop?
Thanks,
-Brad
More information about the cmake-developers
mailing list