summaryrefslogtreecommitdiffstats
path: root/Source/cmake.h
Commit message (Collapse)AuthorAgeFilesLines
* Add -Werror and -Wno-error command-line optionsMichael Scott2016-01-121-3/+39
| | | | | | | | | 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-7/+7
| | | | | | 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-0/+7
| | | | | | | | | 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-0/+7
| | | | | | | | | | 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.
* Add -W options to control deprecated warning messages.Michael Scott2015-12-011-1/+3
| | | | | | | | 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-7/+7
| | | | | | 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-0/+6
| | | | | | | | | 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-2/+10
| | | | | | | | | | | | | | | | 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-1/+8
| | | | | | | | | | 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: Store hardcoded lists of sources and headersStephen Kelly2015-10-271-0/+7
| | | | Don't duplicate this in each cmMakefile.
* Merge topic 'revert-cmake-W-options'Brad King2015-09-251-18/+9
|\ | | | | | | | | | | 2e606306 Merge branch 'improve-variable-help-formatting' into revert-cmake-W-options 81739e92 Revert topic 'cmake-W-options' (#15747)
| * Revert topic 'cmake-W-options' (#15747)Brad King2015-09-221-18/+9
| | | | | | | | | | | | | | | | 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.
* | 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 -W options to control deprecation warnings and errorsMichael Scott2015-07-291-9/+18
| | | | | | | | | | | 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.
* cmake: add --trace-expand optionBen Boeckel2015-07-231-0/+3
| | | | | | | | 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.
* cmMakefile: Remove unused GetPolicies method.Stephen Kelly2015-06-061-3/+0
|
* cmMakefile: Make cmListFileBacktrace default constructible.Stephen Kelly2015-06-021-1/+1
|
* cmState: Move snapshot creation to the cmake instance.Stephen Kelly2015-05-241-0/+5
| | | | | | | | | | | | | | | | 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 forward declaration.Stephen Kelly2015-05-241-1/+0
| | | | The appropriate include is already here.
* cmake: Add IssueMessage overload taking a single cmListFileContext.Stephen Kelly2015-05-211-0/+3
| | | | Port appropriate clients to use it.
* cmake: Extract PrintMessagePreamble method.Stephen Kelly2015-05-211-0/+2
|
* Help: Spell '-D' option consistently across documentation (#15575)Brad King2015-05-201-1/+1
| | | | | | Always show the option with its argument separate in summary text. State in the main documentation that the option and its argument can be given together too.
* cmState: Store the Source and Binary directories.Stephen Kelly2015-04-281-2/+0
|
* cmake: Remove redundant start directories.Stephen Kelly2015-04-201-21/+3
| | | | | | | | | 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.
* Move global properties to cmState.Stephen Kelly2015-04-151-2/+0
|
* cmake: Remove the happy global property scope pattern.Stephen Kelly2015-04-151-2/+0
| | | | | | | | | Global properties are already global in scope, so remove the overload for specifying it and port users of the API. The call from cmMakefile::GetProperty can be simplified because the scope is only used during chaining, and there is no further chaining after processing global properties.
* cmake: Remove unused cmCommand methods.Stephen Kelly2015-04-151-16/+0
|
* cmState: Move cmCommand-related methods from cmake class.Stephen Kelly2015-04-131-2/+0
|
* cmake: Simplify RemoveUnscriptableCommands algorithm.Stephen Kelly2015-04-131-1/+0
| | | | Remove obsolete RemoveCommand method.
* Move property definition to cmState.Stephen Kelly2015-04-131-18/+0
|
* Merge topic 'introduce-cmState'Brad King2015-04-131-1/+8
|\ | | | | | | | | | | | | | | f081c5bd cmState: Move CacheEntryType enum from cmCacheManager. f71fdf0e cmMakefile: Remove unused CacheManager accessor. ff7169a0 Port to cmState. a6b1ad13 Introduce cmState class.
| * cmState: Move CacheEntryType enum from cmCacheManager.Stephen Kelly2015-04-131-1/+2
| |
| * Introduce cmState class.Stephen Kelly2015-04-131-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At this point, it is an interface to the cache. It will be extended to be a universal interface for access to and manipulation of configuration-time data (defintions, properties on targets, directories, source files etc). This will allow porting all command implementations away from the cmMakefile and cmTarget classes, and result in something more-purely related to configuration-time processing of cmake commands. That should serve at least the following goals: * Split the CMake implementation more definitively into three stages: Configuration, computation and generation, and be able to implement each optimally for memory access patterns etc. * Make better IDE integration possible by making more configuration data available. * Make it possiblte to use a smaller library than CMakeLib.a in cpack and ctest, resulting in smaller executables. * Make it possible to run the configure step multiple times in the same CMake run (#14539). Manage its lifetime in the cmake class, and add a convenience accessor to cmMakefile.
* | Merge topic 'cmake-cleanups'Brad King2015-04-131-37/+11
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 07d44d63 cmake: Remove confusing duplication. ea819b29 cmMakefile: Remove unused method. 6ad86c7f cmMakefile: Remove bad comment. fca2b542 cmMakefile: Internalize setting of CMakeInstance on Properties. 7bb4e3db cmMakefile: Out-of-line Home directory accessors. 6241253a cmake: Out-of-line Home and Start directory methods. 0ee3ccb3 cmake: Fix variable name bugs. 57dd094e Use vector, not list for cmCommand storage. 6deb43e6 Remove some files which do not need to be in BootstrapCommands. ecdb1b3b Add some missing includes. 04b307b9 cmake: Simplify CommandExists method. 0f1f324b cmake: Rename oddly named variables. 275185ac cmake: Constify GetCommand method. c57f086a cmake: Don't lower-case a string needlessly. 23368c9b cmake: Use make_pair instead of Foo::value_type. 14c70b8c cmake: out-of-line try compile state methods. ...
| * | cmake: Out-of-line Home and Start directory methods.Stephen Kelly2015-04-121-26/+6
| | |
| * | cmake: Fix variable name bugs.Stephen Kelly2015-04-121-3/+3
| | |
| * | cmake: Constify GetCommand method.Stephen Kelly2015-04-121-1/+1
| | |
| * | cmake: out-of-line try compile state methods.Stephen Kelly2015-04-121-4/+2
| | |
| * | cmake: Remove DebugConfigs member.Stephen Kelly2015-04-121-2/+1
| | | | | | | | | | | | It adds needless complexity to global property handling.
| * | cmake: Remove method with no external users.Stephen Kelly2015-04-121-3/+0
| |/ | | | | | | Port internal users to access the member.
* | cmake: Provide guidance when an invalid -G option is givenGerald Combs2015-04-101-0/+3
|/ | | | | | | Print a list of generators if no generator or an invalid one is supplied. Signed-off-by: Gerald Combs <gerald@wireshark.org>
* Add API for cache loading, deleting and saving to the cmake class.Stephen Kelly2015-04-071-1/+13
| | | | | Migrate existing users of the CacheManager API to use the new API. The CacheManager will be going away soon.
* Revert topic 'refactor-cache-api'Brad King2015-04-071-13/+1
| | | | | | This topic was never tested without some follow-up commits. The GetCacheEntryValue API returns a pointer to memory freed on return. It will have to be revised along with the rest of the original topic.
* Add API for cache loading, deleting and saving to the cmake class.Stephen Kelly2015-04-061-1/+13
| | | | | Migrate existing users of the CacheManager API to use the new API. The CacheManager will be going away soon.
* cmake: Remove unused method.Stephen Kelly2015-04-051-3/+0
|
* cmake: Remove unused member.Stephen Kelly2015-04-051-1/+0
|
* cmake: Add -A option to specify a generator platformBrad King2014-09-151-0/+1
| | | | | | | | | | | | Define the 'cmake -A' option to set CMAKE_GENERATOR_PLATFORM without having to spell out the whole variable name. We choose the name '-A' for "platform" because '-P' is already taken, and in the common use case the "platform" is actually an architecture (e.g. x64). Teach the RunCMake test infrastructure to use -A to pass the generator platform. Extend the RunCMake.GeneratorPlatform test with a case to verify that the -A option cannot be repeated.
* CMake: Add CMAKE_GENERATOR_PLATFORM optionBrad King2014-09-051-0/+9
| | | | | | | | | | | Reject the option by default. It will be implemented on a per-generator basis. Pass the setting into try_compile project generation. Add cache entry CMAKE_GENERATOR_PLATFORM and associated variable documentation to hold the value persistently. Add a RunCMake.GeneratorPlatform test to cover basic use cases for the option. Verify that CMAKE_GENERATOR_PLATFORM is empty by default, and that it is rejected when the generator does not support a user setting.
* backtrace: Convert to local paths in IssueMessageBen Boeckel2014-06-051-1/+1
| | | | | This is the only place we care show the FilePath to the user, so defer the expensive relative path calculation until here.
* cmake: remove dummy backtraces for IssueMessageBen Boeckel2014-06-051-2/+2
|