In commit v3.4.0-rc1~5^2~1 (VS: Add support for selecting the Windows 10
SDK, 2015-09-30) we added Windows 10 SDK selection choosing the most
recent SDK that is not newer than the target version. This is backward
because it should be up to the application code to not use APIs newer
than the target version. It is up to the build system to provide a SDK
that has at least the APIs expected to be available for the target
version. Furthermore, since the default target version is the host
version of Windows, the old approach breaks when the only SDK available
is for a newer version of Windows.
Fix this by always selecting a Windows 10 SDK if one exists. Use the
SDK for the exact version if is available. Otherwise use the latest
version of the SDK available because that will have at least the APIs
expected for the target version.
Code extracted from:
http://public.kitware.com/KWSys.git
at commit e8bf616e3556368bf19dbebcd3529a89011ebacb (master).
Upstream Shortlog
-----------------
Brad King (1):
e8bf616e SystemTools: Fix GetShortPath buffer sizing
Jan van Dorsten (1):
cfb2477d SystemTools: Simplify GetShortPath de-quoting step
Robert Maynard (1):
8ef9773d Don't use clang diagnostic pragma's when compiling with ICC on OSX.
Drop the 'UNIX' condition on Clang compiler features. This enables
use of compile features with MinGW Clang, though additional work may
be needed for clang-cl.
Fix the link flag table entries for this flag to be case-insensitive.
Also fix the VS 2015 value for the build property enumeration name.
This causes `linkOptions.Parse(...)` to correctly extract the `/debug`
flag and map it to the IDE property instead. Therefore we do not need
to look for the flag explicitly when initializing the property.
Starting with VS 2015 the GenerateDebugInformation build property is an
enumeration (`No`, `Debug`, `DebugFastLink`) instead of a boolean value
(`false`, `true`). For now we simply change to `No` and `Debug` fix
current behavior. Support for `/debug:fastlink` can be added later.
The if(STREQUAL) expressions do not support globbing expressions.
Use regular experssions with MATCHES instead.
Reported-by: Yahui Wang <youngqv@foxmail.com>
There were issues in the special-character-escaping and line-wrapping
code which caused DragNDrop packaging to fail mysteriously at a later
step with parsing errors in the `sla.r` file generated by the following
code.
On Solaris the system `/usr/include/floatingpoint.h` header contains
typedef float single;
so the GNU compiler warns that uses of the name `single` shadow it.
Just suppress the warning because our uses of this name would become
less readable with a different name.
fae47798 Utilities/Release: Configure Windows binary to support Windows XP
083312a8 Utilities/Release: Switch to .msi builder for Windows binary
240b065f Utilities/Release: Optionally load environment on remote build server
a95b4715 Utilities/Release: Add optional remote launcher to ssh calls
d8bc26a0 Xcode: Parse variant and genex for CMAKE_XCODE_ATTRIBUTE (#14947)
dc0ddb9e Xcode: Store configuration name along with XcodeObject (#14947)
28f98cee Xcode: Make CMAKE_XCODE_ATTRIBUTE calculation last step (#14947)
28db2268 Xcode: Factor out XCODE_ATTRIBUTE_ variant filter (#14947)
Before this change backslashes in strings were escaped during compile
flags adds via AppendFlag(). But global flags like OTHER_CPLUSPLUSFLAGS
are not added as flags but as plain strings so they were not escaped
properly.
Now the escaping is performed within cmXCodeObject::PrintString() which
ensures that strings are always encoded.