summaryrefslogtreecommitdiff
path: root/Source/cmLocalUnixMakefileGenerator3.cxx
Commit message (Collapse)AuthorAgeFilesLines
* cmGeneratorTarget: Move NeedRelinkBeforeInstall from cmTarget.Stephen Kelly2015-08-051-2/+1
|
* Merge topic 'use-generator-target'Brad King2015-07-281-4/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 57f03e59 Port some of the cmExportFileGenerator API to cmGeneratorTarget. 57ab0f70 Port cmExportBuildFileGenerator to cmGeneratorTarget. 570938cb cmExportTryCompileFileGenerator: Create cmGeneratorTargets. ec38e4c8 Move GetFullPath to cmGeneratorTarget dfb025bf Move GetLocationForBuild to cmGeneratorTarget. 9f2dca80 Move GetLocation to cmGeneratorTarget. c7a8e74b Always access target location from a cmGeneratorTarget instance. 5b60eaf6 cmTarget: Restore the ImportedGetLocation method. 50b17a61 cmIncludeCommand: Populate the cmGeneratorTargets in deprecated path. ba266858 cmTarget: Create cmGeneratorTargets before reading deprecated LOCATION. 5ab3a946 cmTarget: Inline GetLocation into deprecated callers. 496f4cd0 cmGlobalGenerator: Create cmGeneratorTargets before QtAutomoc. de80993a cmGlobalGenerator: Create cmGeneratorTargets earlier. 611220f7 cmTarget: Use reliable test for CMP0024 and CMP0026 OLD. bbad6ba5 cmLocalGenerator: Remove unused AddCustomCommandToCreateObject method. e4dc83ad cmLocalGenerator: Remove unused AddBuildTargetRule method. ...
| * cmCustomCommandGenerator: Require cmLocalGenerator in API.Stephen Kelly2015-07-271-4/+2
| |
* | cmAlgorithms: Rename cmRange to cmMakeRange.Stephen Kelly2015-07-221-1/+1
|/
* Merge topic 'cmState-Directory'Brad King2015-07-211-4/+6
|\ | | | | | | | | | | 9ebc7502 cmState: Extract a Directory class. 27ec21db cmState: Forward-declare a type earlier.
| * cmState: Extract a Directory class.Stephen Kelly2015-07-181-4/+6
| | | | | | | | | | Move Directory-scoped state accessors to it. This will be expanded with directory property state soon.
* | cmLocalUnixMakefileGenerator3: Port away from the Parent.Stephen Kelly2015-07-181-3/+3
|/
* cmLocalCommonGenerator: Adopt ConfigName memberBrad King2015-07-091-11/+1
| | | | De-duplicate the member from the local Makefile and Ninja generators.
* cmLocalUnixMakefileGenerator3: Provide GetConfigName() accessorBrad King2015-07-091-7/+7
| | | | | Rename internal member from ConfigurationName to ConfigName to match the ninja generator.
* Add common base classes to Makefile and Ninja generatorsBrad King2015-07-091-1/+1
| | | | Provide a place to move functionality common to both.
* cmGlobalGenerator: Add ComputeHomeRelativeOutputPath method.Stephen Kelly2015-06-131-13/+16
| | | | | | | | | | | | | | | | | | | | | | | | | Fix generation of tgt/fast build targets. Commit 363caa2f (cmLocalGenerator: De-virtualize Configure()., 2015-05-30) moved the computation of HomeRelativeOutputPath from Configure-time to Generate-time, because it is only used at Generate-time. However, that commit caused the member for one local generator to be computed immediately before generating with that local generator, whereas previously the members of all local generators were computed before generating any of them. The HomeRelativeOutputPath is used by the GetRelativeTargetDirectory method, which is called by the cmGlobalUnixMakefileGenerator3::WriteConvenienceRules method. That method is called by the cmLocalUnixMakefileGenerator3::WriteLocalMakefile method when generating for the top-most (ie, the first) local generator. At that point, the HomeRelativeOutputPath is not yet computed. Fix that by computing the member just before generating anything. This will eventually be done in the cmLocalUnixMakefileGenerator3 constructor instead, but further refactoring is needed to make that possible.
* cmLocalUnixMakefileGenerator3: Remove unused variable.Stephen Kelly2015-06-131-1/+0
|
* Port static calls from cmLocalGenerator to cmOutputConverter.Stephen Kelly2015-06-061-3/+3
|
* cmLocalGenerator: De-virtualize Configure().Stephen Kelly2015-06-041-6/+1
| | | | | The generators that override it do so in order to populate data members which can instead be populated in Generate().
* cmLocalGenerator: Require a valid cmState::Snapshot in the ctor.Stephen Kelly2015-05-271-2/+3
| | | | | | | | | | | Refactor the local generator creation API to accept a cmState::Snapshot. Adjust MakeLocalGenerator to use the 'current' snapshot in cases where there is no parent. Create the snapshot for subdirectories in cmMakefile::AddSubdirectory. This means that snapshots are now created at the point of extending the tree, as appropriate, and independently of the cmLocalGenerator and cmMakefile they represent the state for.
* Use cmSystemTools::GetCMakeCommand() to get path to cmake internallyBrad King2015-05-201-4/+2
| | | | | This is much simpler than finding a way to lookup "CMAKE_COMMAND" everywhere.
* Merge topic 'refactor-cmLocalGenerator'Brad King2015-05-191-5/+6
|\ | | | | | | | | | | | | | | | | fa9eb814 cmLocalGenerator: Remove redundant path access. 1933f3d1 cmLocalGenerator: Remove redundant path conversions. 9e4b6cc2 cmState: Store computed relative paths to to current directories. 991f5e49 cmState::Snapshot: Store components for current directories. 57bdc1a2 cmState: Compute and store directory components.
| * cmState: Store computed relative paths to to current directories.Stephen Kelly2015-05-161-5/+6
| |
* | cmGlobalGenerator: Host the MakeSilentFlag.Stephen Kelly2015-05-181-4/+4
| |
* | cmLocalGenerator: Remove unused IgnoreLibPrefix.Stephen Kelly2015-05-181-1/+0
| |
* | cmGlobalUnixMakefileGenerator3: Host the UnixCD.Stephen Kelly2015-05-181-2/+3
| |
* | cmGlobalUnixMakefileGenerator3: Host the PassMakeflags.Stephen Kelly2015-05-181-2/+3
| |
* | cmGlobalUnixMakefileGenerator3: Host the DefineWindowsNULL.Stephen Kelly2015-05-161-2/+3
| |
* | cmGlobalUnixMakefileGenerator3: Host the include directive.Stephen Kelly2015-05-161-1/+0
|/ | | | There is no sense in copying this to each cmLocalGenerator.
* cmGlobalGenerator: Move some flags from cmLocalGenerator.Stephen Kelly2015-05-141-11/+11
| | | | | These flags are global, and so they belong here instead of being set on each local generator.
* cmLocalGenerator: Require a global generator in the constructor.Stephen Kelly2015-05-141-2/+2
| | | | Port generator factory methods to pass it.
* Don't use a cmLocalGenerator instance to call static methods.Stephen Kelly2015-05-141-3/+4
|
* cmLocalGenerator: Require a parent in the constructor.Stephen Kelly2015-04-281-1/+3
| | | | | | | Pass the parent though cmGlobalGenerator::CreateLocalGenerator. This will make it easy to initialize state scopes independent of cmMakefile.
* cmMakefile: Port users of GetStart* methods to new names.Stephen Kelly2015-04-211-9/+9
|
* cmMakefile: Rename GetCurrent{Output,Binary}Directory.Stephen Kelly2015-04-211-2/+2
| | | | Match names used in CMake code.
* cmMakefile: Remove always-null first parameter to ReadListFile.Stephen Kelly2015-04-181-2/+2
|
* Include cmAlgorithms where it is used.Stephen Kelly2015-03-111-0/+1
|
* Merge topic 'target-language-genex'Brad King2015-03-101-12/+38
|\ | | | | | | | | | | | | | | | | | | | | 232a6883 Help: Add release notes for target-language-genex. 9e168941 File(GENERATE): Process genex evaluation files for each language. b734fa44 Genex: Allow COMPILE_LANGUAGE when processing include directories. 0b945ea9 Genex: Allow COMPILE_LANGUAGE when processing compile definitions. 5c559f11 Genex: Enable use of COMPILE_LANGUAGE for compile options. e387ce7d Genex: Add a COMPILE_LANGUAGE generator expression. 4a0128f4 VS6: Compute CMAKE_*_FLAGS and COMPILE_DEFINITIONS* only when needed
| * Genex: Allow COMPILE_LANGUAGE when processing include directories.Stephen Kelly2015-03-091-0/+26
| | | | | | | | Issue an error if this is encountered by an IDE generator.
| * Genex: Allow COMPILE_LANGUAGE when processing compile definitions.Stephen Kelly2015-03-091-16/+16
| | | | | | | | Issue an error if this is encountered by an IDE generator.
* | Merge topic 'custom-command-multiple-outputs'Brad King2015-03-091-54/+2
|\ \ | |/ |/| | | | | 66a9c90c Makefile: Fix multiple custom command outputs regression (#15116)
| * Makefile: Fix multiple custom command outputs regression (#15116)Brad King2015-03-061-54/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit v3.2.0-rc1~272^2~2 (Makefile: Fix rebuild with multiple custom command outputs, 2014-12-05) we changed the generated makefile pattern for multiple outputs from out1: depends... commands... out2: out1 to out1 out2: depends... commands... This was based on the incorrect assumption that make tools would treat this as a combined output rule and run the command(s) exactly once for them. It turns out that instead this new pattern is equivalent to out1: depends... commands... out2: depends... commands... so the commands may be run more than once. Some documents suggest using a "dedicated witness" stamp file: stamp: depends... rm -f stamp touch stamp.tmp commands... mv stamp.tmp stamp out1 out2: stamp However, if the commands fail the error message will refer to the stamp instead of any of the real outputs, which may be confusing to readers. Also, this approach seems to have the same behavior of the original approach that motiviated the above commit: multiple invocations are needed to bring consumers of the outputs up to date. Instead we can return to the original approach but add an explicit touch to each extra output rule: out1: depends... commands... out2: out1 touch -c out2 This causes make tools to recognize that all outputs have changed and therefore to execute any commands that consume them.
| * Merge branch 'makefile-missing-comment' into releaseBrad King2015-02-101-1/+1
| |\
* | | cmAlgorithms: Add cmWrap.Stephen Kelly2015-02-201-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Port some existing cmJoin to use it. cmJoin is cumbersome to use in cases where the objective is to somehow 'quote' each item and then join it with a separator. In that case, the joiner string is harder to read and reason about. cmWrap aims to solve that. Provide an overload taking char wrappers to simplify the case of surrounding every element in quotes without needing to escape the quote character.
* | | Use cmJoin where possible.Stephen Kelly2015-02-201-7/+1
| | |
* | | Merge topic 'use-cmRange'Brad King2015-02-121-13/+11
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7c3f6376 Convert loop into two algorithms. 8a399c8c Convert loop to the common pattern. abfca975 Move loop inside of condition. 0b61b86d Handle last element outside of the loop. e21f7829 cmTarget: Use a sorted vector in place of a set. 559dc155 cmSet: Replace loop with cmJoin. 0ea71932 cmFindBase: Replace loop with cmJoin on range. 9380e85f Convert loops to cmJoin algorithm with cmRange. bb10012f cmStringCommand: Accumulate with cmJoin and range adaptors. 0c12f1ea cmAlgorithms: Add a range adaptor and API for adjusting a range. 27c6f017 Use cmJoin to accumulate string ranges. 4e78ebbd cmAlgorithms: Add a Range container and adaptor method. 89102249 Replace common loop pattern with cmJoin 7b8725bf Convert loops populating maybe-empty content into the common pattern. 7ee56f03 Convert loops into the commonly used pattern. 0a4e5674 cmMacroCommand: Remove counting variable. ...
| * | | Convert loop into two algorithms.Stephen Kelly2015-02-111-10/+6
| | | |
| * | | Convert loop to the common pattern.Stephen Kelly2015-02-111-10/+4
| | | |
| * | | Move loop inside of condition.Stephen Kelly2015-02-111-12/+12
| | | | | | | | | | | | | | | | The loop is only executed if the condition is true.
| * | | Handle last element outside of the loop.Stephen Kelly2015-02-111-3/+11
| | | | | | | | | | | | | | | | | | | | There is no point in checking on each loop iteration whether it is the last element.
* | | | Merge topic 'makefile-missing-comment'Brad King2015-02-111-1/+1
|\ \ \ \ | |/ / / |/| | / | | |/ | |/| eeb2831b Makefile: Fix regression in target-bound custom command COMMENT output
| * | Makefile: Fix regression in target-bound custom command COMMENT outputNils Gladitz2015-02-101-1/+1
| | | | | | | | | | | | | | | Fix a logic typo introduced by commit v3.1.0-rc1~781^2 (Generalize cmCustomCommandGenerator to more fields, 2014-03-10).
* | | Merge topic 'use-algorithms'Brad King2015-02-101-9/+5
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d8639733 cmSystemTools: Remove unnecessary comparison. 803317aa cmSystemTools: Early return if size makes later comparison false. 11093a03 Replace temporary bool by inlining warning condition. 6cd2ee95 Replace loop with member algorithm. 94e993a0 cmComputeLinkDepends: Remove temporary iterator copy. 69dbe51b Replace loop with algorithm. 683fafea Replace a loop with std::transform. 63f584b6 Replace while loop with member insert. 74c4d9d2 Take a size check outside of an inner loop. 71d47115 Use insert member instead of back_inserter. 39622c99 Convert while loop to member insert. a7fcc148 Convert loop to algorithm. d46c4f07 Extract a prefix variable from loop. d59913f0 Take computation out of loop. 3f3db744 cmMakefile: Remove ExpandSourceListArguments. bd990c80 Remove use of ExpandSourceListArguments. ...
| * | | Convert loop to algorithm.Stephen Kelly2015-02-061-5/+2
| | | |
| * | | Extract a prefix variable from loop.Stephen Kelly2015-02-061-5/+2
| | | |