Commit Graph

31526 Commits

Author SHA1 Message Date
Sebastian Holtermann 9b58190c8f Autogen: Message cleanups: Compose messages in std::stringstream
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.
2016-04-25 10:38:58 -04:00
Kitware Robot 657a446175 CMake Nightly Date Stamp 2016-04-25 00:01:04 -04:00
Kitware Robot 4417f91379 CMake Nightly Date Stamp 2016-04-24 00:01:05 -04:00
Kitware Robot 38d1c67c4d CMake Nightly Date Stamp 2016-04-23 00:01:05 -04:00
Brad King eadc6db82e Merge topic 'fix-bison-flex-command-escaping'
fd73bb60 Help: Add notes for topic 'fix-bison-flex-command-escaping'
f56a0ddd FindBISON: Fix BISON_TARGET macro for special characters in path (#16072)
3d13492e FindFLEX: Fix FLEX_TARGET macro for special characters in path (#16072)
2016-04-22 09:02:08 -04:00
Brad King 76e793b9ad Merge topic 'autogen-updates'
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
2016-04-22 09:02:03 -04:00
Brad King eb87407068 Merge topic 'xcode-c_str'
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
2016-04-22 09:01:33 -04:00
Brad King e5a9a437fb Merge topic 'addcachedefinitions-convert'
068358e1 cmMakefile::AddCacheDefinition: avoid conversions between char* and string
2016-04-22 09:01:22 -04:00
Sebastian Holtermann 84946c735c Tests: QtAutogen: Same source name in different directories test
The test features multiple .cpp and .qrc files with the same name
in different subdirectories. This requires AUTOMOC and AUTORCC to
generate files with names that respect the path information of
the source files.
2016-04-22 08:55:44 -04:00
Sebastian Holtermann 9c6fa684e7 Autogen: Generate qrc_NAME.cpp files in subdirectories
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
2016-04-22 08:54:25 -04:00
Sebastian Holtermann 488ea8c709 Autogen: Generate not included moc files in subdirectories (#12873)
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/
2016-04-22 08:49:22 -04:00
Sebastian Holtermann 66caae45f6 Autogen: Check added for name collisions of generated qrc_NAME.cpp files 2016-04-22 08:49:22 -04:00
Sebastian Holtermann 663d093d45 Autogen: Check added for name collisions of generated ui_NAME.h files 2016-04-22 08:49:21 -04:00
Sebastian Holtermann 8295d43713 Autogen: Check added for name collisions of generated moc files
The test exits with an error if two or more source files
would generate the same moc file.
2016-04-22 08:49:21 -04:00
Brad King d350308af6 Help: Improve AUTOMOC documentation layout 2016-04-22 08:46:10 -04:00
Kitware Robot 02f663f15c CMake Nightly Date Stamp 2016-04-22 00:01:05 -04:00
Kitware Robot 9b5929da22 CMake Nightly Date Stamp 2016-04-21 00:01:05 -04:00
Rolf Eike Beer 2263949b78 cmGlobalXCodeGenerator: do not pass char* to cmSystemTools::CollapseFullPath()
This takes a std::string&, so directly pass the object to it instead of
converting back and forth.
2016-04-20 23:35:01 +02:00
Rolf Eike Beer 2b25ce30ca make cmGlobalXCodeGenerator::XCodeEscapePath() take a std::string&
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.
2016-04-20 23:35:01 +02:00
Rolf Eike Beer ffedf3527d make cmGlobalXCodeGenerator::BuildObjectListOrString::Add() take a string&
All callers already have these objects, and it is only passed to other methods
taking such, so avoid all conversions in between.
2016-04-20 23:34:57 +02:00
Rolf Eike Beer 6100bdff38 cmGlobalXCodeGenerator: directly call CreateString() with std::string
This function already takes a const std::string&, no need to convert the input
to a char* before passing it in.
2016-04-20 23:34:05 +02:00
Rolf Eike Beer 068358e1ed cmMakefile::AddCacheDefinition: avoid conversions between char* and string
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.
2016-04-20 23:33:17 +02:00
Brad King fd73bb601a Help: Add notes for topic 'fix-bison-flex-command-escaping' 2016-04-20 13:22:47 -04:00
Brad King f56a0ddd28 FindBISON: Fix BISON_TARGET macro for special characters in path (#16072)
Use the VERBATIM option to add_custom_command so that the command is
escaped correctly.
2016-04-20 13:19:31 -04:00
Brad King 3d13492eac FindFLEX: Fix FLEX_TARGET macro for special characters in path (#16072)
Use the VERBATIM option to add_custom_command so that the command is
escaped correctly.
2016-04-20 13:18:56 -04:00
Brad King 484958b781 Merge topic 'coverage_collect_delete'
5de122df CTestCoverageCollectGCOV: improve DELETE option
2016-04-20 09:52:41 -04:00
Brad King 0d4c75ecfb Merge topic 'boost-import-default'
2c1b720e FindBoost: Define Boost::boost for all boost versions
2016-04-20 09:52:38 -04:00
Brad King 2ecadc96bc Merge topic 'BundleUtilities-optional-exclude'
26c92d50 BundleUtilities: Add optional parameter to ignore specified files
2016-04-20 09:52:36 -04:00
Brad King f223652790 Merge topic 'autogen-cleanups'
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
2016-04-20 09:52:34 -04:00
Kitware Robot 0a05b2bd41 CMake Nightly Date Stamp 2016-04-20 00:01:05 -04:00
Roger Leigh 2c1b720e64 FindBoost: Define Boost::boost for all boost versions 2016-04-19 22:07:45 +01:00
Roman Wüger 26c92d50fd BundleUtilities: Add optional parameter to ignore specified files 2016-04-19 13:20:15 -04:00
Zack Galbreath 5de122dfa4 CTestCoverageCollectGCOV: improve DELETE option
The DELETE option to ctest_coverage_collect_gcov now properly
removes all the .gcov files that were created by this function.
Previously it left behind any files that were excluded by
CTEST_CUSTOM_COVERAGE_EXCLUDE.

This option now also deletes the following files/directory that
are created by ctest_coverage_collect_gcov:
  data.json
  coverage_file_list.txt
  the uncovered/ directory
2016-04-19 13:19:10 -04:00
Sebastian Holtermann 840b830bc6 Autogen: Qrc processing: Generate single map with final input / output names 2016-04-19 12:59:13 -04:00
Sebastian Holtermann bc4c7751ab Autogen: Ui processing: Generate single map with final input / output names
The single map allows name collision testing (in a later commit)
2016-04-19 12:59:06 -04:00
Sebastian Holtermann 47e60bc5a0 Autogen: Split out UI file generation code to dedicated method 2016-04-19 12:52:36 -04:00
Sebastian Holtermann cf679ea8dc Autogen: Split out moc file generation code to dedicated method 2016-04-19 12:51:26 -04:00
Sebastian Holtermann 3ea1d09082 Autogen: Rename method GenerateQrc{ => Files} 2016-04-19 12:49:47 -04:00
Sebastian Holtermann 8ced8bb95a Autogen: New logCommand method. It prints commands using std::cout. 2016-04-19 12:49:22 -04:00
Sebastian Holtermann 95064a6d35 Autogen: Rename header extension Join method to JoinExts
While at it, simplify the signature and avoid a trailing separator.
2016-04-19 12:48:05 -04:00
Sebastian Holtermann 7a73c404dd Autogen: Use SystemTools string functions instead of rolling out own 2016-04-19 12:44:08 -04:00
Kitware Robot 7d4c99a957 CMake Nightly Date Stamp 2016-04-19 00:01:05 -04:00
Brad King fa4ae9fb12 Merge topic 'refactor-cmListFileBacktrace'
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
2016-04-18 11:07:07 -04:00
Brad King ef713503c8 Merge topic 'minor-cleanups'
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
2016-04-18 11:07:04 -04:00
Brad King 0f96ef00cb Remove unused cmake::IssueMessage overload
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.
2016-04-18 09:21:19 -04:00
Brad King 563bf9dd8a cmState: Remove unused entry point fields from snapshot data
This information is now kept in cmMakefile::Backtrace.
2016-04-18 09:21:19 -04:00
Brad King 7c36d2067b cmListFileBacktrace: Refactor storage to provide efficient value semantics
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.
2016-04-18 09:21:19 -04:00
Brad King 0256ea55ab Merge topic 'cmPolicies-missing-include'
cc684857 cmPolicies.cxx: Add missing include <ctype.h> for isdigit (#16066)
2016-04-18 08:57:37 -04:00
Brad King de3c7bd799 Merge topic 'AddDocumentationForEclipseVariables'
7b3a1069 Help: Document Eclipse-generator related variables (#15827)
2016-04-18 08:57:32 -04:00
Brad King f5c8a46808 Merge topic 'cmake-host-solaris'
5dc6cfd6 Solaris: Add a CMAKE_HOST_SOLARIS variable (#16061)
2016-04-18 08:57:29 -04:00