summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* CursesDialog: add missing cmState includeDaniel Pfeifer2016-04-291-0/+1
|
* Merge topic 'clang-tidy-output-cleanup'Brad King2016-04-281-3/+7
|\ | | | | | | | | 04d74a7f Clang-Tidy: copy stdout to sterr; ignore original stderr
| * Clang-Tidy: copy stdout to sterr; ignore original stderrDaniel Pfeifer2016-04-271-3/+7
| | | | | | | | | | | | | | | | | | | | | | Clang-Tidy writes the number of warnings, the number of suppressed warnings, and instructions on how to suppress warnings to stderr. Since each source file is checked individually, this repetitive information is disturbing and should be suppressed. The actual warning messages are written to stdout. Some IDEs (eg. QtCreator) analyze only stderr for issues. Redirecting Clang-Tidy's stdout to stderr makes sure the warnings are correctly displayed.
* | CMake Nightly Date StampKitware Robot2016-04-281-1/+1
| |
* | Merge topic 'ghs-duplicate-objects'Brad King2016-04-272-0/+44
|\ \ | | | | | | | | | | | | 1703a6d2 GHS: Fix handling of duplicate source filenames (#16046)
| * | GHS: Fix handling of duplicate source filenames (#16046)Geoff Viola2016-04-252-0/+44
| | | | | | | | | | | | | | | Green Hills MULTI project files must specify explicitly distinct object file names for source files with the same name.
* | | Merge topic 'autogen-message-cleanup'Brad King2016-04-273-113/+174
|\ \ \ | | | | | | | | | | | | | | | | | | | | 9647af3f Autogen: Message tweaks: Compiler type (moc/qrc/ui) added to progress messages 9b58190c Autogen: Message cleanups: Compose messages in std::stringstream
| * | | Autogen: Message tweaks: Compiler type (moc/qrc/ui) added to progress messagesSebastian Holtermann2016-04-251-4/+4
| | | |
| * | | Autogen: Message cleanups: Compose messages in std::stringstreamSebastian Holtermann2016-04-253-109/+170
| |/ / | | | | | | | | | | | | To avoid Race conditions with other processes writing to stdout/stderr compose the whole message in a std::stringstream then submit the single complete message.
* | | Merge topic 'vs-old-express-no-folders'Brad King2016-04-278-17/+28
|\ \ \ | | | | | | | | | | | | | | | | | | | | 571bedec VS: Ignore USE_FOLDER property on VS versions that do not support it 0c58d2d0 VS: Detect VS 8 and 9 Express editions
| * | | VS: Ignore USE_FOLDER property on VS versions that do not support itBrad King2016-04-267-13/+16
| | | | | | | | | | | | | | | | | | | | Solution folders are supported on VS 8 and above in the full versions and on VS 11 and above in the express versions.
| * | | VS: Detect VS 8 and 9 Express editionsBrad King2016-04-264-4/+12
| |/ /
* | | CMake Nightly Date StampKitware Robot2016-04-271-1/+1
| |/ |/|
* | CMake Nightly Date StampKitware Robot2016-04-261-1/+1
|/
* CMake Nightly Date StampKitware Robot2016-04-251-1/+1
|
* CMake Nightly Date StampKitware Robot2016-04-241-1/+1
|
* CMake Nightly Date StampKitware Robot2016-04-231-1/+1
|
* Merge topic 'autogen-updates'Brad King2016-04-223-47/+276
|\ | | | | | | | | | | | | | | | | | | | | 84946c73 Tests: QtAutogen: Same source name in different directories test 9c6fa684 Autogen: Generate qrc_NAME.cpp files in subdirectories 488ea8c7 Autogen: Generate not included moc files in subdirectories (#12873) 66caae45 Autogen: Check added for name collisions of generated qrc_NAME.cpp files 663d093d Autogen: Check added for name collisions of generated ui_NAME.h files 8295d437 Autogen: Check added for name collisions of generated moc files d350308a Help: Improve AUTOMOC documentation layout
| * Autogen: Generate qrc_NAME.cpp files in subdirectoriesSebastian Holtermann2016-04-222-36/+109
| | | | | | | | | | | | | | A qrc_NAME.cpp file generated from NAME.qrc in the directory CMAKE_CURRENT_SOURCE_DIR/SUBDIR will be generated in the directory CMAKE_CURRENT_BINARY_DIR/TARGETNAME_automoc.dir/SUBDIR
| * Autogen: Generate not included moc files in subdirectories (#12873)Sebastian Holtermann2016-04-222-11/+63
| | | | | | | | | | | | | | Not included moc files generated from a source file in CMAKE_CURRENT_SOURCE_DIR/SUBDIR will be generated in the directory CMAKE_CURRENT_BINARY_DIR/TARGETNAME_automoc.dir/SUBDIR/
| * Autogen: Check added for name collisions of generated qrc_NAME.cpp filesSebastian Holtermann2016-04-221-0/+14
| |
| * Autogen: Check added for name collisions of generated ui_NAME.h filesSebastian Holtermann2016-04-221-0/+16
| |
| * Autogen: Check added for name collisions of generated moc filesSebastian Holtermann2016-04-222-0/+74
| | | | | | | | | | The test exits with an error if two or more source files would generate the same moc file.
* | Merge topic 'xcode-c_str'Brad King2016-04-222-55/+54
|\ \ | | | | | | | | | | | | | | | | | | | | | 2263949b cmGlobalXCodeGenerator: do not pass char* to cmSystemTools::CollapseFullPath() 2b25ce30 make cmGlobalXCodeGenerator::XCodeEscapePath() take a std::string& ffedf352 make cmGlobalXCodeGenerator::BuildObjectListOrString::Add() take a string& 6100bdff cmGlobalXCodeGenerator: directly call CreateString() with std::string
| * | cmGlobalXCodeGenerator: do not pass char* to cmSystemTools::CollapseFullPath()Rolf Eike Beer2016-04-201-1/+1
| | | | | | | | | | | | | | | This takes a std::string&, so directly pass the object to it instead of converting back and forth.
| * | make cmGlobalXCodeGenerator::XCodeEscapePath() take a std::string&Rolf Eike Beer2016-04-202-18/+17
| | | | | | | | | | | | | | | All callers already have one, and it was immediately converted to one internally. Just keep the old one around, and only modify it when needed.
| * | make cmGlobalXCodeGenerator::BuildObjectListOrString::Add() take a string&Rolf Eike Beer2016-04-201-5/+5
| | | | | | | | | | | | | | | All callers already have these objects, and it is only passed to other methods taking such, so avoid all conversions in between.
| * | cmGlobalXCodeGenerator: directly call CreateString() with std::stringRolf Eike Beer2016-04-201-33/+33
| | | | | | | | | | | | | | | This function already takes a const std::string&, no need to convert the input to a char* before passing it in.
* | | Merge topic 'addcachedefinitions-convert'Brad King2016-04-221-10/+11
|\ \ \ | | | | | | | | | | | | | | | | 068358e1 cmMakefile::AddCacheDefinition: avoid conversions between char* and string
| * | | cmMakefile::AddCacheDefinition: avoid conversions between char* and stringRolf Eike Beer2016-04-201-10/+11
| |/ / | | | | | | | | | | | | | | | | | | Running the testsuite this function is entered more than 126,000 times. Reorder the code flow so that a conversion from char* to std::string is only done when the cache entry is a path one, which happens only ~50 times during the testsuite.
* | | CMake Nightly Date StampKitware Robot2016-04-221-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2016-04-211-1/+1
|/ /
* | Merge topic 'autogen-cleanups'Brad King2016-04-202-177/+288
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | 840b830b Autogen: Qrc processing: Generate single map with final input / output names bc4c7751 Autogen: Ui processing: Generate single map with final input / output names 47e60bc5 Autogen: Split out UI file generation code to dedicated method cf679ea8 Autogen: Split out moc file generation code to dedicated method 3ea1d090 Autogen: Rename method GenerateQrc{ => Files} 8ced8bb9 Autogen: New logCommand method. It prints commands using std::cout. 95064a6d Autogen: Rename header extension Join method to JoinExts 7a73c404 Autogen: Use SystemTools string functions instead of rolling out own
| * Autogen: Qrc processing: Generate single map with final input / output namesSebastian Holtermann2016-04-192-46/+76
| |
| * Autogen: Ui processing: Generate single map with final input / output namesSebastian Holtermann2016-04-192-18/+42
| | | | | | | | The single map allows name collision testing (in a later commit)
| * Autogen: Split out UI file generation code to dedicated methodSebastian Holtermann2016-04-192-12/+28
| |
| * Autogen: Split out moc file generation code to dedicated methodSebastian Holtermann2016-04-192-54/+107
| |
| * Autogen: Rename method GenerateQrc{ => Files}Sebastian Holtermann2016-04-192-3/+3
| |
| * Autogen: New logCommand method. It prints commands using std::cout.Sebastian Holtermann2016-04-192-21/+25
| |
| * Autogen: Rename header extension Join method to JoinExtsSebastian Holtermann2016-04-192-6/+10
| | | | | | | | While at it, simplify the signature and avoid a trailing separator.
| * Autogen: Use SystemTools string functions instead of rolling out ownSebastian Holtermann2016-04-192-22/+2
| |
* | CMake Nightly Date StampKitware Robot2016-04-201-1/+1
| |
* | CMake Nightly Date StampKitware Robot2016-04-191-1/+1
|/
* Merge topic 'refactor-cmListFileBacktrace'Brad King2016-04-188-238/+253
|\ | | | | | | | | | | | | | | | | 0f96ef00 Remove unused cmake::IssueMessage overload 563bf9dd cmState: Remove unused entry point fields from snapshot data 7c36d206 cmListFileBacktrace: Refactor storage to provide efficient value semantics 1f6bd8a9 cmState: Avoid accumulating snapshot storage for backtraces 18b6676b cmState: Add Snapshot method to get bottom of call stack
| * Remove unused cmake::IssueMessage overloadBrad King2016-04-182-38/+0
| | | | | | | | | | | | All callers now pass a full backtrace so we do not need the alternative that takes a cmListFileContext directly. Drop this overload to remove the code duplication.
| * cmState: Remove unused entry point fields from snapshot dataBrad King2016-04-182-14/+0
| | | | | | | | This information is now kept in cmMakefile::Backtrace.
| * cmListFileBacktrace: Refactor storage to provide efficient value semanticsBrad King2016-04-186-182/+231
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit v3.4.0-rc1~321^2~2 (Genex: Store a backtrace, not a pointer to one, 2015-07-08) we treat cmListFileBacktrace instances as lightweight values. This was true at the time only because the backtrace information was kept in the cmState snapshot hierarchy. However, that forced us to accumulate a lot of otherwise short-lived snapshots just to have the backtrace fields available for reference by cmListFileBacktrace instances. Recent refactoring made backtrace instances independent of the snapshot hierarchy to avoid accumulating short-lived snapshots. This came at the cost of making backtrace values heavy again, leading to lots of string coying and slower execution. Fix this by refactoring cmListFileBacktrace to provide value semantics with efficient shared storage underneath. Teach cmMakefile to maintain its call stack using an instance of cmListFileBacktrace. This approach allows the current backtrace to be efficiently saved whenever it is needed. Also teach cmListFileBacktrace the notion of a file-level scope. This is useful for messages about the whole file (e.g. during parsing) that are not specific to any line within it. Push the CMakeLists.txt scope for each directory and never pop it. This ensures that we always have some context information and simplifies cmMakefile::IssueMessage. Push/pop a file-level scope as each included file is processed. This supersedes cmParseFileScope and improves diagnostic message context information in a few places. Fix the corresponding test cases to expect the improved output.
| * cmState: Avoid accumulating snapshot storage for backtracesBrad King2016-04-154-37/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes during post-3.3/pre-3.4 development refactored storage of most configure-time information, including variable bindings and function scopes. All scopes (even short-lived) were kept persistently for possible future debugging features, causing huge accumulated memory usage. This was mostly addressed by commit v3.4.1~4^2 (cmState: Avoid accumulating snapshot storage for short-lived scopes, 2015-11-24). Since then we still keep short-lived scopes when they are needed for a backtrace. This is because since commit v3.4.0-rc1~378^2 (cmListFileBacktrace: Implement in terms of cmState::Snapshot, 2015-05-29) backtraces have been lightweight objects that simply point into the snapshot tree. While the intention of this approach was to avoid duplicating the call stack file path strings, the cost turned out to be holding on to the entire call stack worth of scope snapshots, which is much worse. Furthermore, since commit v3.4.0-rc2~1^2 (cmIfCommand: Issue CMP0054 warning with appropriate context, 2015-10-20) all conditions used in `if()` commands hold a backtrace for use in diagnostic messages. Even though the backtrace is short-lived it still causes the scope snapshot to be kept. This means that code like function(foo) if(0) endif() endfunction() foreach(i RANGE 1000000) foo() endforeach() accumulates storage for the function call scope snapshots. Fix this by partially reverting commit v3.4.0-rc1~378^2 and saving the entire call stack during cmListFileBacktrace construction. This way we can avoid keeping short-lived scope snapshot storage in all cases.
| * cmState: Add Snapshot method to get bottom of call stackBrad King2016-04-152-0/+16
| | | | | | | | | | The bottom of the call stack is always a long-lived snapshot and can be saved for later use with cmOutputConverter.
* | Merge topic 'minor-cleanups'Brad King2016-04-187-78/+32
|\ \ | |/ | | | | | | | | | | | | | | | | | | 2faa8b36 Add call stack to unused/uninitialized variable warnings da07c506 cmLocalGenerator: Simplify IssueMessage implementation cc7aed77 cmLocalGenerator: Use own IssueMessage method c50285de cmOutputConverter: Assert construction with a valid snapshot b6ed71b1 cmMakefile: Move cmMakefileCall to .cxx file a559f0f6 cmWhileCommand: Simplify context construction 7503deb2 cmIfCommand: Simplify execution context construction