summaryrefslogtreecommitdiffstats
path: root/Source/cmake.cxx
Commit message (Collapse)AuthorAgeFilesLines
* cmLocalGenerator: Create from already-constructed cmMakefile.Stephen Kelly2015-08-281-8/+10
| | | | Don't manage the lifetime of the cmMakefile with cmLocalGenerator.
* cmGlobalGenerator: Remove MakeLocalGenerator method.Stephen Kelly2015-08-281-4/+4
| | | | Inline implementation to callers.
* cmGlobalGenerator: Require a snapshot to create a local generator.Stephen Kelly2015-08-281-4/+8
|
* cmake: Remove unused cmPolicies member.Stephen Kelly2015-08-231-2/+0
| | | | | | heaptrack showed a 1 byte allocation with the backtrace pointing here, as is the case since commit v3.3.0-rc1~112^2~5 (cmPolicies: Remove unused cmPolicy class., 2015-05-03)
* cmake: Add support for "--build ." in subdirectory (#15696)Clinton Stimpson2015-08-151-0/+19
|
* Merge topic 'bootstrap-no-ninja'Brad King2015-08-111-1/+5
|\ | | | | | | | | 4e3c7725 bootstrap: Do not build Ninja generator
| * bootstrap: Do not build Ninja generatorBrad King2015-08-101-1/+5
| | | | | | | | | | The CMake bootstrap process uses Makefile generators so there is no need to build the Ninja generators during bootstrap.
* | cmake: Port configure-time code to cmMakefile.Stephen Kelly2015-08-071-1/+1
|/
* Merge topic 'cmake-W-options'Brad King2015-08-041-5/+5
|\ | | | | | | | | 975426ce cmake: Do not treat developer warnings as errors by default in scripts
| * cmake: Do not treat developer warnings as errors by default in scriptsBrad King2015-08-031-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | The logic in commit c96fe0b4 (cmake: Add -W options to control deprecation warnings and errors, 2015-07-28) accidentally enables errors on warnings by default in scripts because there is no initialization of CMAKE_SUPPRESS_DEVELOPER_ERRORS to TRUE. Rename internal CMAKE_SUPPRESS_DEVELOPER_ERRORS cache entry to CMAKE_ERROR_DEVELOPER_WARNINGS. Fix the logic in the message() command to treat AUTHOR_WARNING as an error only if the option is explicitly enabled.
* | Merge topic 'cmake-W-options'Brad King2015-07-311-29/+205
|\ \ | |/ | | | | | | c96fe0b4 cmake: Add -W options to control deprecation warnings and errors
| * cmake: Add -W options to control deprecation warnings and errorsMichael Scott2015-07-291-29/+205
| | | | | | | | | | | | | | | | | | | | | | Refactor the -Wdev and -Wno-dev to use a generic -W parser that follows the GCC pattern. Include support for setting CMAKE_ERROR_DEPRECATED and CMAKE_WARN_DEPRECATED via the deprecated warning. Add -Werror=dev and -Wno-error=dev options so that dev warning options are in line with deprecated warning options. Use a new CMAKE_SUPPRESS_DEVELOPER_ERRORS internal cache entry to store the above new dev options persistently. Add tests for new options and updated cmake documentation and release notes to list new options.
* | cmGlobalGenerator: Return from Compute whether to generate.Stephen Kelly2015-07-291-1/+4
| |
* | cmGlobalGenerator: Create a new Compute step before generation.Stephen Kelly2015-07-291-1/+2
|/ | | | Replace the DoGenerate method.
* Merge topic 'use-generator-target'Brad King2015-07-281-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1/+1
| | | | | | | | | | This is not a deprecated behavior, but only requires IMPORTED targets be made.
* | cmake: add --trace-expand optionBen Boeckel2015-07-231-0/+8
|/ | | | | | | | The --trace option is helpful, but sometimes, what you're looking for is deep under many layers of function calls and figuring out what instance of the function call you're looking at is tedious to determine (usually involving patching and message()). Instead, add a --trace-expand option to trace while expanding commands into what CMake actually sees.
* cmake: Preserve cached CMAKE_GENERATOR when an error occurs (#15640)Brad King2015-07-071-13/+0
| | | | | | | | | | | | | | | | | | | | Since commit v2.4.0~4158 (When the initially configured generator is invalid, allow the user to change the generator without deleting the cache by hand, 2003-05-13) we remove CMAKE_GENERATOR from the cache if an error occurs and CMAKE_MAKE_PROGRAM is not cached. This worked at the time because all generators initialized the CMAKE_MAKE_PROGRAM cache entry. Since commit v3.0.0-rc1~260^2~4 (VS: Switch to internal CMAKE_MAKE_PROGRAM lookup by generators, 2013-11-15) and commit v3.2.0-rc1~39^2 (Xcode: Switch to internal CMAKE_MAKE_PROGRAM lookup by generator, 2015-01-28) the VS and Xcode generators no longer store CMAKE_MAKE_PROGRAM in the cache. Therefore any error during generation would wipe out CMAKE_GENERATOR from the cache and cause the next configuration to choose a default generator. Simply drop the behavior introduced by the original commit and always preserve CMAKE_GENERATOR. Since the time that behavior was introduced a lot more state is now saved in CMakeCache.txt and CMakeFiles/ during the initial configuration so it is not safe to change generators without starting fresh anyway.
* cmGlobalGenerator: Create GeneratorTargets with a local generator.Stephen Kelly2015-06-221-1/+1
|
* cmake: Update the current snapshot when Resetting.Stephen Kelly2015-06-211-1/+2
| | | | This will matter when definitions are stored in the cmState.
* Merge topic 'remove-CMAKE_USE_RELATIVE_PATHS'Brad King2015-06-041-14/+0
|\ | | | | | | | | | | | | | | 6e570f85 cmLocalGenerator: Remove 'optional' parameter from Convert. 3d8c6cd9 cmLocalGenerator: Remove obsolete method. e44e6bcc Port away from obsolete method. 1335992c Remove CMAKE_USE_RELATIVE_PATHS variable.
| * Remove CMAKE_USE_RELATIVE_PATHS variable.Stephen Kelly2015-06-031-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The test for this variable was removed in commit v2.8.8~330^2~7 (complex: Remove ancient unused ComplexRelativePaths test, 2011-12-23). Commit v3.1.0-rc1~425^2~2 (backtrace: Convert to local paths in IssueMessage, 2014-03-12) appears to have accidentally made some backtraces print relative paths with the variable because conversions which used to be done at configure time, before the variable had an effect are now potentially done at generate time. The documentation of the variable says not to use it, and the docs are wrong in that the variable actually applies in per-directory scope. The read of the variable makes it harder to split conversion methods from cmLocalGenerator where they don't belong. Remove it now.
* | Merge topic 'rename-cmState-API'Brad King2015-06-041-1/+1
|\ \ | | | | | | | | | | | | | | | | | | cf1233a0 cmState: Rename GetParent method. 942df88b cmState: Rename CreateSnapshot method. da28f115 cmState: Add CreateBaseSnapshot method.
| * | cmState: Add CreateBaseSnapshot method.Stephen Kelly2015-06-021-1/+1
| |/
* | cmListFileBacktrace: Internalize the step of making paths relative.Stephen Kelly2015-06-021-1/+0
|/ | | | | | Currently cmMakefile calls MakeRelative on a copy of the backtrace, emits the copy to the stream once, then discards the copy. There is no need to have API for the path conversion.
* cmGlobalGenerator: Require a cmake instance in ctor.Stephen Kelly2015-05-271-12/+6
| | | | It is required anyway, so this makes it explicit.
* cmState: Move snapshot creation to the cmake instance.Stephen Kelly2015-05-241-1/+2
| | | | | | | | | | | | | | | | Don't create a snapshot in Initialize(), but leave the creation responsibility to the cmake instance instead. Previously, the cmState would Initialize() in its constructor, and the cmake instance would re-Initialize() during Configure(). The end result was the same and there would be one snapshot present. However, cmLocalGenerator also created a snapshot on construction, and that one was used, leaving the first snapshot unused, and potential for off-by-one errors. Fix that by making the cmLocalGenerator use the existing snapshot if it is top-level. Add a CurrentSnapshot to the cmake instance and populated it while configuring a directory. This will eventually replace the 'current local generator' concept. Fix the GetParent implementation to be able to return the first snapshot.
* cmake: Remove redundant condition.Stephen Kelly2015-05-241-5/+0
|
* Merge topic 'clean-up-backtrace-handling'Brad King2015-05-221-25/+58
|\ | | | | | | | | | | | | | | | | 8b4b9631 cmake: Add IssueMessage overload taking a single cmListFileContext. 46656aa1 cmake: Extract displayMessage method. 55fc5e7c cmake: Extract printMessageText method. ca7cc2eb cmake: Extract PrintMessagePreamble method. fa752bf3 cmake: Move isError determination to a more-natural place.
| * cmake: Add IssueMessage overload taking a single cmListFileContext.Stephen Kelly2015-05-211-0/+18
| | | | | | | | Port appropriate clients to use it.
| * cmake: Extract displayMessage method.Stephen Kelly2015-05-211-19/+25
| |
| * cmake: Extract printMessageText method.Stephen Kelly2015-05-211-7/+9
| |
| * cmake: Extract PrintMessagePreamble method.Stephen Kelly2015-05-211-8/+17
| |
| * cmake: Move isError determination to a more-natural place.Stephen Kelly2015-05-211-5/+3
| |
* | Revert "Qbs: Add new 'extra' generator for qbs project files"Brad King2015-05-211-4/+0
|/ | | | | | | | | | | | | | | | | | | This reverts commit f85db2f32358e6de921aba7d1cb8ecb81da934c0. Discussion by the QtCreator community at https://bugreports.qt.io/browse/QTCREATORBUG-13695 raises concerns about this particular approach to working with CMake projects using QtCreator. Also, the functionality and design of the QBS extra generator was never discussed on the CMake mailing list or with QtCreator developers. There may be better ways to make the two tools work together. In order to avoid committing to long-term support of this generator prior to such discussion taking place, revert it from CMake for now. We may restore this or use an alternative design based on results of such discussion.
* Convert: Remove specification of default parameter.Stephen Kelly2015-05-201-2/+1
|
* Merge topic 'refactor-cmLocalGenerator'Brad King2015-05-191-0/+5
|\ | | | | | | | | | | | | | | | | 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: Compute and store directory components.Stephen Kelly2015-05-161-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | There is no need to duplicate these in all cmLocalGenerators. Rename the symbols according to current conventions. Add explicit calls to Set{Source,Binary}Directory with empty strings in order to trigger the population of the components containers with the current working directory in cmLocalGenerator. Having directories set to empty is a special case in CMake, which is relied on for the `if(CMAKE_BINARY_DIR)` condition at the end of CMakeDetermineSystem.cmake.
* | Merge topic 'minor-cleanups'Brad King2015-05-191-17/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 61d52e6e cmListFileBacktrace: Hide the context-stack implementation detail. a271f7f1 cmTarget: Simplify CMP0023 message loop. f4300cd4 cmTarget: Simplify output computation. 65a42849 cmTarget: Store context in stack only if different. 9645cba3 cmListFileContext: Implement EqualityComparable. 52a8d19c cmTarget: Store only cmListFileContext for CMP0023 handling. 59ba1215 cmTarget: Remove needless iteration. 18f810a8 cmListFileContext: Sort by line before file. e96b5d14 cmListFileContext: Implement LessThanComparable. 7eb0dfa0 cmMakefile: Use std::set::insert API to simplify CMP0054 handling. f9785e0c cmMakefile: Simplify CMP0054 handling. e17b5e42 cmMakefile: Add access to the top-level execution context. 1ec1bf9f if(): Test the effect of cmMakefileCall use in elseif() handling. 9b4aefad cmMakefile: Replace deques with vectors.
| * | cmListFileBacktrace: Hide the context-stack implementation detail.Stephen Kelly2015-05-181-17/+2
| |/ | | | | | | | | | | The backtrace will soon not be implemented in terms of a stack of cmListFileContext objects. Keep the cmListFileContext in the API for convenience for now.
* | cmGlobalGenerator: Add NVI wrapper to create local generator.Stephen Kelly2015-05-161-4/+4
|/
* cmState: Store the Source and Binary directories.Stephen Kelly2015-04-281-6/+4
|
* cmMakefile: Delegate storage of Home dirs to the cmake class.Stephen Kelly2015-04-281-4/+6
| | | | There is no need to duplicate these on every cmMakefile.
* cmMakefile: Rename SetStart* directory API to SetCurrent*.Stephen Kelly2015-04-201-2/+2
|
* cmMakefile: Port users of GetStart* methods to new names.Stephen Kelly2015-04-201-2/+2
|
* cmake: Remove redundant start directories.Stephen Kelly2015-04-201-42/+2
| | | | | | | | | They are maintained as containing the same content as the 'home' directories, but they are never read from. Fix some comments and help strings which confused the two by name. They actually mean what is called CMAKE_SOURCE_DIR in cmake code.
* cmake: Initialize Home directories on cmake for find-package mode.Stephen Kelly2015-04-201-4/+5
| | | | | The Home directories can be used to initialize cmMakefile directories internally.
* cmake: Fix directory used to find the cacheStephen Kelly2015-04-201-1/+1
| | | | | The start and home directories are the same, but the intent of the code here is to use what is currently called the HomeOutput directory.
* Merge topic 'clean-up-ReadListFile'Brad King2015-04-201-3/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 05245b42 cmMakefile: Move some preamble out of the Internal method. 6e23a4bd cmMakefile: Remove always-null first parameter to ReadListFile. d21ebcb2 cmMakefile: Swap parameters of calls to ReadListFile. 95a27267 cmMakefile: Extract conditional code to caller. 7d248547 cmMakefile: Remove intermediate variable. 9db15954 cmMakefile: Move condition to the only calling context where it is true. 5d4480a8 cmMakefile: Populate CMAKE_PARENT_LIST_FILE in callers. 3a8ac242 cmMakefile: Collapse nested conditional. 5947d9b0 cmMakefile: Convert filenametoread into a std::string. e2d0e0fb cmMakefile: Remove intermediate variable. 3a1ad171 cmMakefile: Combine duplicate condition. f0dae032 cmMakefile: Re-order independent statements. 08da8742 cmMakefile: Split a conditional. 3dc4fe02 cmMakefile: Re-order independent variable setting. e4f8f1f1 cmMakefile: Remove intermediate variable. 2d6121a9 cmMakefile: Remove use of intermediate variable. ...
| * cmMakefile: Remove always-null first parameter to ReadListFile.Stephen Kelly2015-04-181-3/+3
| |