summaryrefslogtreecommitdiffstats
path: root/Source/cmake.h
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Refactor tool selection for edit_cache (#14544)Brad King2013-11-121-3/+4
| | | | | | | | | Refactor edit_cache tool selection to ask each global generator for its preference. Teach the Ninja generator to always use cmake-gui because Ninja by design cannot run interactive terminal dialogs like ccmake. Teach the Makefile generator to use cmake-gui when also using an "extra" generator whose IDE has no terminal to run ccmake, and otherwise fall back to CMAKE_EDIT_COMMAND selection for normal Makefile build systems.
* Refactor internal resource location APIs and initializationBrad King2013-11-121-16/+1
| | | | | | | | | | | | | | | | | | | | Rename cmSystemTools::FindExecutableDirectory to FindCMakeResources. Teach it to compute the locations of cmake, ctest, cpack, ccmake, and cmake-gui executables, and the location of CMAKE_ROOT. Provide this information from static cmSystemTools::Get<resource>() methods. Refactor code that needs these locations to use the new APIs. Teach FindCMakeResources to use the OS X system API to lookup the executable location. When running from the CMake build tree itself, leave a file in the tree that FindCMakeResources can use to read the location of the source tree. This avoids the need to compile the source tree location into a binary that may be installed and used without the source tree. Teach the QtDialog on OS X to create a "cmake-gui" symlink in the build tree next to "cmake" and the other tools, as is already done in the install tree for the application bundle. This ensures a consistent set of executables are available in one directory.
* cmake: Always pass through stdout/stderr in --build modeBrad King2013-10-181-2/+1
| | | | | | Enable the --use-stderr behavior by default and ignore the old option. Passing through the pipes allows color terminal output and other things to work as if one ran the native build command directly.
* Drop unused builtin documentation APIsBrad King2013-10-161-2/+1
| | | | | Now that all DefineProperty documentation calls have been dropped, drop the supporting APIs.
* Drop the 'Full' field from cmDocumentationEntryBrad King2013-10-161-38/+7
| | | | | We need only 'Brief' for usage documentation. We no longer have builtin 'Full' documentation, which is now in Help/*/*.rst files.
* Drop builtin property documentationBrad King2013-10-161-3/+0
| | | | | | Drop all DefineProperty calls for non-chained properties. Drop the documentation from the chained ones. The documentation for all properties is now in Help/prop_*/*.rst files.
* Drop "full" documentation output typesBrad King2013-10-151-22/+0
| | | | | | | | | | | | | | | | We will no longer support full documentation generation from executables and will instead generate documentation with other tools. Disable (with a warning left behind) the command-line options: --copyright --help-compatcommands --help-full --help-html --help-man Drop supporting code. Drop manual sections generation from executables. Remove internal documentation construction APIs. Drop unused sections See Also, Author, Copyright, Compat Commands, Custom Modules.
* Drop CMAKE_STRICT modeBrad King2013-10-151-4/+0
| | | | | | | With our modern development workflow it is less likely a property will be added to C++ code without documentation. This mode only existed to support the DocTest which had very limited coverage of the properties anyway.
* message: Add a DEPRECATION modeStephen Kelly2013-10-081-1/+3
| | | | | | By default, the message is not issued. If CMAKE_ERROR_DEPRECATED is on, the message is fatal. If CMAKE_WARN_DEPRECATED is on, the message is a warning.
* Merge topic 'split-cmake-E'Brad King2013-10-071-28/+0
|\ | | | | | | | | c04995b cmake: Split -E command implementation into separate source file