summaryrefslogtreecommitdiffstats
path: root/Source/cmake.h
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* Merge topic 'cxx14-features'Brad King2014-05-291-0/+11
|\ | | | | | | | | dd043c3f Features: Add support for C++14 features.
| * Features: Add support for C++14 features.Stephen Kelly2014-05-221-0/+11
| | | | | | | | Record the features implemented by GNU 4.9 and Clang 3.4.
* | Merge topic 'cpack-properties'Brad King2014-05-281-0/+12
|\ \ | |/ |/| | | | | | | d0b1d2a6 CPackWiX: Implement CPACK_NEVER_OVERWRITE and CPACK_PERMANENT properties 15a8af21 Add an "installed file" property scope
| * Add an "installed file" property scopeNils Gladitz2014-05-281-0/+12
| | | | | | | | | | | | | | Teach set_property and get_property an "INSTALL" property type to be associated with install-tree file paths. Make the properties available to CPack for use during packaging. Add a "prop_inst" Sphinx domain object type for documentation of such properties.
* | Features: Extend concept to C language.Stephen Kelly2014-05-141-0/+6
|/ | | | | | | | | | | Add properties and variables corresponding to CXX equivalents. Add features for c_function_prototypes (C90), c_restrict (C99), c_variadic_macros (C99) and c_static_assert (C11). This feature set can be extended later. Add a <PREFIX>_RESTRICT symbol define to WriteCompilerDetectionHeader to conditionally represent the c_restrict feature.
* Features: Make CMAKE_CXX_KNOWN_FEATURES a property.Stephen Kelly2014-05-021-0/+48
| | | | | As a 'built-in' variable it imposes a cost on all variable lookups and it is expected to be rarely used.
* Remove extra semicolons from C++ code.Stephen Kelly2014-04-031-4/+4
| | | | | Clang based tools running over the code complain about these, but clang has a fixit for removing them.
* stringapi: Command namesBen Boeckel2014-03-081-4/+4
|
* stringapi: Use strings for generator namesBen Boeckel2014-03-081-2/+2
|
* Directories: Take strings when setting directoriesBen Boeckel2014-03-081-4/+4
|
* strings: Remove cmStdString referencesBen Boeckel2014-03-081-4/+4
| | | | | | | | | | | Casts from std::string -> cmStdString were high on the list of things taking up time. Avoid such implicit casts across function calls by just using std::string everywhere. The comment that the symbol name is too long is no longer relevant since modern debuggers alias the templates anyways and the size is a non-issue since the underlying methods are generated since it's inherited.
* stringapi: Use strings for variable namesBen Boeckel2014-03-081-5/+5
| | | | Variable names are always generated by CMake and should never be NULL.
* stringapi: Use strings for property namesBen Boeckel2014-03-081-9/+11
| | | | Property names are always generated by CMake and should never be NULL.