summaryrefslogtreecommitdiffstats
path: root/Source/cmake.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Add -Werror and -Wno-error command-line optionsMichael Scott2016-01-121-9/+191
| | | | | | | | | Expand the -W set of cmake options to include support for the -Werror and -Wno-error format, which is used to control upgrading and downgrading warning and error messages. Implement support for these new formats for the dev and deprecated message types. Add tests and updated documentation for new options.
* cmake: Deduplicate warning message control codeMichael Scott2015-12-101-42/+24
| | | | | | Remove the duplicate code in cmake::Configure to set the cache variables for the warning message suppression. Replace it with calls to the dedicated methods to carry this out.
* cmake-gui: Add options to control warning messagesMichael Scott2015-12-101-3/+30
| | | | | | | | | Create a new dialog window for the cmake-gui that provides controls for setting the state of suppression of developer and deprecated warning messages. This replaces the previous single checkbox for setting the state of suppression of developer warnings. Added a note for the new functionality to the release notes.
* Explicitly enable deprecated warnings by default.Michael Scott2015-12-011-4/+20
| | | | | | | | | | Explicitly enable deprecated warnings by default, via the cmake::GetSuppressDeprecatedWarnings method, which signals suppression is turned off unless the CMake variables are set as required. Add tests and update the documentation for the new functionality.
* Modify dev warning options to affect deprecated warnings.Michael Scott2015-12-011-0/+26
| | | | | | | | | | | Change the '-Wdev' and '-Wno-dev' options to also enable and suppress the deprecated warnings output, via the 'CMAKE_WARN_DEPRECATED' CMake variable, by default. This action does not happen if the user specifies a deprecated warning message option. Add tests and update the documentation for the new functionality.
* Add -W options to control deprecated warning messages.Michael Scott2015-12-011-0/+20
| | | | | | | | Add 'deprecated' warning options type, to allow setting CMAKE_WARN_DEPRECATED via the -W '-Wdeprecated' and '-Wno-deprecated' options. Add tests for new options and updated documentation.
* Refactor the -W options parser to be generic.Michael Scott2015-12-011-28/+76
| | | | | | Refactor the -Wdev and -Wno-dev options parser to use a generic -W parser that follows the GCC pattern, excluding support for -Werror=TYPE and -Wno-error=TYPE formats for now.
* Explicitly enable author (dev) warnings by default.Michael Scott2015-12-011-5/+20
| | | | | | | | | Explicitly enable author warnings by default, via the cmake::GetSuppressDevWarnings method, which signals suppression is turned off unless the CMake variables are set as required. Add test cases for author and deprecated messages displayed by default.
* Make message suppression more consistent.Michael Scott2015-11-301-13/+57
| | | | | | | | | | | | | | | | 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.
* cmake-gui: Add option to specify generator toolsetRobert Dailey2015-11-171-7/+21
| | | | | | | | | | The -T parameter to CMake may now be specified through cmake-gui via a new text field in the first-time configure wizard (below the generator chooser). The generator factories specify whether or not they support toolsets. This information is propagated to the Qt code and used to determine if the selected generator should also display the optional Toolset widgets.
* cmake: Port find_package mode away from GetGeneratorTargetStephen Kelly2015-10-271-4/+7
|
* cmake: Store hardcoded lists of sources and headersStephen Kelly2015-10-271-0/+24
| | | | Don't duplicate this in each cmMakefile.
* cmTarget: Move link type enum out.Stephen Kelly2015-10-141-1/+1
| | | | Remove a reason for generate time code to depend on the cmTarget header/type.
* cmState: Initialize default definitions immediately.Stephen Kelly2015-10-131-0/+5
| | | | Don't leave this as cmMakefile responsibility.
* cmState: Initialize top level source directories immediately.Stephen Kelly2015-10-131-0/+8
| | | | Don't leave this as cmMakefile responsibility.
* cmState: Port away from cmake instance.Stephen Kelly2015-10-101-4/+1
|
* cmState: Move ParseCacheEntry from cmCacheManager.Stephen Kelly2015-10-101-2/+2
|
* cmState: Externalize logic to caller.Stephen Kelly2015-10-101-0/+1
|
* cmCacheManager: Port away from cmake instance.Stephen Kelly2015-10-101-3/+21
|
* cmState: Add cache file manipulation wrappers.Stephen Kelly2015-10-101-3/+3
|
* Inline unary LoadCache.Stephen Kelly2015-10-101-1/+2
|
* cmake: Port away from trivial cmCacheManager use.Stephen Kelly2015-10-101-17/+17
|
* cmake: Use existing cache API wrapper.Stephen Kelly2015-10-101-14/+14
|
* Set the current dirs on the snapshot before creating the cmMakefile.Stephen Kelly2015-10-071-7/+7
| | | | | | 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.
* cmake: Remove needless cmLocalGenerator creation.Stephen Kelly2015-10-051-7/+5
|
* Merge topic 'revert-cmake-W-options'Brad King2015-09-251-205/+29
|\ | | | | | | | | | | 2e606306 Merge branch 'improve-variable-help-formatting' into revert-cmake-W-options 81739e92 Revert topic 'cmake-W-options' (#15747)
| * Merge branch 'improve-variable-help-formatting' into revert-cmake-W-optionsBrad King2015-09-221-3/+30
| |\ | | | | | | | | | | | | | | | | | | | | | | | | Resolve conflicts in Help/variable/CMAKE_ERROR_DEPRECATED.rst Help/variable/CMAKE_WARN_DEPRECATED.rst by integrating changes from both sides.
| * | Revert topic 'cmake-W-options' (#15747)Brad King2015-09-221-205/+29
| | | | | | | | | | | | | | | | | | | | | | | | The changes in commit c96fe0b4 (cmake: Add -W options to control deprecation warnings and errors, 2015-07-28) fail to account for -Wdev warnings produced by places in CMake other than message(). This causes a regression in which -Wno-dev fails to suppress such warnings. Revert the feature until it can be revised accordingly.
* | | 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.