summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'fix-windows-version-detection'Brad King2015-08-031-10/+46
|\ | | | | | | | | d4736d53 Windows: Fix CMAKE_HOST_SYSTEM_VERSION on Windows >= 8.1 (#15674)
| * Windows: Fix CMAKE_HOST_SYSTEM_VERSION on Windows >= 8.1 (#15674)Brad King2015-07-311-10/+46
| | | | | | | | | | | | The GetVersionEx API is deprecated, so try RtlGetVersion first. Co-Author: Christian Maaser
* | cmInstallGenerator: Add a Compute() virtual hook.Stephen Kelly2015-07-301-0/+12
| |
* | cmGlobalGenerator: Move QtAutogen handling to Compute().Stephen Kelly2015-07-301-5/+7
| |
* | cmGlobalGenerator: Move generation object creation to Compute().Stephen Kelly2015-07-301-2/+2
| |
* | cmGlobalGenerator: Move FinalizeTargetCompileInfo to Compute().Stephen Kelly2015-07-291-2/+2
| |
* | cmGlobalGenerator: Return from Compute whether to generate.Stephen Kelly2015-07-291-5/+6
| |
* | cmGlobalGenerator: Create a new Compute step before generation.Stephen Kelly2015-07-291-3/+1
| | | | | | | | Replace the DoGenerate method.
* | cmGlobalGenerator: Remove the TargetManifest member.Stephen Kelly2015-07-291-5/+1
| |
* | Merge topic 'use-generator-target'Brad King2015-07-281-28/+69
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. ...
| * | cmExportTryCompileFileGenerator: Create cmGeneratorTargets.Stephen Kelly2015-07-271-12/+16
| | | | | | | | | | | | | | | This is not a deprecated behavior, but only requires IMPORTED targets be made.
| * | cmGlobalGenerator: Create cmGeneratorTargets before QtAutomoc.Stephen Kelly2015-07-271-2/+4
| | | | | | | | | | | | Add cmGeneratorTargets as needed in the QtAutomoc processing.
| * | cmGlobalGenerator: Create cmGeneratorTargets earlier.Stephen Kelly2015-07-271-1/+1
| | |
| * | cmGlobalGenerator: Add global targets at the end of Configure.Stephen Kelly2015-07-271-12/+27
| | | | | | | | | | | | Rather than at the start of Generate.
| * | cmGlobalGenerator: Extract method to create generator objects.Stephen Kelly2015-07-271-2/+8
| | |
| * | cmGlobalGenerator: Split creation of generator object from initialization.Stephen Kelly2015-07-271-1/+14
| | |
| * | cmCPackPropertiesGenerator: Require cmLocalGenerator in API.Stephen Kelly2015-07-271-2/+3
| | |
* | | cmMakefile: Use Ranges for buildsystem property access.Stephen Kelly2015-07-221-4/+4
| | | | | | | | | | | | Don't return vector copies.
* | | cmMakefile: Split accessors for compile definitions and origins.Stephen Kelly2015-07-221-4/+8
|/ /
* | Merge topic 'use-generator-target'Brad King2015-07-021-16/+16
|\ \ | | | | | | | | | | | | | | | d4a8a554 cmGlobalGenerator: Map local generators to generator targets. faec4e61 cmComputeTargetDepends: Change API to use cmGeneratorTarget.
| * | cmGlobalGenerator: Map local generators to generator targets.Stephen Kelly2015-07-011-5/+4
| | |
| * | cmComputeTargetDepends: Change API to use cmGeneratorTarget.Stephen Kelly2015-07-011-14/+15
| | |
* | | cmMakefile: Avoid invoking EnforceDirectoryLevelRules.Stephen Kelly2015-06-301-0/+1
|/ / | | | | | | | | This is part of the CMP0000 implementation and only needs to be invoked for top-level buildsystem files currently.
* | enable_language: Allow CMakeDetermine<LANG>Compiler module to fail earlyBrad King2015-06-291-0/+4
| | | | | | | | | | If the module reports a FATAL_ERROR, skip the rest of the steps to enable the language to avoid unnecessary following error messages.
* | cmGeneratorTarget: Require a cmLocalGenerator to construct.Stephen Kelly2015-06-221-2/+2
| |
* | cmGlobalGenerator: Create GeneratorTargets with a local generator.Stephen Kelly2015-06-221-2/+3
| |
* | cmGlobalGenerator: Add ComputeHomeRelativeOutputPath method.Stephen Kelly2015-06-131-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | cmLocalGenerator: Remove ConfigureFinalPass.Stephen Kelly2015-06-091-1/+1
| | | | | | | | | | Call the cmMakefile implementation directly. This is a configure-time construct.
* | cmPropertyMap: Remove chaining logic.Stephen Kelly2015-06-071-1/+0
| | | | | | | | | | | | | | The chaining logic doesn't belong to the container, and the CMakeInstance pointer doesn't need to be in cmPropertyMap. Size goes from 56 to 48 bytes with GNU libstdc++-5.1.
* | Merge topic 'cmMakefile-Configure'Brad King2015-06-041-5/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7657e8b1 cmMakefile: Introduce a local cmMakefile variable. 4e8f242d cmMakefile: Store unconfigured cmMakefiles. d65e0123 cmMakefile: Implement ConfigureSubDirectory in terms of cmMakefile. f059ed16 cmMakefile: Move Configure responsibility from cmLocalGenerator. a653611d cmake: Replace CurrentLocalGenerator concept with CurrentMakefile. 69a038a9 cmMakefile: Refactor directories specified with the subdirs command. 08637970 cmLocalGenerator: ComputeObjectMaxPath just before generating. 27e11c6f Merge Configure state with GeneratingBuildSystem state. 363caa2f cmLocalGenerator: De-virtualize Configure().
| * | cmMakefile: Move Configure responsibility from cmLocalGenerator.Stephen Kelly2015-06-041-1/+1
| | | | | | | | | | | | The generator should only have a function at generate time.
| * | cmake: Replace CurrentLocalGenerator concept with CurrentMakefile.Stephen Kelly2015-06-041-3/+3
| | |
| * | cmLocalGenerator: ComputeObjectMaxPath just before generating.Stephen Kelly2015-06-041-0/+1
| | |
| * | Merge Configure state with GeneratingBuildSystem state.Stephen Kelly2015-06-041-1/+0
| |/
* | cmGlobalGenerator: Don't use else after a return.Stephen Kelly2015-06-021-24/+19
|/
* cmLocalGenerator: Require a valid cmState::Snapshot in the ctor.Stephen Kelly2015-05-271-5/+12
| | | | | | | | | | | 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.
* cmState: Host some state from the cmGlobalGenerator.Stephen Kelly2015-05-271-7/+0
|
* cmGlobalGenerator: Require a cmake instance in ctor.Stephen Kelly2015-05-271-7/+2
| | | | It is required anyway, so this makes it explicit.
* Use cmSystemTools::GetCMakeCommand() to get path to cmake internallyBrad King2015-05-201-4/+3
| | | | | This is much simpler than finding a way to lookup "CMAKE_COMMAND" everywhere.
* Merge topic 'use-std-unordered_map'Brad King2015-05-191-1/+9
|\ | | | | | | | | | | | | d7923b82 Use std::unordered_map instead of hash_map where available. 820777af Tests: Don't rely on ordering of targets in maps. 921d74d8 AutoGen: Don't iterate over a container while populating it.
| * AutoGen: Don't iterate over a container while populating it.Stephen Kelly2015-05-161-1/+9
| | | | | | | | | | | | | | | | The InitializeAutogenTarget creates new targets and adds them to the Targets container on the makefile. In this method, we have a reference to that container and we are iterating over it. That happens to work with hash_map, but it fails with undefined behavior when using the std::unordered_map from libstdc++-4.9 (and likely others).
* | cmGlobalGenerator: Add NVI wrapper to create local generator.Stephen Kelly2015-05-161-1/+7
|/
* cmGlobalGenerator: Move some flags from cmLocalGenerator.Stephen Kelly2015-05-141-0/+7
| | | | | 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-3/+1
| | | | Port generator factory methods to pass it.
* RC: Simplify selection of resource compiler based on C/C++ toolchainBrad King2015-05-071-32/+0
| | | | | | | | | | Revert the refactoring by commit v2.8.11~105^2~1 (Ninja: use MinGW generator code in EnableLanguage, 2013-03-09) and move the MinGW- specific logic back to the "MinGW Makefiles" generator. Instead teach the platform information modules for GNU and MSVC on Windows to set the preferred RC compiler just before enabling the RC language. This way we choose the RC compiler based on the C/C++ toolchain that is actually enabled.
* Port to static cmPolicies API.Stephen Kelly2015-05-041-9/+5
|
* Merge topic 'fix-cmState-try_compile-languages'Brad King2015-05-011-1/+3
|\ | | | | | | | | 27343e3b cmGlobalGenerator: Finish storing enabled languages in cmState
| * cmGlobalGenerator: Finish storing enabled languages in cmStateBrad King2015-04-301-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | In commit 74de9a73 (cmGlobalGenerator: Delegate storage of enabled languages to cmState, 2015-04-11) the original LanguageEnabled member of cmGlobalGenerator was left behind by mistake. One use of it in EnableLanguagesFromGenerator (for try_compile) was left, but the member is not populated anymore. Drop the member and teach EnableLanguagesFromGenerator to copy the list of enabled languages from one cmState to the other. Reported-by: Matt McCormick <matt.mccormick@kitware.com>
* | cmLocalGenerator: Require a parent in the constructor.Stephen Kelly2015-04-281-2/+3
| | | | | | | | | | | | | | Pass the parent though cmGlobalGenerator::CreateLocalGenerator. This will make it easy to initialize state scopes independent of cmMakefile.
* | Merge topic 'clean-up-cmMakefile'Brad King2015-04-211-14/+14
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8dc3a67c cmMakefile: Out-of-line the directory methods. 0f3c8cfa cmMakefile: Use method abstraction to access directories. b288a997 cmMakefile: Rename SetStart* directory API to SetCurrent*. 932d53bc cmMakefile: Remove redundant method duplication. 32b8f03a cmMakefile: Port users of GetStart* methods to new names. 54d6a918 cmMakefile: Rename GetCurrent{Output,Binary}Directory. 55d80d0a cmMakefile: Rename GetCurrent{,Source}Directory. b23cf06f cmake: Remove redundant start directories. fcf246ac cmMakefile: Populate Home directories on initialize. 8878bea7 cmake: Initialize Home directories on cmake for find-package mode. 044dc815 Use the Home directories from the cmake class where intended. d67e8f24 cmake: Fix directory used to find the cache 1ea085d1 cmMakefile: Initialize dir definitions early. f034bb2f Remove redundant calls to MakeStartDirectoriesCurrent. 3a68c323 cmMakefile: Fix wrong parameter names.