Commit Graph

33394 Commits

Author SHA1 Message Date
Stephen Kelly
fa9dbc56a1 cmGeneratorTarget: Implement cmTargetPropertyComputer interface
Populate a local member for the sources property when the instance is
created.  Pass the parameter to avoid the policy check when doing so.
Ordinarily, the GetSources function should not be called unconditionally
(at generate time), but we need to do so here in case the property is
read in a generator expression.  The intent is to be able to implement
cmGeneratorTarget without requiring cmTarget.
2016-10-15 11:14:21 +02:00
Stephen Kelly
848ae2a663 cmTargetPropertyComputer: Template some methods on the Target
Implement the methods for cmTarget in the cmTarget source.
2016-10-15 11:14:21 +02:00
Stephen Kelly
a0a720e6a7 cm{,Generator}Target: Add global generator accessors
Provide 'static polymorphism' between the types in this aspect so that
they can be used indiscriminately in a C++ template.
2016-10-15 11:14:21 +02:00
Stephen Kelly
637e3f3ee1 cmTargetPropertyComputer: Unify whitelist handling from cmTarget 2016-10-15 11:14:21 +02:00
Stephen Kelly
05251e6d80 cmTargetPropertyComputer: Move whitelist check from cmTarget 2016-10-15 11:14:21 +02:00
Stephen Kelly
fbf1721c94 cmTargetPropertyComputer: Extract into new files 2016-10-15 11:14:21 +02:00
Stephen Kelly
390a7d8647 cmTargetPropertyComputer: Implement GetProperty without cmMakefile
Only a cmMessenger and a backtrace are needed.
2016-10-15 11:14:21 +02:00
Stephen Kelly
e32a6bdd99 cmListFileBacktrace: Add a method to retrieve the Bottom of a snapshot 2016-10-15 11:14:21 +02:00
Stephen Kelly
7863fba1f6 cmTarget: Extract GetLocation method 2016-10-15 11:14:21 +02:00
Stephen Kelly
8096682e4e cmTarget: Extract GetSources method 2016-10-15 11:14:21 +02:00
Stephen Kelly
7d57c1a2c9 cmTarget: Extract location computation methods 2016-10-15 11:14:21 +02:00
Stephen Kelly
a55cac4ba4 cmTarget: Split property computation into separate class
Everything related to property computation will be moved here and
eventually shared with cmGeneratorTarget.
2016-10-15 11:14:21 +02:00
Stephen Kelly
705fcf522b cmTarget: Move IMPORTED check to callers
This way the policy can be checked without depending on cmTarget.
2016-10-15 11:14:21 +02:00
Stephen Kelly
1fb6f672bd cmTarget: Move SOURCES property computation before the rest
The SOURCES have to be computed.
2016-10-15 11:14:21 +02:00
Stephen Kelly
60b3f216c1 cmTarget: Remove mutable marker from properties 2016-10-15 11:14:21 +02:00
Stephen Kelly
aaa5dbbf64 cmTarget: Use static storage for computed properties
Avoid having to populate a mutable container to return a value.
2016-10-15 11:14:21 +02:00
Brad King
0d81863297 Merge branch 'release' 2016-10-14 10:55:31 -04:00
Brad King
a8513d8a80 Merge topic 'vs-host-x64-tools'
d079e71c VS: Provide an option to use x64 host tools
779939a0 Help: Document VS and Xcode toolset selection
2016-10-14 09:25:34 -04:00
Brad King
d079e71c29 VS: Provide an option to use x64 host tools
Visual Studio provides toolchains that are themselves built for 32-bit
or 64-bit host architectures.  By default it uses the 32-bit tools, but
it can be told to prefer the 64-bit tools on 64-bit hosts.  Extend the
`CMAKE_GENERATOR_TOOLSET` specification to provide a way to request
use of the 64-bit host tools.

Closes: #15622
2016-10-14 09:22:26 -04:00
Brad King
eb923da2c4 Merge topic 'flush-archive-list'
39b08858 cmSystemTools: Flush output buffer for list_item_verbose
2016-10-14 09:02:51 -04:00
Brad King
02946e0b95 Merge topic 'FindBoost-minor-cleanup'
08b9a0fd FindBoost: Simplify library dir detection with cascading if/elseif/else
ca4029fa FindBoost: Minor style updates
2e242b5c FindBoost: Use list(INSERT) to simplify suffix list generation
6699d46a FindBoost: Use string(APPEND) in more cases
2016-10-14 09:02:48 -04:00
Brad King
8b496672fe Merge topic 'st2-exclude-patterns-variable'
19ffc072 Sublime: Exclude build tree from source tree project only optionally
2016-10-14 09:02:45 -04:00
Brad King
dabd177922 Merge topic 'ninja-framework-POST_BUILD'
20278872 Ninja: Fix POST_BUILD commands on macOS Frameworks
2016-10-14 09:02:43 -04:00
Brad King
03622ee2d0 Merge topic 'ninja-rc-regression'
9977899d Ninja: Fix RC language depfile generation with cmcldeps
2016-10-14 09:02:40 -04:00
Brad King
f0579e2fda Merge topic 'LINK_WHAT_YOU_USE-allow-OFF'
2f79b22c Merge branch 'backport-LINK_WHAT_YOU_USE-allow-OFF' into LINK_WHAT_YOU_USE-allow-OFF
33cb0173 Honor LINK_WHAT_YOU_USE when set to OFF
933e54d3 Honor LINK_WHAT_YOU_USE when set to OFF
2016-10-14 09:02:36 -04:00
Kitware Robot
4c921e5c7b CMake Nightly Date Stamp 2016-10-14 00:01:08 -04:00
Brad King
a975b21cec Merge branch 'ninja-framework-POST_BUILD' into release 2016-10-13 14:09:43 -04:00
Brad King
20278872e3 Ninja: Fix POST_BUILD commands on macOS Frameworks
The condition added by commit v2.8.12~179^2 (OS X: Fix regression
handling frameworks for Ninja, 2013-07-16) for excluding use of
versioning symlinks on macOS Frameworks must match that used for
POST_BUILD selection.  Otherwise we place the POST_BUILD commands after
a symlink step that is never added.

Closes: #16363
2016-10-13 14:04:12 -04:00
Brad King
2d6fba6780 Merge branch 'backport-LINK_WHAT_YOU_USE-allow-OFF' into release 2016-10-13 13:38:28 -04:00
Brad King
2f79b22ce0 Merge branch 'backport-LINK_WHAT_YOU_USE-allow-OFF' into LINK_WHAT_YOU_USE-allow-OFF 2016-10-13 13:35:40 -04:00
Jamie Snape
33cb0173d5 Honor LINK_WHAT_YOU_USE when set to OFF
Explicitly setting variable CMAKE_LINK_WHAT_YOU_USE or property
LINK_WHAT_YOU_USE to OFF should not cause LWYU to run.  Fix the
property lookup to use GetPropertyAsBool.
2016-10-13 13:34:35 -04:00
Jamie Snape
933e54d3cc Honor LINK_WHAT_YOU_USE when set to OFF
Explicitly setting variable CMAKE_LINK_WHAT_YOU_USE or property
LINK_WHAT_YOU_USE to OFF should not cause LWYU to run.  Fix the
property lookup to use GetPropertyAsBool.
2016-10-13 13:32:22 -04:00
Brad King
f6386a768e Merge branch 'ninja-rc-regression' into release 2016-10-13 13:15:46 -04:00
Ben Boeckel
9977899df2 Ninja: Fix RC language depfile generation with cmcldeps
In commit v3.7.0-rc1~275^2 (Ninja: Use full path for all source files,
2016-08-05), the source path was changed to use an absolute path.
Inside of `cmcldeps` for `.rc` file compilation, it uses a separate
argument for the path to the source file.  This ended up causing
`cmcldeps` to transform the following call:

    cmcldeps.exe RC source.rc ... C:/full/path/to/source.rc

into:

    ... C:/full/path/to//Tc source.rc

which is invalid.  Update the source filename to use the full path to
the source file so that the path is replaced properly.
2016-10-13 13:03:57 -04:00
Alex Turbov
08b9a0fdfa FindBoost: Simplify library dir detection with cascading if/elseif/else 2016-10-13 10:19:07 -04:00
Alex Turbov
ca4029fa9a FindBoost: Minor style updates 2016-10-13 10:17:24 -04:00
Alex Turbov
2e242b5c1e FindBoost: Use list(INSERT) to simplify suffix list generation 2016-10-13 10:16:46 -04:00
Alex Turbov
6699d46a2a FindBoost: Use string(APPEND) in more cases 2016-10-13 10:15:34 -04:00
Dāvis Mosāns
39b08858f6 cmSystemTools: Flush output buffer for list_item_verbose
When `std::cout` and `FILE *stdout` are used at same time need to
explicitly flush otherwise they can be out of sync.
2016-10-13 09:24:45 -04:00
Brad King
ac5c492390 Merge branch 'release' 2016-10-13 09:14:55 -04:00
Brad King
d61bfcbf47 Merge topic 'ice-3.6.3'
6e5a3655 FindIce: Add support for version 3.6.3
2016-10-13 09:03:36 -04:00
Brad King
9273eed404 Merge topic 'msbuild-json'
ccdc3d30 Add a script to convert from MSBuild XML to a JSON format
2016-10-13 09:03:32 -04:00
Brad King
779939a00e Help: Document VS and Xcode toolset selection
Add explicit sections to the individual generator documentation to cover
the `cmake -T` option along with the default behavior for each
generator.
2016-10-13 08:59:27 -04:00
Brad King
1b592b6458 Merge topic 'vs-default-generator'
5380948f cmake: Fix default VS generator selection for Microsoft Build Tools
1aee54ed cmake: Simplify default generator search by switching direction
24c86e1c cmake: Use array iteration for default generator VS variants
6db64ad4 cmake: Use array iteration for default generator list
d3df00ae cmake: Rename default generator selection list variable
10160f69 cmake: Rename default generator selection internal variable
0838d20e cmake: Simplify VS registry entry lookup
8f33de92 cmake: Factor out default generator selection into helper
2016-10-13 08:26:07 -04:00
Brad King
30fe9f0243 Merge topic 'FindSDL-mingw-mwindows'
632326a7 FindSDL: Add -mwindows to link flags for MinGW, correct wording
2016-10-13 08:26:05 -04:00
Brad King
bd74517325 Merge topic 'FindProtobuf-debug-suffix'
d9190f33 FindProtobuf: Search for debug library named with `d` suffix
2016-10-13 08:26:02 -04:00
Brad King
2be36b0ab5 Merge topic 'remove-obsolete'
b6a174d2 Makefiles: Remove query for CMAKE_OBJECT_NAME
d0faa58a Makefiles: Remove forbidden flag logic
2016-10-13 08:25:58 -04:00
Brad King
9d0e556904 Merge topic 'ExternalProject-fix-CMAKE_CACHE_ARGS-list'
a3c98cb3 ExternalProject: Fix regression in passing list to CMAKE_CACHE_ARGS
2016-10-13 08:25:56 -04:00
Brad King
3b07c58dbd Merge topic 'vs15-separate-flag-table'
b1d67ae8 VS: Split flag table between v140 and v141 toolsets
2016-10-13 08:25:52 -04:00
Brad King
0123500309 Merge topic 'cmake-gui-fix-extra-generator-names'
bf86012a cmake-gui: Fix "extra" generator entries in drop-down list
2016-10-13 08:25:49 -04:00