Call SetSystemName, SetGeneratorPlatform, and SetGeneratorToolset
exactly once after reading CMakeSystem.cmake, and not again on another
call to enable_language() or project().
On Arch Linux, /lib and /lib64 are symlinks to /usr/lib. When ordering
runtime library search paths, we must not consider these to be distinct
directories. Before considering conflicts between two directories,
check that they do not have the same 'realpath'.
Inspired-by: Myles English <mylesenglish@gmail.com>
Extract upstream KWSys using the following shell commands.
$ git archive --prefix=upstream-kwsys/ fb77be5a | tar x
$ git shortlog --no-merges --abbrev=8 --format='%h %s' 32023afd..fb77be5a
Brad King (1):
80e852f6 kwsysPlatformTests: Use if(DEFINED) to simplify conditions
Clinton Stimpson (2):
93eb1a1f SystemTools: Improve RelativePath() to handle ./ ../ and //
fb77be5a SystemTools: Fix GetCasePathName to handle wildcards on Windows.
Change-Id: Ieff09366e214055be0b62eae42fc64f3bb3b6e76
When the loop was added by commit v3.0.0-rc1~103^2~3 (ExternalProject:
Reattempt download when verification fails, 2015-01-15), we forgot to
actually increment the loop counter. Add the increment line.
When the CMAKE_GENERATOR option is given to ExternalProject_Add, look
also for option CMAKE_GENERATOR_PLATFORM to pass on to cmake as a cache
definition. When no CMAKE_GENERATOR option is given explicitly then use
the current project's CMAKE_GENERATOR_PLATFORM (since we already use its
CMAKE_GENERATOR).
The ctest_configure command already reads the CTEST_CMAKE_GENERATOR
variable to get the value for the cmake -G option. Read new variable
CTEST_CMAKE_GENERATOR_PLATFORM to pass on as CMAKE_GENERATOR_PLATFORM.
The "ctest --build-and-test" mode already has "--build-generator" to
specify the -G option to CMake. Add a "--build-generator-platform" option
to specify a value to pass on as CMAKE_GENERATOR_PLATFORM.
For VS generator names that do not specify the platform name, read
CMAKE_GENERATOR_PLATFORM to get it.
Extend the RunCMake.GeneratorPlatform test with a case covering
use of the x64 platform when the test generator is a Visual Studio
generator whose name does not specify a platform.
Reject the option by default. It will be implemented on a per-generator
basis. Pass the setting into try_compile project generation. Add cache
entry CMAKE_GENERATOR_PLATFORM and associated variable documentation to
hold the value persistently.
Add a RunCMake.GeneratorPlatform test to cover basic use cases for the
option. Verify that CMAKE_GENERATOR_PLATFORM is empty by default, and
that it is rejected when the generator does not support a user setting.
Rename the 'PlatformName' member to 'DefaultPlatformName' and make
sure it is only read through a 'GetPlatformName()' call. This will
allow non-default names to be chosen later.
Move handling of an empty toolset name into the implementation of the
method. This simplifies the VS 10 implementation of default toolset
selection because it has one code path that is always called.
Since commit v3.0.0-rc1~342^2~2 (Add compiler target compile options,
2013-05-19) we use CMAKE_<LANG>_COMPILER_TARGET as the binutils prefix
when cross-compiling with Clang. Fix the implementation to use the
compiler target as the prefix only when it is set. Otherwise toolchain
files not using CMAKE_<LANG>_COMPILER_TARGET cause the logic to use
a prefix of just "-" and of course cannot find "-ar" or "-ld".