summaryrefslogtreecommitdiffstats
path: root/Source/cmMakefile.cxx
Commit message (Collapse)AuthorAgeFilesLines
* stringapi: Use strings for generator namesBen Boeckel2014-03-081-2/+2
|
* stringapi: Use strings for directoriesBen Boeckel2014-03-081-4/+5
|
* stringapi: Use strings for feature argumentsBen Boeckel2014-03-081-1/+1
|
* stringapi: Pass configuration names as stringsBen Boeckel2014-03-081-6/+7
|
* strings: Remove cmStdString referencesBen Boeckel2014-03-081-23/+23
| | | | | | | | | | | 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: Take strings for utility command namesBen Boeckel2014-03-081-2/+2
|
* cmTarget: Remove the project argument to FindTargetBen Boeckel2014-03-081-3/+2
| | | | All callers passed 0 in, so just remove the branch.
* stringapi: Use strings for VS project namesBen Boeckel2014-03-081-1/+1
|
* stringapi: Use strings for cache paths as argumentsBen Boeckel2014-03-081-2/+2
|
* stringapi: Use strings for AddSubdirectory pathsBen Boeckel2014-03-081-4/+5
|
* stringapi: Use strings for output names in AddCustomCommandToOutputBen Boeckel2014-03-081-1/+1
|
* stringapi: Use strings in target nameBen Boeckel2014-03-081-36/+32
|
* stringapi: Use strings for the languagesBen Boeckel2014-03-081-2/+2
|
* stringapi: Use strings for test namesBen Boeckel2014-03-081-14/+7
|
* stringapi: Use strings for source namesBen Boeckel2014-03-081-18/+13
|
* makefile: Remove an unused methodBen Boeckel2014-03-081-10/+0
|
* stringapi: Use strings for variable namesBen Boeckel2014-03-081-18/+19
| | | | Variable names are always generated by CMake and should never be NULL.
* stringapi: Use strings for property namesBen Boeckel2014-03-081-54/+35
| | | | Property names are always generated by CMake and should never be NULL.
* CMP0017: Fix check when including from CMake source treeBrad King2014-03-041-1/+2
| | | | | | | | | | When running CMake from the build tree the CMAKE_ROOT is the entire source tree. Fix the CMP0017 check to be specific to the Modules/ directory under CMAKE_ROOT so that Tests/ does not count. Fix the FindPackageTest modules to include FPHSA by full path from CMAKE_ROOT so that they do not include the local FPHSA which reports an error meant to test that CMP0017 works.
* cmMakefile: Return containers by const reference.Stephen Kelly2014-02-021-3/+3
| | | | They are not implicitly shared.
* cmMakefile: Fix minor indentation inconsistency.Stephen Kelly2014-02-021-4/+4
|
* cmMakefile: Make ConfigureString const.Stephen Kelly2014-01-221-1/+1
|
* cmMakefile: Make FindSourceGroup const.Stephen Kelly2014-01-221-5/+5
| | | | | Return a pointer instead of a reference. This allows making the accessor const with the least impact.
* cmMakefile: Trivially constify some methods.Stephen Kelly2014-01-221-22/+25
|
* cmMakefile: Consify custom command API.Stephen Kelly2014-01-221-1/+1
|
* cmMakefile: Constify policies accessors.Stephen Kelly2014-01-221-4/+4
|
* cmCacheManager: Consify version accessors.Stephen Kelly2014-01-221-2/+2
|
* cmSourceGroup: Fix method name capitalization.Stephen Kelly2014-01-221-2/+2
| | | | Adhere to the dominant style.
* cmMakefile: Constify some cmSourceGroup related code.Stephen Kelly2014-01-221-5/+6
|
* cmMakefile: Make GetProperty const.Stephen Kelly2014-01-221-8/+9
|
* Allow projects to specify extra inputs to CMakeBrad King2014-01-211-0/+24
| | | | | | | Define a new 'CMAKE_CONFIGURE_DEPENDS' directory property that projects can use to specify input files to the CMake configuration process. Extend the RunCMake.Configure test to verify that the build system re-runs CMake when this input changes.
* cmMakefile: make some methods take const std::string& instead of const char*Rolf Eike Beer2014-01-161-7/+11
| | | | | | | | Most callers already have a std::string, on which they called c_str() to pass it into these methods, which internally converted it back to std::string. Pass a std::string directly to these methods now, avoiding all these conversions. Those methods that only pass in a const char* will get the conversion to std::string now only once.
* cmTarget: Deprecate COMPILE_DEFINITIONS_ properties with a policy.Stephen Kelly2014-01-081-13/+15
|
* Merge topic 'unicode-fstream'Brad King2014-01-071-3/+3
|\ | | | | | | | | 5730710 Use cmsys::[io]fstream instead of cmsys_ios::[io]fstream.
| * Use cmsys::[io]fstream instead of cmsys_ios::[io]fstream.Clinton Stimpson2014-01-071-3/+3
| | | | | | | | | | Also use SystemTools::Fopen() instead of fopen(). This is to eventually support utf-8 filenames.
* | cmTarget: Don't update IMPORTED target compilation propertiesStephen Kelly2014-01-041-1/+1
|/ | | | | | The include_directories() and add_compile_options() commands should not append to the corresponding target property for IMPORTED targets. This is already the case for add_definitions().
* INTERFACE_LIBRARY: Avoid codepaths which set unneeded properties.Stephen Kelly2013-11-251-0/+8
| | | | | | | | | | | | | As an INTERFACE_LIBRARY has no direct link dependencies, we can short-circuit in cmGeneratorExpressionEvaluator and in cmGlobalGenerator::CheckLocalGenerators. As they do not generate any output directly, any generate- or install- related code acn also be short-circuited. Many of the local generators already do this. Because only INTERFACE related properties make sense on INTERFACE_LIBRARY targets, avoid setting other properties, for example via defaults.
* Merge topic 'use-generator-target'Brad King2013-11-221-2/+5
|\ | | | | | | | | aa29e64 Add a null check to the generator target accessor.
| * Add a null check to the generator target accessor.Stephen Kelly2013-11-211-2/+5
| |
* | Add policy CMP0040 to disallow custom commands on missing targetsNils Gladitz2013-11-211-23/+50
| |
* | cmMakefile: Make FindTarget const.Stephen Kelly2013-11-191-6/+4
| |
* | cmTarget: Make custom command accessors API const.Stephen Kelly2013-11-191-3/+3
|/ | | | Add specific mutators instead of providing non-const refs.
* Refactor internal resource location APIs and initializationBrad King2013-11-121-1/+0
| | | | | | | | | | | | | | | | | | | | 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.
* Merge topic 'Qt-auto-generators'Brad King2013-10-281-0/+12
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9c87d9c Add automatic rcc invocation for Qt. 84218e1 Add automatic uic invocation for Qt. 94a0ca6 Record which files are skipped by automoc. 18fb758 Run the main executable created in the autogen tests. e485ba1 Rename the QtAutomoc tests to QtAutogen. 7ce65c3 Add extra checks for the AUTOMOC target property. 32771fc Update output messages for generic use. f371ab5 Rename RunAutomoc to RunAutogen. 85b3d6e Extract an SetupAutoMocTarget method. ca124a1 Rename the AutomocInfo.cmake file to be more generic. a342c9f Move some makefile definitions up away from moc-specific code. 98632ef Add the AUTOGEN_TARGETS_FOLDER and obsolete AUTOMOC_TARGETS_FOLDER. 63378ba Rename some variables to reflect broader scope. 97f1aa3 Rename method to reflect generic use. 4abb111 Rename local variable to reflect generic use. 03878c9 Move variable set to where it is used. ...
| * Add automatic uic invocation for Qt.Stephen Kelly2013-10-241-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | The source files are already processed by cmQtAutomoc to look for moc includes, so extend that to also look for ui_ includes and find corresponding .ui files to process. This replaces the need to invoke qt4_wrap_ui(). As the ui files are not likely to be part of the SOURCES of the target, store the options associated with them separately in the cmMakefile for querying during the autogen run.
* | Drop compatibility with CMake < 2.4Brad King2013-10-231-42/+9
|/ | | | | | | | | | | | Drop all behavior activated by setting CMAKE_BACKWARDS_COMPATIBILITY to a value lower than 2.4, and generate an error when projects or the user attempt to do so. In the error suggest using a CMake 2.8.x release. Teach cmake_minimum_required to warn about projects that do not require at least CMake 2.4. They are not supported by CMake >= 3.0. Replace the documentation of CMAKE_BACKWARDS_COMPATIBILITY with a reference to policy CMP0001.
* Add Lua-style long brackets and long comments to CMake languageBrad King2013-10-171-0/+6
| | | | | | | | | | | | | | | | | Teach the CMake language parser to recognize Lua-style "long bracket" arguments. These start with two '[' separated by zero or more '=' characters e.g. "[[" or "[=[" or "[==[". They end with two ']' separated by the same number of '=' as the opening bracket. There is no nesting of brackets of the same level (number of '='). No escapes, variable expansion, or other processing is performed on the content between such brackets so they always represent exactly one argument. Also teach CMake to parse and ignore "long comment" syntax. A long comment starts with "#" immediately followed by an opening long bracket. It ends at the matching close long bracket. Teach the RunCMake.Syntax test to cover long bracket and long comment cases.
* Drop builtin property documentationBrad King2013-10-161-234/+3
| | | | | | 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 CMAKE_STRICT modeBrad King2013-10-151-15/+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.
* Add the INTERFACE_LIBRARY target type.Stephen Kelly2013-10-071-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | This target type only contains INTERFACE_* properties, so it can be used as a structural node. The target-specific commands enforce that they may only be used with the INTERFACE keyword when used with INTERFACE_LIBRARY targets. The old-style target properties matching LINK_INTERFACE_LIBRARIES_<CONFIG> are always ignored for this target type. The name of the INTERFACE_LIBRARY must match a validity generator expression. The validity is similar to that of an ALIAS target, but with the additional restriction that it may not contain double colons. Double colons will carry the meaning of IMPORTED or ALIAS targets in CMake 2.8.13. An ALIAS target may be created for an INTERFACE library. At this point it can not be exported and does not appear in the buildsystem and project files are not created for them. That may be added as a feature in a later commit. The generators need some changes to handle the INTERFACE_LIBRARY targets returned by cmComputeLinkInterface::GetItems. The Ninja generator does not use that API, so it doesn't require changes related to that.