summaryrefslogtreecommitdiffstats
path: root/Source/cmMakefile.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Optimize cmMakefile::ExpandVariablesInStringNew.Milian Wolff2016-01-201-10/+9
| | | | | | | | | | | | We can remove the temporary allocations required for the default-constructed t_lookup passed into the openstack by refactoring the code slightly. Furthermore, we use a vector instead of a stack, since the latter is based on a deque which is not required for a heap / lifo structure. This patch removes ~215k allocations. This hotspot was found with heaptrack.
* Make message suppression more consistent.Michael Scott2015-11-301-3/+5
| | | | | | | | | | | | | | | | Make the message suppression more consistent, by adding a check for the message related CMake variables in cmake::IssueMessage, which allows callers of IssueMessage other than the message command to behave as expected. Also added a check for CMAKE_SUPPRESS_DEVELOPER_WARNINGS in the message command to mirror the deprecated message type behaviour. Added a 'force' flag to the cmake::IssueMessage method, to make the message suppression consistent, when setting the message related CMake variables directly in a CMake file. Expand message command tests to cover the AUTHOR_WARNING message type as well.
* Merge branch 'reduce-cmState-accumulation' into ↵Brad King2015-11-251-16/+12
|\ | | | | | | reduce-cmState-accumulation-for-master
| * cmState: Enforce policy scope balancing around variable scopesBrad King2015-11-251-6/+1
| | | | | | | | | | | | | | | | Everywhere we use cmMakefile::ScopePushPop to manage variable scopes also expects policy scopes to be balanced. There is no place that we use cmMakefile::PolicyPushPop without also using ScopePushPop. Relieve PolicyPushPop of responsibility for policy scope balance checks by moving it to ScopePushPop.
| * cmMakefile: Remove unused PolicyPushPop interfacesBrad King2015-11-251-5/+3
| | | | | | | | | | | | The PolicyPushPop constructor arguments and Quiet method were used to pass non-default arguments to PushPolicy and PopSnapshot, but no clients use them anymore.
| * cmMakefile: Clarify purpose of method that pops a scope snapshotBrad King2015-11-251-7/+10
| | | | | | | | | | | | | | The `PopPolicyBarrier` method is actually responsible for closing any scope opened by creating a snapshot. Rename it to `PopSnapshot` and add a comment explaining the purpose of the poilcy-scope-specific part of the method.
* | Merge topic 'minor-cleanups'Brad King2015-10-281-2/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 13a37f5f cmMakefile: Fix typo in comment 958508bb cmMakefile: Fix style 91a829c1 Makefiles: Remove unused variable e0213882 cmTarget: Remove obsolete member 0554c2c9 cmTarget: Fix style b22e5d0a Remove some obsolete declarations ce43ed2c Use LocalGenerator when possible d90c9738 Makefiles: Remove some unneeded casts 331023ae Export: Remove unused variable a03f3d0e cmFunctionBlocker: Constify method d50c4220 Xcode: Fix typo in comment 803f1901 Xcode: Remove trailing semicolon
| * | cmMakefile: Fix typo in commentStephen Kelly2015-10-271-1/+1
| | |
| * | cmMakefile: Fix styleStephen Kelly2015-10-271-1/+1
| | |
* | | cmMakefile: Add imported target accessorStephen Kelly2015-10-271-0/+12
| | |
* | | cmTarget: Implement ALIAS in terms of name mappingStephen Kelly2015-10-271-5/+8
| | | | | | | | | | | | Remove mapping to cmTarget.
* | | cmGlobalGenerator: Remove direct storage of targetsStephen Kelly2015-10-271-6/+1
| | | | | | | | | | | | Find the target by looping when needed.
* | | cmake: Store hardcoded lists of sources and headersStephen Kelly2015-10-271-25/+0
| | | | | | | | | | | | Don't duplicate this in each cmMakefile.
* | | cmTarget: Make compatbility API explicit.Stephen Kelly2015-10-271-5/+16
|/ /
* | Merge topic 'xcode-watch-and-tvos'Brad King2015-10-261-4/+17
|\ \ | | | | | | | | | | | | a91eebeb Xcode: Recognise Watch and TV OS as embedded platforms
| * | Xcode: Recognise Watch and TV OS as embedded platformsGregor Jasny2015-10-231-4/+17
| | |
* | | Merge topic 'fix-CMP0054-elseif-warning'Brad King2015-10-211-2/+3
|\ \ \ | |/ / |/| / | |/ | | d6a03b47 cmIfCommand: Issue CMP0054 warning with appropriate context. (#15802)
| * cmIfCommand: Issue CMP0054 warning with appropriate context. (#15802)Stephen Kelly2015-10-201-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit v3.4.0-rc1~494^2~4 (cmMakefile: Add API for elseif to create backtrace., 2015-05-29) removed the use of cmMakefileCall to push/pop execution context in favor of a new way to create backtraces. However, a call to cmMakefile::GetExecutionContext is still invoked to issue a contextual CMP0054 warning through cmConditionEvaluator. As the elseif is not part of the call stack, this resulted in trying to access an empty vector. Avoid the attempt at getting execution context when evaluating elseif by constructing a context and backtrace on behalf of the cmConditionEvaluator in all cases.
* | cmState: Move GetTargetTypeName from cmTarget.Stephen Kelly2015-10-141-1/+1
| |
* | cmState: Move TargetType enum from cmTarget.Stephen Kelly2015-10-141-29/+29
| | | | | | | | | | | | | | Mostly automated: values=( "EXECUTABLE" "STATIC_LIBRARY" "SHARED_LIBRARY" "MODULE_LIBRARY" "OBJECT_LIBRARY" "UTILITY" "GLOBAL_TARGET" "INTERFACE_LIBRARY" "UNKNOWN_LIBRARY" "TargetType") for i in "${values[@]}"; do git grep -l cmTarget::$i | xargs sed -i "s|cmTarget::$i|cmState::$i|g"; done
* | cmTarget: Move link type enum out.Stephen Kelly2015-10-141-3/+3
| | | | | | | | Remove a reason for generate time code to depend on the cmTarget header/type.
* | Merge topic 'genex-generator-objects'Brad King2015-10-141-17/+23
|\ \ | | | | | | | | | | | | | | | | | | | | | 2293d43d cmLocalGenerator: Store cmGeneratorTargets. 488723f5 cmMakefile: Store container of cmExportBuildFileGenerators. 15834405 cmGeneratorExpression: Port interface to cmGeneratorTarget. 11165525 cmGeneratorExpression: Port to cmLocalGenerator.
| * | cmLocalGenerator: Store cmGeneratorTargets.Stephen Kelly2015-10-141-17/+0
| | | | | | | | | | | | Relieve cmMakefile of this responsibility.
| * | cmMakefile: Store container of cmExportBuildFileGenerators.Stephen Kelly2015-10-141-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | Set a cmLocalGenerator on each instance at compute time. That will soon be needed to access cmGeneratorTarget instances. If a cmExportBuildFileGenerator is processed early during configure time as a result of CMP0024 it must be removed from the list to process later at generate time.
* | | Subdirs: Initialize from parent before configuring.Stephen Kelly2015-10-131-0/+1
| | | | | | | | | | | | | | | | | | | | | Add new API for the subdirs command to cmState. This fixes a regression introduced in commit f716460e (cmMakefile: Move invokation to initialize snapshot., 2015-10-06).
* | | cmState: Initialize properties immediately.Stephen Kelly2015-10-131-2/+0
| | | | | | | | | | | | Don't leave this as cmMakefile responsibility.
* | | cmState: Initialize default definitions immediately.Stephen Kelly2015-10-131-55/+0
| | | | | | | | | | | | Don't leave this as cmMakefile responsibility.
* | | cmState: Initialize current directories immediately.Stephen Kelly2015-10-131-26/+2
| | | | | | | | | | | | Don't leave this as cmMakefile responsibility.
* | | cmState: Initialize top level source directories immediately.Stephen Kelly2015-10-131-4/+0
| | | | | | | | | | | | Don't leave this as cmMakefile responsibility.
* | | cmMakefile: Set default internal definitions directly.Stephen Kelly2015-10-131-15/+15
| | | | | | | | | | | | The usage tracking of cmMakefile::AddDefinition is not needed.
* | | cmMakefile: Set internal definitions directly.Stephen Kelly2015-10-131-6/+6
|/ / | | | | | | The usage tracking of cmMakefile::AddDefinition is not needed.
* | Merge topic 'refactor-cache-manager'Brad King2015-10-121-2/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 79a309d7 cmState: Port away from cmake instance. e2eecae2 cmState: Move ParseCacheEntry from cmCacheManager. b5212c68 cmState: Add API for cache version. 95b0d761 cmState: Externalize logic to caller. 6f02034e cmState: Make AddCacheEntry method private. 435a2f3c cmCacheManager: Port away from cmake instance. 062ed22e cmState: Add cache file manipulation wrappers. a02e53eb Inline unary LoadCache. bec3487f cmCacheManager: Remove cmMakefile dependency. e0f740f1 Always cache entries through the cmake instance. 2afadb0d cmake: Port away from trivial cmCacheManager use. 3d8c299f cmake: Use existing cache API wrapper.
| * | Always cache entries through the cmake instance.Stephen Kelly2015-10-101-2/+2
| | |
* | | Merge topic 'add-cmLocalGenerator-API'Brad King2015-10-121-6/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 223d0efe Remove some needless GetMakefile() calls. a367416c cmLocalGenerator: Add current source directory accessor. bbef3c2d cmLocalGenerator: Add current binary directory accessor. 12cb3bdc cmLocalGenerator: Add Home directory accessors. 72efa15d Eclipse: Port API to cmLocalGenerator. f2a641d6 Kate: Remove unused variables. 10cf42f5 Kate: Port API to cmLocalGenerator. e46ef270 export: Port internal method to cmGeneratorTarget. 53d3a1c9 cmMakefile: Remove unused GetProjectName calls. 4ab2750c cmLocalGenerator: Add GetProjectName method. c8187f41 cmCPluginAPI: Inline code to get project name. 8c6e6dd3 cmMakefile: Inline initialization of project name. 27916f2c cmLocalGenerator: Add cmake instance accessor.
| * | | cmMakefile: Remove unused GetProjectName calls.Stephen Kelly2015-10-081-5/+0
| | | |
| * | | cmMakefile: Inline initialization of project name.Stephen Kelly2015-10-081-1/+1
| |/ /
* | | cmMakefile: Remove unneeded container clears.Stephen Kelly2015-10-081-3/+0
|/ / | | | | | | No need to do that in a destructor.
* | cmState: Internalize the initialization of a snapshot from its parent.Stephen Kelly2015-10-071-2/+0
| |
* | Remove now-unused directory setters.Stephen Kelly2015-10-071-15/+0
| |
* | Set the current dirs on the snapshot before creating the cmMakefile.Stephen Kelly2015-10-071-17/+30
| | | | | | | | | | | | The cmMakefile should get a fully prepared snapshot and not clobber its definitions. It should eventually be able to process list files from any starting-point snapshot, though that is some refactoring away still.
* | cmMakefile: Move invokation to initialize snapshot.Stephen Kelly2015-10-061-2/+3
|/
* cmMakefile: Avoid name conflict with Solaris global typedefBrad King2015-09-301-2/+2
| | | | | | | | | On Solaris there is a global typedef called 'single': /usr/include/floatingpoint.h:77:15: note: shadowed declaration is here typedef float single; Avoid shadowing it by using a different name.
* cmMakefile: Remove Configured state.Stephen Kelly2015-09-271-4/+0
| | | | It is vestigial.
* cmGlobalGenerator: Create local generators after all makefiles configured.Stephen Kelly2015-09-241-5/+0
|
* cmMakefile: Create the local generator after configuring the makefile.Stephen Kelly2015-09-241-5/+5
| | | | The local generator is not used during configure time.
* cmMakefile: Skip Global targets for CMP0019 evaluation.Stephen Kelly2015-08-281-1/+2
|
* cmLocalGenerator: Create from already-constructed cmMakefile.Stephen Kelly2015-08-281-5/+4
| | | | Don't manage the lifetime of the cmMakefile with cmLocalGenerator.
* cmGlobalGenerator: Remove MakeLocalGenerator method.Stephen Kelly2015-08-281-1/+1
| | | | Inline implementation to callers.
* cmMakefile: Remove cmLocalGenerator member.Stephen Kelly2015-08-281-5/+6
|
* cmLocalGenerator: Remove Parent pointer.Stephen Kelly2015-08-281-1/+1
|