33431 Commits

Author SHA1 Message Date
Brad King
0838d20e50 cmake: Simplify VS registry entry lookup 2016-10-11 11:46:45 -04:00
Brad King
8f33de92ba cmake: Factor out default generator selection into helper 2016-10-11 11:30:46 -04:00
Brad King
d0255d55e1 Merge branch 'cmake-gui-fix-extra-generator-names' into release 2016-10-11 08:42:16 -04:00
Brad King
bf86012ada cmake-gui: Fix "extra" generator entries in drop-down list
Refactoring in commit v3.7.0-rc1~291^2~1 (Refactor extra generator
registration to use factories, 2016-07-20) accidentally switched
the order of the "extra - base" generator names to "base - extra".
Switch it back.  While this could affect all callers of the
`GetRegisteredGenerators` method, only cmake-gui actually used this
particular field.

Closes: #16359
2016-10-11 08:39:44 -04:00
Kitware Robot
2fb8e5b1c4 CMake Nightly Date Stamp 2016-10-11 00:01:06 -04:00
Adam Martin
d9190f3308 FindProtobuf: Search for debug library named with d suffix
Protobuf now provides a CMake-based build system that optionally adds a
suffix to the debug library name [1].  Update our `find_library` call to
consider names with the default value for this suffix, `d`.

[1] https://github.com/google/protobuf/blob/431cee60/cmake/libprotoc.cmake#L107
2016-10-10 15:44:21 -04:00
Brad King
656ebaca3b Merge topic 'extract-cmLinkLineComputer'
41340304 cmLinkLineComputer: Extract link libraries computation from cmLocalGenerator
f03d446e cmLinkLineComputer: Move FrameworkPath computation from cmLocalGenerator
3444105f cmLocalGenerator: Inline last use of local variable
77c4202e cmLinkLineComputer: Move RPath computation from cmLocalGenerator
09b6cc66 cmLinkLineComputer: Move LinkPath computation from cmLocalGenerator
0c978063 cmLinkLineComputer: Move ComputeLinkLibs from cmLocalGenerator
0152a01f cmLocalGenerator: Move variable to where it is used
011e6870 cmLocalGenerator: Use a std::string instead of char*
cbca80f3 cmLocalGenerator: Move stringstream to where it is used
d48f69d0 cmLocalGenerator: Move flag determination up in the function
ff8e321c cmLocalGenerator: Separate stdlib content from library stream
80f57e67 cmLocalGenerator: Separate rpath content from library stream
7ef83468 cmLocalGenerator: Pass link library info to OutputLinkLibraries
69295812 Makefiles: Port CreateLinkLibs to cmLinkLineComputer
5b361fdd cmLinkLineComputer: Extract from cmLocalGenerator
2e5d1990 Ninja: Constify
...
2016-10-10 14:55:28 -04:00
Brad King
acd2eab2f3 Merge branch 'ExternalProject-fix-CMAKE_CACHE_ARGS-list' into release 2016-10-10 14:49:10 -04:00
Max Smolens
a3c98cb30e ExternalProject: Fix regression in passing list to CMAKE_CACHE_ARGS
Fix passing a list to the CMAKE_CACHE_ARGS and CMAKE_CACHE_DEFAULT_ARGS
options of ExternalProject_Add.

Following commit v3.7.0-rc1~273^2~1 (prefer list(APPEND) over
string(APPEND) where appropriate, 2016-08-08), the semicolon list
separator after the first list element was missing in the generated
cache.
2016-10-10 14:40:12 -04:00
Stephen Kelly
4134030434 cmLinkLineComputer: Extract link libraries computation from cmLocalGenerator
Hide some methods which no longer need to be public.
2016-10-10 20:38:59 +02:00
Stephen Kelly
f03d446e96 cmLinkLineComputer: Move FrameworkPath computation from cmLocalGenerator
Add UseWatcomQuote state, and remove corresponding method parameters.
2016-10-10 20:38:59 +02:00
Stephen Kelly
3444105f9f cmLocalGenerator: Inline last use of local variable 2016-10-10 20:38:59 +02:00
Stephen Kelly
77c4202edc cmLinkLineComputer: Move RPath computation from cmLocalGenerator
Add state for Relink and populate it at the point of cmLinkLineComputer
initialization.  This allows removal of the parameter in go-between
methods.
2016-10-10 20:38:59 +02:00
Stephen Kelly
09b6cc66b0 cmLinkLineComputer: Move LinkPath computation from cmLocalGenerator
Add a ConvertToOutputForExisting method which can be made virtual later
to satisfy different generator needs.

Pass additional strings as parameters for now.  They can be turned into
class state later.
2016-10-10 20:38:58 +02:00
Stephen Kelly
0c97806325 cmLinkLineComputer: Move ComputeLinkLibs from cmLocalGenerator
Add a cmOutputConverter to the cmLinkLineComputer and factory methods to
facilitate shell escapes.

Add state to the cmLinkLineComputer to record whether outputting for
response files or for watcom, to satisfy the cmOutputConverter API.
These are constant for the lifetime of the cmLinkLineComputer, even when
its functionality is extended in the future.  This also keeps the
signatures of cmLinkLineComputer relatively simple.

Pass the cmComputeLinkInformation as a method parameter so that
cmLinkLineComputer is free from target-specific state.  An instance
should be usable for all targets in a directory.
2016-10-10 20:38:58 +02:00
Stephen Kelly
0152a01f11 cmLocalGenerator: Move variable to where it is used 2016-10-10 20:38:57 +02:00
Stephen Kelly
011e6870e4 cmLocalGenerator: Use a std::string instead of char* 2016-10-10 20:38:56 +02:00
Stephen Kelly
cbca80f351 cmLocalGenerator: Move stringstream to where it is used 2016-10-10 20:38:56 +02:00
Stephen Kelly
d48f69d0f5 cmLocalGenerator: Move flag determination up in the function
This content is independent of any targets.
2016-10-10 20:38:55 +02:00
Stephen Kelly
ff8e321c6a cmLocalGenerator: Separate stdlib content from library stream 2016-10-10 20:38:55 +02:00
Stephen Kelly
80f57e67ee cmLocalGenerator: Separate rpath content from library stream 2016-10-10 20:38:55 +02:00
Stephen Kelly
7ef8346825 cmLocalGenerator: Pass link library info to OutputLinkLibraries
Remove the cmGeneratorTarget from the interface.

This is simplification of the OutputLinkLibraries responsibilities so
that it can be broken apart into multiple methods.
2016-10-10 20:38:54 +02:00
Stephen Kelly
6929581206 Makefiles: Port CreateLinkLibs to cmLinkLineComputer 2016-10-10 20:38:54 +02:00
Stephen Kelly
5b361fdda0 cmLinkLineComputer: Extract from cmLocalGenerator
CMake has several classes which have too many responsibilities.
cmLocalGenerator is one of them.  Start to extract the link line
computation.  Create generator-specific implementations of the interface
to account for generator-specific behavior.

Unfortunately MSVC60 has different behavior to everything else and CMake
still generates makefiles for it.  Isolate it with MSVC60-specific
names.
2016-10-10 20:38:53 +02:00
Stephen Kelly
2e5d1990f3 Ninja: Constify 2016-10-10 20:38:53 +02:00
Stephen Kelly
b3701f9a52 cmLocalGenerator: Inline conversion into link computation
Make it possible to invoke this functionality independent of
cmLocalGenerator.
2016-10-10 20:38:52 +02:00
Brad King
271170144a Merge branch 'vs15-separate-flag-table' into release 2016-10-10 11:46:20 -04:00
Brad King
b1d67ae8a5 VS: Split flag table between v140 and v141 toolsets
In commit v3.7.0-rc1~156^2~1 (VS: Update v140 flag tables from VS 15
MSBuild files, 2016-09-02) we extended the v140 flag table with values
from the v141 toolset that comes with VS 15.  However, the v140 toolset
that comes with VS 14 does not have all of these entries and so the
flags just need to be passed without special mapping.  In order to
support both toolsets, split our CL flag table into separate copies for
each version and switch off the toolset name.

Closes: #16352
2016-10-10 11:43:39 -04:00
Brad King
06b71ff9fb Merge branch 'release' 2016-10-10 11:31:04 -04:00
Brad King
1e6aaefdee Merge topic 'clean-up-link-configuration'
a1cfc4fe cmMakefile: Simplify programmer error to an assert
4079ba20 cmMakefile: Implement LinkLibraries as an internal property
17ab8e33 cmMakefile: Inline method into only remaining caller
7edfcd0e cmMakefile: Inline method into caller
6c8dc7f1 cmake: Simplify find-package mode library addition
1efca9f4 cmMakefile: Remove obsolete parameter
d9b5f0a3 cmTarget: Remove target name from parameter list
1c70c6cc cmMakefile: Use public API to find a target
2b7baed7 cmMakefile: Inline method into only caller
7ba95492 cmMakefile: Use public API to find a target
6d98b15f cmMakefile: Invert if() condition to remove else
869037ee cmMakefile: Remove ALIAS check
2f6462a6 cmMakefile: Collapse two consecutive if()s into one
148b83a1 cmMakefile: DeMorgan-invert condition
4457a9f1 cmMakefile: Return after error and remove else condition
4d039c5b cmMakefile: Invert handling of error condition
...
2016-10-10 10:23:45 -04:00
Brad King
ea533eb715 Merge topic 'ninja-cleanups'
cc5e6b82 Ninja: Extract identical code from condition
d9fde87d Ninja: Replace array access with local variable
d92c160d Ninja: Separate two coupled calls
2016-10-10 10:23:42 -04:00
Brad King
8fe948c54c Merge topic 'minor-cleanups'
c637e0c5 cmMakefile: Return a string from GetDefineFlags
fbc1b75c Test: Remove condition for CMake version no longer supported
3d0e95f6 cmLocalGenerator: Extract definition retrieval out of loop
2a49d86d Makefiles: Inline only use of method
b0301db2 Makefiles: Make helper class independent of cmLocalGenerator
267e0209 cmMakefile: Remove pointless condition
009019f2 Makefiles: Extract identical code from condition
378849f4 Makefiles: Replace array access with local variable
4a3c49b4 Makefiles: Separate two coupled calls
2016-10-10 10:23:39 -04:00
Brad King
9c7fc00a45 Merge topic 'cmake-cleanup'
326d5fa7 Allow custom built libarchive to use custom built expat.
7d45db99 Don't require liblzma when using system libarchive
a28b8f95 Don't require libbz2 when using system libarchive
66c6144c CMakeCPack: remove obsolete conditions
2016-10-10 10:23:36 -04:00
Brad King
211e3223a6 Merge topic 'test-cpack-improve-failure-messages'
7f90d5e5 Tests: Improve RunCMake.CPack_* failure message formatting
2016-10-10 10:23:33 -04:00
Brad King
e8cdbec45e Merge topic 'update-kwsys'
c22f3cf7 Merge branch 'upstream-KWSys' into update-kwsys
bf28a387 KWSys 2016-10-07 (dfe9b386)
2016-10-10 10:23:30 -04:00
Brad King
d3f1fcf6d1 Merge topic 'android-export-has-cpp'
dda6775c Android: Record use of C++ by static libs in exported Android.mk files
2016-10-10 10:23:27 -04:00
Brad King
19d4f942fe Merge topic 'android-cxxabi'
8cdac469 Android: Fix support for cxxabi.h with libc++
2016-10-10 10:23:24 -04:00
Brad King
ce00292134 Merge topic 'FindProtobuf-fix-subdirs'
2b9dad69 FindProtobuf: Fix protobuf_generate_*() to handle subdirs
2016-10-10 10:23:21 -04:00
Stephen Kelly
c637e0c53b cmMakefile: Return a string from GetDefineFlags
Flip condition in GHS for readability.
2016-10-10 10:09:54 -04:00
Stephen Kelly
fbc1b75c26 Test: Remove condition for CMake version no longer supported 2016-10-10 10:09:54 -04:00
Stephen Kelly
3d0e95f64c cmLocalGenerator: Extract definition retrieval out of loop 2016-10-10 10:09:54 -04:00
Kitware Robot
e3c5aed6ae CMake Nightly Date Stamp 2016-10-10 00:01:04 -04:00
Daniel Pfeifer
326d5fa747 Allow custom built libarchive to use custom built expat.
Expat is built anyway.
2016-10-10 00:21:00 +02:00
Daniel Pfeifer
7d45db9956 Don't require liblzma when using system libarchive 2016-10-10 00:12:34 +02:00
Daniel Pfeifer
a28b8f95bc Don't require libbz2 when using system libarchive 2016-10-10 00:08:06 +02:00
Daniel Pfeifer
66c6144cda CMakeCPack: remove obsolete conditions
The file contains some conditions depending on the existence of CMake
modules.  This basically checks for CMake versions that are no longer
supported.  Remove the conditions.
2016-10-09 23:59:15 +02:00
Stephen Kelly
b6a174d2bc Makefiles: Remove query for CMAKE_OBJECT_NAME
it is not set.
2016-10-09 10:58:33 +02:00
Stephen Kelly
d0faa58a51 Makefiles: Remove forbidden flag logic
This might have been needed some day in the past, but not anymore.
2016-10-09 10:58:33 +02:00
Stephen Kelly
2a49d86d5d Makefiles: Inline only use of method 2016-10-09 10:47:44 +02:00
Stephen Kelly
b0301db23b Makefiles: Make helper class independent of cmLocalGenerator
It only needs output conversion.
2016-10-09 10:47:44 +02:00