Commit Graph

33411 Commits

Author SHA1 Message Date
Brad King
c58a5198e5 Makefile: Restore RULE_LAUNCH_COMPILE generation on compilation rules
Refactoring in commit 425cd167 (cmLocalGenerator: Remove the launcher
from RuleVariables, 2016-10-09) accidentally broke Makefile generator
handling of `RULE_LAUNCH_COMPILE`.  Responsibility moved from
`ExpandRuleVariables` to its call sites, and the Makefile generator call
site for compilations was not properly updated.  Fix it now.
2016-12-09 08:59:17 -05:00
Brad King
9a2048f1ea Merge topic 'extract-cmRulePlaceholderExpander'
b59b6dd9 cmRulePlaceholderExpander: Port clients to direct-use
bdddd423 cmRulePlaceholderExpander: Extract from cmLocalGenerator
f796e1b6 cmLocalGenerator: Move memset to cxx file
c75a9d66 cmLocalGenerator: Use strings instead of a Target in rule replacement
46ad0d21 cmLocalGenerator: Use a converter in rule replacement API
2628dec1 cmLocalGenerator: Store variable replacements as state
315b9a31 cmLocalGenerator: Merge loops which populate mapping
d5feb5b3 cmLocalGenerator: Populate variable mapping for all replacements
efba22e1 cmLocalGenerator: Extract compiler option replacement from loop
b29425f7 cmLocalGenerator: Populate a container of mappings for replacements
f009d8f5 cmLocalGenerator: Move compiler option handling to be more direct
6cd27a85 cmLocalGenerator: Move variable to where it can be used easily
8b0e4795 cmLocalGenerator: Use the language from the compiler container
88016e2e cmLocalGenerator: Introduce a container of compiler names
be87cb0c cmLocalGenerator: Simplify loop with range algorithm
425cd167 cmLocalGenerator: Remove the launcher from RuleVariables
2016-10-17 10:15:17 -04:00
Brad King
248527ed93 Merge topic 'refactor-folder-name-retrieval'
3b6f1587 Factor IDE folder name retrieval out into helper method
2016-10-17 10:15:15 -04:00
Brad King
274ff52092 Merge topic 'cmcldeps-more-safety'
70e268da cmcldeps: prefer the /TC flag
47092d3e cmcldeps: append strings as strings
7db671a1 cmcldeps: search for single-byte strings as characters
2016-10-17 10:15:12 -04:00
Brad King
69be82394d Merge topic 'osx-no-deployment-target-on-cross-compile'
e8bafb6f OS X: Do not try to set deployment target when cross-compiling
2016-10-17 10:15:02 -04:00
Brad King
5fdee6d402 Merge topic 'doc-math-EXPR'
c05d9b05 Help: Fix math(EXPR) documentation formatting
2016-10-17 10:14:59 -04:00
Brad King
6f7c02ab0a Merge topic 'doc-clarify-ctest-APPEND'
78b00f1d Help: Clarify `ctest_*` APPEND option behavior
2016-10-17 10:14:55 -04:00
Gregor Jasny
3b6f1587be Factor IDE folder name retrieval out into helper method
Add a `cmGeneratorTarget::GetEffectiveFolderName` helper to abstract
lookup of the `FOLDER` property in combination with checking for
generator support of folders.
2016-10-17 10:06:18 -04:00
Gregor Jasny
e8bafb6fcb OS X: Do not try to set deployment target when cross-compiling
The change in commit v3.4.0-rc2~6^2 (Xcode: Adjust deployment target SDK
version to host version, 2015-10-11) does not make sense when
cross-compiling.  Make it conditional to fix this regression in some
cross-compiling cases.

Closes: #16355
2016-10-17 10:02:17 -04:00
Kitware Robot
0cbe2edb23 CMake Nightly Date Stamp 2016-10-17 00:01:03 -04:00
Kitware Robot
5ebba22882 CMake Nightly Date Stamp 2016-10-16 00:01:17 -04:00
Stephen Kelly
b59b6dd9d2 cmRulePlaceholderExpander: Port clients to direct-use
Add a factory function to cmLocalGenerator so that variableMappings can
be provided from it, and so that Ninja can always have a hard-coded
TargetImpLib.
2016-10-15 11:25:12 +02:00
Stephen Kelly
bdddd4234e cmRulePlaceholderExpander: Extract from cmLocalGenerator
Implement cmLocalGenerator::ExpandRuleVariables in terms of the new
class for source compatibility and to reduce diff noise in this commit.
2016-10-15 11:25:12 +02:00
Stephen Kelly
f796e1b6f6 cmLocalGenerator: Move memset to cxx file 2016-10-15 11:25:12 +02:00
Stephen Kelly
c75a9d6601 cmLocalGenerator: Use strings instead of a Target in rule replacement
Don't rely on the cmGeneratorTarget type needlessly.
2016-10-15 11:25:12 +02:00
Stephen Kelly
46ad0d2183 cmLocalGenerator: Use a converter in rule replacement API
The rule replacement API should not really be in cmLocalGenerator, but
it was historically, and this coupled many other things together here
too, such as output conversion.  Make the output converter a parameter
so that rule replacement can be removed from cmLocalGenerator.
2016-10-15 11:25:12 +02:00
Stephen Kelly
2628dec12c cmLocalGenerator: Store variable replacements as state
These do not change over the lifetime of the cmLocalGenerator.
2016-10-15 11:25:12 +02:00
Stephen Kelly
315b9a3189 cmLocalGenerator: Merge loops which populate mapping 2016-10-15 11:25:12 +02:00
Stephen Kelly
d5feb5b34c cmLocalGenerator: Populate variable mapping for all replacements
This reduces the final replacement to a simple query in the map, which
is much more readable than what was here before.
2016-10-15 11:25:12 +02:00
Stephen Kelly
efba22e1de cmLocalGenerator: Extract compiler option replacement from loop
There is no need to be in the loop.  Being there just adds to
complexity.
2016-10-15 11:25:12 +02:00
Stephen Kelly
b29425f7aa cmLocalGenerator: Populate a container of mappings for replacements
The same variables are replaced/retrieved from cmMakefile again and
again.  Use a container so that they don't have to be retrieved
repeatedly, and to simplify the nested loop.
2016-10-15 11:25:12 +02:00
Stephen Kelly
f009d8f5e2 cmLocalGenerator: Move compiler option handling to be more direct 2016-10-15 11:25:12 +02:00
Stephen Kelly
6cd27a853a cmLocalGenerator: Move variable to where it can be used easily 2016-10-15 11:25:12 +02:00
Stephen Kelly
8b0e479568 cmLocalGenerator: Use the language from the compiler container
This is just to make follow-up diffs smaller.
2016-10-15 11:25:12 +02:00
Stephen Kelly
88016e2e9f cmLocalGenerator: Introduce a container of compiler names
Use it to determine when a rule replacement should gain extra options.
2016-10-15 11:25:12 +02:00
Stephen Kelly
be87cb0c44 cmLocalGenerator: Simplify loop with range algorithm 2016-10-15 11:25:12 +02:00
Stephen Kelly
425cd1670f cmLocalGenerator: Remove the launcher from RuleVariables
This one is not like the others as it doesn't participate in
substitutions.  Keep ExpandRuleVariables doing only one thing and make
callers responsible for inserting a launcher prefix, simplifying the
code all-around.

Remove now-obsolete InsertRuleLauncher method.
2016-10-15 11:25:12 +02:00
Kitware Robot
ac5b80e76c CMake Nightly Date Stamp 2016-10-15 00:01:10 -04:00
Brad King
c05d9b0569 Help: Fix math(EXPR) documentation formatting 2016-10-14 15:47:30 -04:00
Brad King
78b00f1d10 Help: Clarify ctest_* APPEND option behavior
Explicitly state that this marks the `.xml` to tell the dashboard
server to append it to previously submitted results and that it
does not cause results to be appended to the `.xml` file.
2016-10-14 14:43:46 -04:00
Brad King
0d81863297 Merge branch 'release' 2016-10-14 10:55:31 -04:00
Ben Boeckel
70e268da3e cmcldeps: prefer the /TC flag
The /TC flag causes all source files to be processed as C source files.
We know that there is only one, so this is safe.
2016-10-14 09:27:43 -04:00
Ben Boeckel
47092d3e80 cmcldeps: append strings as strings 2016-10-14 09:27:43 -04:00
Ben Boeckel
7db671a143 cmcldeps: search for single-byte strings as characters 2016-10-14 09:27:43 -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