23915 Commits

Author SHA1 Message Date
Brad King
76425a6219 Merge topic 'rc-windres-with-dot'
7147ed5c CMakeRCInformation: Recognize 'windres' tools with '.' in name (#14865)
db924e00 CMakeRCInformation: Do not mention 'Fortran' in documentation
2014-04-11 09:13:09 -04:00
Brad King
0c08da9912 Merge topic 'watcom-link-quoting'
cb9b1e13 Watcom: Use single quote for all file/path items in wlink command
2014-04-11 09:13:07 -04:00
Brad King
7147ed5ce4 CMakeRCInformation: Recognize 'windres' tools with '.' in name (#14865)
A 64-bit MinGW windres is named "i686-w64-mingw32.shared-windres".  The
get_filename_component NAME_WE mode may strip the ".shared-windres" part
and cause the result to no longer contain "windres".  Instead, match the
"windres" name in the full CMAKE_RC_COMPILER value first, and use the
get_filename_component code path only for other resource compilers.
2014-04-11 09:10:56 -04:00
Brad King
db924e00b4 CMakeRCInformation: Do not mention 'Fortran' in documentation
This module is for the Windows Resource Compiler, not Fortran.
2014-04-11 09:10:56 -04:00
Kitware Robot
6736b3e746 CMake Nightly Date Stamp 2014-04-11 00:01:09 -04:00
Brad King
5c63c13190 Merge topic 'install-prefix-in-interface'
783bce29 Export: Disallow exported interface includes in src/build tree (#14592).
c869984e RunCMake: Allow specifying the source dir and file to test.
2014-04-10 09:53:13 -04:00
Brad King
e983ed7c9a Merge topic 'suppress-warning-in-comment'
a9fe65c3 cmSystemTools: Remove unreachable return on HP compiler
72e137ea Re-word comment on unreachable return statements
2014-04-10 09:53:11 -04:00
Brad King
9ac73a8c03 Merge topic 'update-kwsys'
f401b925 Merge branch 'upstream-kwsys' into update-kwsys
c54be583 KWSys 2014-04-07 (8b085635)
2014-04-10 09:53:10 -04:00
Brad King
5e6f279411 Merge topic 'aix-compile'
539b6c58 Fix build on AIX failing because of access to string elements
2014-04-10 09:53:08 -04:00
Brad King
2a326fa65f Merge topic 'ExternalProject_VCS-quiet'
2dad1c14 ExternalProject: Find VCS packages quietly
2014-04-10 09:53:07 -04:00
Brad King
c590889310 Merge topic 'optimize-source-file-processing'
4f1c71fd cmTarget: Add all sources traced from custom commands at once.
b1c3ae33 cmTarget: Short-circuit language computation if context independent.
2014-04-10 09:53:05 -04:00
Brad King
2420a85a8d Merge branch 'release' 2014-04-10 09:28:29 -04:00
Kitware Robot
22018b6e93 CMake Nightly Date Stamp 2014-04-10 00:01:06 -04:00
Stephen Kelly
783bce295b Export: Disallow exported interface includes in src/build tree (#14592).
Allow directories in the source tree or build tree only if the
install tree is a subdirectory of the source tree or build tree,
as appropriate.

Re-use the test files in the RunCMake.include_directories test
to run in multiple scenarios.  Bump the required CMake version
in the test to 3.0 to ensure that the new policy warnings are
emitted correctly.
2014-04-09 10:38:49 +02:00
Stephen Kelly
4f1c71fdd2 cmTarget: Add all sources traced from custom commands at once.
The AddSource method accepts one file and tries to avoiding adding
it to the sources-list of the target if it already exists.  This
involves creating many cmSourceFileLocation objects for matching
on existing files, which is an expensive operation.

Avoid the searching algorithm by appending the new sources as one
group.  Generate-time processing of source files will ensure
uniqueness.

Add a new AddTracedSources for this purpose.  The existing
AddSources method must process the input for policy CMP0049, but
as these source filenames come from cmSourceFile::GetFullPath(),
we can forego that extra processing.
2014-04-09 10:37:00 +02:00
Stephen Kelly
b1c3ae33ea cmTarget: Short-circuit language computation if context independent.
Computing the language involves computing the source files, which
is an expensive operation.  It requires calling
cmMakefile::GetOrCreateSource many times, which involves creating
and matching on many cmSourceFileLocation objects.

Source files of a target may depend on the head-target and the
config as of commit e6971df6 (cmTarget: Make the source files depend
on the config., 2014-02-13).  The results are cached for each context
as of commit c5b26f3b (cmTarget: Cache the cmSourceFiles in
GetSourceFiles., 2014-04-05).

Each target in the build graph causes language computation of all
of its dependents with itself as the head-target.  This means that
for 'core' libraries on which everything depends, the source files
are computed once for every transitive target-level-dependee and
the result is not cached because the head-target is different. This
was observed in the VTK buildsystem.

Short circuit the computation for targets which have a source-list
that is independent of the head-target.  If the source-list has
already been computed and the generator expression evaluation
reports that it was context-independent, return the only source-list
already cached for the target.  Reset the short-circuit logic when
sources are added and when the link libraries are re-computed.
2014-04-09 10:37:00 +02:00
Kitware Robot
8512bb4fff CMake Nightly Date Stamp 2014-04-09 00:01:06 -04:00
Jiri Malak
cb9b1e13e4 Watcom: Use single quote for all file/path items in wlink command
Watcom Linker use single quote if necessary for quoting target name,
libraries names and libraries search path.  Object names were already
fixed.
2014-04-08 13:28:54 -04:00
Brad King
f401b925cf Merge branch 'upstream-kwsys' into update-kwsys 2014-04-08 13:06:14 -04:00
KWSys Robot
c54be58309 KWSys 2014-04-07 (8b085635)
Extract upstream KWSys using the following shell commands.

$ git archive --prefix=upstream-kwsys/ 8b085635 | tar x
$ git shortlog --no-merges --abbrev=8 --format='%h %s' 39f98b5d..8b085635
Rolf Eike Beer (2):
      a99a9235 set the compile flags for older HP compilers to fix compilation
      8b085635 MD5: avoid casting back and forth between size_t and int

Change-Id: I6386b521dbaba2e4f9ed5b2be34a504b9c17fc36
2014-04-08 13:06:10 -04:00
Brad King
a9fe65c316 cmSystemTools: Remove unreachable return on HP compiler
Follow up commit 1de08685 (cmSystemTools: Restore unreachable return to
silence warnings, 2014-04-02) by excluding the unreachable return on the
HP compiler as well as Clang.  Both recognize that it is unreachable and
warn.
2014-04-08 08:48:08 -04:00
Kitware Robot
9b1abc543e CMake Nightly Date Stamp 2014-04-08 00:01:05 -04:00
Brad King
7f7d6a4030 Merge topic 'optimize-source-file-processing'
a4e6bf8e cmTarget: Make GetSourceFiles string overload private.
92e2fbe1 cmGeneratorTarget: Trace cmSourceFile objects instead of strings.
c5b26f3b cmTarget: Cache the cmSourceFiles in GetSourceFiles.
eb163f37 cmTarget: Extract a ProcessSourceItemCMP0049 method.
19b7c22d Ninja: Query custom commands once per target, not once per file.
2014-04-07 10:14:23 -04:00
Brad King
72e137ea7d Re-word comment on unreachable return statements
Do not use the word "warning" in the comment because CTest launchers
match it and CTestCustom.cmake.in does not suppress it.
2014-04-07 10:10:04 -04:00
Kitware Robot
4023bd7b11 CMake Nightly Date Stamp 2014-04-07 00:01:06 -04:00
Stephen Kelly
c869984ea0 RunCMake: Allow specifying the source dir and file to test.
This will allow decoupling the name of the test from the name and
location of the source file under test, which means one source
file can be used for multiple tests.

Rename the PARENT_SCOPE test in RunCMake.set to not use a keyword
of the if() command as a file name.  As the filename is now used
with an if condition, this causes a conflict.
2014-04-06 23:58:35 +02:00
Stephen Kelly
a4e6bf8e36 cmTarget: Make GetSourceFiles string overload private.
Consumers should use the cmSourceFile overload, which is now
always the case.
2014-04-06 10:02:34 +02:00
Stephen Kelly
92e2fbe103 cmGeneratorTarget: Trace cmSourceFile objects instead of strings.
This reverses the decision in commit d38423ec (cmTarget: Add a
method to obtain list of filenames for sources., 2014-03-17).  The
cmSourceFile based API is preferred because that avoids creation of
many cmSourceFileLocation objects for matching strings, and the
result is cached by cmTarget.
2014-04-06 10:02:34 +02:00
Stephen Kelly
c5b26f3bec cmTarget: Cache the cmSourceFiles in GetSourceFiles.
Avoid calling GetSourceFiles with the same result container multiple
times when tracing target dependencies.  The result from the previous
configuration is cached and used later otherwise.
2014-04-06 10:02:34 +02:00
Stephen Kelly
eb163f37d4 cmTarget: Extract a ProcessSourceItemCMP0049 method.
Avoid calling AddSource for each src filename.  That involves
checking each entry for uniqueness and creating a separate
generator expression for each one.

Instead, add a single entry for the list of sources.  The source
files are passed through a uniqueness filter at generate-time, so
duplicates don't matter so much.
2014-04-06 10:02:34 +02:00
Kitware Robot
e6aace96eb CMake Nightly Date Stamp 2014-04-06 00:01:08 -04:00
Stephen Kelly
19b7c22d02 Ninja: Query custom commands once per target, not once per file.
Computing the source files is now more expensive, so the Ninja
generator became very slow with a large number of files.
2014-04-05 14:22:48 +02:00
Kitware Robot
d5a32737cf CMake Nightly Date Stamp 2014-04-05 00:01:06 -04:00
Rolf Eike Beer
539b6c58f5 Fix build on AIX failing because of access to string elements
The compilation failed with this error message:

.../Source/cmCryptoHash.cxx: In method `string cmCryptoHash::HashString (const string &)':
.../Source/cmCryptoHash.cxx:41: non-lvalue in unary `&'

This was introduced in 77f60392d93f41a8828d3db1d7b76d45f1535d07 (stringapi:
Accept strings when MD5 hashing data).
2014-04-04 23:25:33 +02:00
Brad King
a02c30c294 Merge topic 'hpux-compile'
be53734d CompileFlags: Add -AA +hpxstd98 on HP-UX 11.11 with aCC
f4b9c6bb CompileFlags: Test for C++ features after selecting flags
2014-04-04 13:33:37 -04:00
Rolf Eike Beer
be53734d3c CompileFlags: Add -AA +hpxstd98 on HP-UX 11.11 with aCC
These flags are needed to enable support for C++98.  Also teach the
'bootstrap' script to add them if necessary.
2014-04-04 13:31:28 -04:00
Rolf Eike Beer
f4b9c6bbeb CompileFlags: Test for C++ features after selecting flags
Some flags we select may affect availability of C++ features.
2014-04-04 13:30:25 -04:00
Brad King
a43d82dca4 Merge topic 'fix-CTestTestFailedSubmit-ftp-for-osx-system-curl'
63d864a0 Tests: Fix CTestTestFailedSubmit-ftp with OS X system libcurl
2014-04-04 11:38:10 -04:00
Brad King
079153e98e Merge topic 'compiler-warning-cleanup'
6c190245 Remove extra semicolons from C++ code.
4bef02e7 cmTypeMacro: Add a class to eat the semicolon following the macro use.
ff710539 Remove default labels from fully covered switch statements.
2014-04-04 11:38:06 -04:00
Brad King
aeb930fcce Merge topic 'remove-stray-aborts'
c4059a21 cmTarget: Remove abort() after INTERNAL_ERROR reports
2014-04-04 11:38:04 -04:00
Brad King
1dc59debcc Merge topic 'Qt4Macros-moc-performance'
7beba986 Qt4Macros: Make QT4_CREATE_MOC_COMMAND a function
2014-04-04 11:38:02 -04:00
Brad King
84487e9159 Merge topic 'update-kwsys'
23b4abb2 Merge branch 'upstream-kwsys' into update-kwsys
eccc425a KWSys 2014-04-02 (39f98b5d)
2014-04-04 11:38:01 -04:00
Brad King
4a227d280b Merge topic 'cmMakefile_IsOn_fix_comment'
a40f57e4 cmMakefile: Revise comment describing IsOn()
2014-04-04 11:37:59 -04:00
Daniele E. Domenichelli
a40f57e485 cmMakefile: Revise comment describing IsOn() 2014-04-04 11:36:14 -04:00
Daniele E. Domenichelli
2dad1c143c ExternalProject: Find VCS packages quietly
This keeps the VCS packages out from FeatureSummary output, unless
the INCLUDE_QUIET_PACKAGES is used.
2014-04-04 13:27:50 +02:00
Kitware Robot
ce0aae7039 CMake Nightly Date Stamp 2014-04-04 00:01:07 -04:00
Alex Ciobanu
63d864a026 Tests: Fix CTestTestFailedSubmit-ftp with OS X system libcurl
On OS X 10.9 the system libcurl has a different error message when
failing to connect:

  Failed connect to :21; Connection refused

Match this message to pass the test.
2014-04-03 16:48:37 -04:00
Brad King
bc0e9806d7 Merge topic 'ExternalProject_exclude-from-all'
f4fe6322 Help: Add notes for topic 'ExternalProject_exclude-from-all'
2014-04-03 15:56:40 -04:00
Stephen Kelly
6c19024570 Remove extra semicolons from C++ code.
Clang based tools running over the code complain about these,
but clang has a fixit for removing them.
2014-04-03 21:53:14 +02:00
Stephen Kelly
4bef02e7aa cmTypeMacro: Add a class to eat the semicolon following the macro use.
Apply the same workaround to the cmCPackTypeMacro. Additionally
change that macro to not use 'class' as a macro parameter.
2014-04-03 21:53:13 +02:00