26896 Commits

Author SHA1 Message Date
Brad King
dc311f5f9d Merge branch 'file-LOCK-close' into release 2015-03-26 09:02:48 -04:00
Betsy McPhail
1f289095f9 file(LOCK): Close file descriptor/handle when releasing a lock
The file lock functionality added in commit v3.2.0-rc1~297^2~1 (file:
Add LOCK subcommand to do file and directory locking, 2014-11-26) forgot
to close the lock file descriptors.  Eventually it was possible to run
out of file descriptors and locks could not longer be acquired.  Fix
this by closing the file descriptor or handle when we are done with it.
Also set the member back to the initial value from the constructor
to leave everything in a consistent state (useful for debugging).

Co-Author: Ruslan Baratov <ruslan_baratov@yahoo.com>
2015-03-25 09:00:51 -04:00
Brad King
732d8a467a CMake 3.2.1 2015-03-10 09:15:35 -04:00
Brad King
0fe4cce22f Merge branch 'UseSWIG-fix-CMP0054-warnings' into release 2015-03-09 16:38:49 -04:00
Brad King
458c9e95de UseSWIG: Avoid if() auto-dereferene in quoted arguments
Protect against variables named "CSHARP", "PERL", "PYTHON", or "UNKNOWN"
when CMP0054 is not set to NEW.

Reported-by: Tuukka Pasanen <tuukka@iocaste.ilmi.fi>
2015-03-09 16:35:08 -04:00
Brad King
244e3d0fc9 Merge branch 'ninja-check-root-robustly' into release 2015-03-09 13:37:15 -04:00
Brad King
a6b0908571 Ninja: Improve internal check for generating at the top-level (#15436)
Simply check for whether the local generator has a parent instead of
depending on a string comparison of directory names.
2015-03-09 13:36:46 -04:00
Brad King
77f3804ab2 Merge branch 'configure_file-NEWLINE_STYLE-no-warn' into release 2015-03-09 09:20:58 -04:00
Brad King
024e25e485 Tests: Add more signature tests to RunCMake.configure_file test
Move the test cases from Tests/CMakeTests/ConfigureFileTest.cmake.in
over to use the RunCMake.configure_file infrastructure.  This does much
more robust verification of CMake output for each test case, and would
have caught the regression fixed in our parent commit.
2015-03-09 09:17:59 -04:00
Brad King
3ef776fc38 configure_file: Do not warn about newline style arguments
The unknown argument warning added by commit v3.2.0-rc1~452^2
(configure_file: Warn about unknown arguments, 2014-10-31) failed to
account for options handled by the NewLineStyle member instead of
directly in the main loop.  Simply whitelist them for now.
2015-03-09 09:17:59 -04:00
Brad King
cc1ee21383 Merge branch 'custom-command-multiple-outputs' into release 2015-03-06 20:00:42 -05:00
Brad King
66a9c90c4b Makefile: Fix multiple custom command outputs regression (#15116)
In commit v3.2.0-rc1~272^2~2 (Makefile: Fix rebuild with multiple custom
command outputs, 2014-12-05) we changed the generated makefile pattern
for multiple outputs from

  out1: depends...
          commands...
  out2: out1

to

  out1 out2: depends...
          commands...

This was based on the incorrect assumption that make tools would treat
this as a combined output rule and run the command(s) exactly once for
them.  It turns out that instead this new pattern is equivalent to

  out1: depends...
          commands...
  out2: depends...
          commands...

so the commands may be run more than once.

Some documents suggest using a "dedicated witness" stamp file:

  stamp: depends...
          rm -f stamp
          touch stamp.tmp
          commands...
          mv stamp.tmp stamp
  out1 out2: stamp

However, if the commands fail the error message will refer to the stamp
instead of any of the real outputs, which may be confusing to readers.
Also, this approach seems to have the same behavior of the original
approach that motiviated the above commit: multiple invocations are
needed to bring consumers of the outputs up to date.

Instead we can return to the original approach but add an explicit
touch to each extra output rule:

  out1: depends...
          commands...
  out2: out1
          touch -c out2

This causes make tools to recognize that all outputs have changed and
therefore to execute any commands that consume them.
2015-03-06 19:58:30 -05:00
Brad King
a49a467fd0 CMake 3.2.0 2015-03-03 08:38:36 -05:00
Brad King
eb3bced50f Merge branch 'backport-KWSys-SystemTools-CopyFileAlways-fix' into release 2015-03-02 08:55:21 -05:00
Paul Martin
b8ea771b13 KWSys SystemTools: Update CopyFileAlways stream library workarounds
On some stream libraries failbit is not set when trying to read past
EOF.  Instead, always exit the copy loop when gcount() is zero.
2015-03-02 08:55:13 -05:00
Brad King
6b6852a0eb Merge branch 'fix-crash-on-bad-LANG_STANDARD' into release 2015-02-28 12:15:34 -05:00
Brad King
00d66557d4 Diagnose invalid <LANG>_STANDARD value instead of crashing (#15426) 2015-02-28 12:14:42 -05:00
Brad King
4932f59b4c Merge branch 'cpack_rpm_mulit_prefix_fixup' into release 2015-02-27 08:48:45 -05:00
Domen Vrankar
1cbb156253 CPackRPM: Fix handling of relocation prefix parent directories
In commit 3ec02547 (CPackRPM: Allow multiple path relocation prefixes
for one package, 2015-01-21) a regression was introduced that causes
parent directories of relocation paths to be incorrectly included in
the rpm.  Fix this and make the test case more strict to cover it.
2015-02-27 08:37:24 -05:00
Brad King
693a944736 Merge branch 'install-manifest-optimize' into release 2015-02-26 15:06:00 -05:00
Robert Goulet
c48141744e install: Write the entire installation manifest at once
Avoid a separate open/close for each file installed.  Use a single
file(WRITE) instead of a loop with file(APPEND).
2015-02-26 15:04:07 -05:00
Brad King
cd935b03bf Merge branch 'sln-no-bom' into release 2015-02-24 13:32:05 -05:00
Brad King
987d4a1240 VS: Do not generate a BOM in .sln files
Revert commit v3.2.0-rc1~165^2 (Encoding:  Write Visual Studio solution
file with BOM, 2014-12-26).  The BOM breaks the VS IDE version selector
when loading the .sln from Windows Explorer.
2015-02-24 13:30:50 -05:00
Brad King
99575c9ac1 CMake 3.2.0-rc2 2015-02-23 11:10:12 -05:00
Brad King
d95d4c2c77 Merge branch 'FindCurses-remove-unused-check' into release 2015-02-20 08:42:35 -05:00
Brad King
b4005a3ad9 FindCurses: Drop unused check for cbreak in tinfo library
This check was first added by commit v3.0.0-rc5~6^2 (FindCurses: Detect
and satisfy ncurses dependency on tinfo, 2014-01-17), but it is not
correctly conditioned on existence of the tinfo library and fails if the
code path is taken but tinfo is not found.  However, since commit
v3.2.0-rc1~369^2 (FindCurses: Drop search for deprecated HP-UX cur_colr
library, 2014-11-17) the result of the check is not used, so simply drop
it.
2015-02-20 08:41:36 -05:00
Brad King
57d4e1c776 Merge branch 'private-FindJsonCpp' into release 2015-02-20 08:33:03 -05:00
Brad King
a41d621d30 bootstrap: Add --(no-)system-jsoncpp options
Provide bootstrap-time control for using a system JsonCpp library.
2015-02-20 08:28:03 -05:00
Brad King
a576844263 FindJsonCpp: Drop new module due to upstream jsoncpp providing package
Since jsoncpp 0.7.0 (2014-11-20) the upstream may provide a CMake
package configuration file such that find_package(jsoncpp) will find a
jsoncppConfig.cmake file.  In order to avoid conflicting with this
(especially on case-insensitive filesystems), and since we always prefer
projects to provide package config files (that they maintain), it is
better to not provide FindJsonCpp publicly.

Move FindJsonCpp into a private source directory that is not installed
so that we can still use it for building CMake itself.

Reported-by: Ryan Pavlik <ryan.pavlik@gmail.com>
2015-02-20 08:22:02 -05:00
Brad King
20f64bd2da Merge branch 'cmake-gui-reset-generator-toolset-and-platform' into release 2015-02-19 09:19:57 -05:00
Brad King
1ade687d8d cmake-gui: Reset generator platform and toolset on configure (#15411)
At the start of each configure step we already reset the generator
selection (CMAKE_GENERATOR) to match that loaded for the current
project.  Add missing code to reset the generator platform and toolset
(CMAKE_GENERATOR_PLATFORM and CMAKE_GENERATOR_TOOLSET) also so that they
do not leak across projects.
2015-02-19 09:14:38 -05:00
Brad King
05e4fc6b2a Merge branch 'binary-release-no-OpenSSL-on-Win-or-OSX' into release 2015-02-18 09:30:29 -05:00
Brad King
7e6608fe64 Utilities/Release: Build OS X and Win binaries without OpenSSL
This will tell our curl to use the OS-native TLS/SSL APIs.
2015-02-18 09:29:50 -05:00
Brad King
8371cd7893 Merge branch 'FindJNI-awt-arch' into release 2015-02-18 09:20:24 -05:00
Tiago Stürmer Daitx
bce4e20f78 FindJNI: Add arch-specific library dir for JDK 9 layout (#15408)
JDK9's directory structure changes and no jdk/jre exists.  The arch
lib path is now jdk/lib/<arch> (instead of jdk/jre/lib/<arch>).
2015-02-18 09:19:17 -05:00
Brad King
9457bf9f40 Merge branch 'doc-3.2-relnotes-fixup' into release 2015-02-13 13:49:50 -05:00
Brad King
6d19ef9b7c Help: In 3.2 relnotes move OpenGL/X11 to deprecated/removed section
It is a possibly incompatible change.
2015-02-13 13:45:15 -05:00
Brad King
481ec779ab Merge branch 'doc-configure_file-output-location' into release 2015-02-12 16:22:15 -05:00
Brad King
029d38fa61 Help: Revise configure_file documentation (#15403)
Format the documentation with better reST markup.  Revise the
wording to clarify how relative paths are handled.  Also add
an example section.
2015-02-12 16:20:32 -05:00
Brad King
da92cdab52 Merge branch 'cpack_rpm_mulit_prefix_fixup' into release 2015-02-11 11:08:37 -05:00
Brad King
a4568ca597 Merge branch 'FindCoin3D-drop-link' into release 2015-02-11 11:08:32 -05:00
Brad King
e2a8984c06 FindCoin3D: Drop link to project homepage
The project has moved from <http://www.coin3d.org/> to
<https://bitbucket.org/Coin3D/coin/wiki/Home>.  Simply drop the
out-dated link.  Few find modules have links to the project sites.
Anyone looking to use a given find module likely already knows about the
project it finds and can use a search engine to find its homepage.
2015-02-11 11:05:55 -05:00
Domen Vrankar
be36bfd65d CPackRPM: Do not run file(GLOB_RECURSE) without CMP0009 set to NEW
The file(GLOB_RECURSE) call added by commit 3ec02547 (CPackRPM: Allow
multiple path relocation prefixes for one package, 2015-01-21) should
not follow directory symlinks, so make sure CMP0009 is set to NEW.
2015-02-11 09:56:27 -05:00
Brad King
0a95c5ce2e Merge branch 'fix_timeout_docs' into release 2015-02-10 12:59:32 -05:00
Zack Galbreath
56cb4a6c3a Help: Fix variable reference in TIMEOUT test property docs
Link to 'CTEST_TEST_TIMEOUT', not 'CTEST_TESTING_TIMEOUT'.
2015-02-10 12:58:01 -05:00
Brad King
f3a6e0cb6a Merge branch 'bootstrap-sphinx-qthelp' into release 2015-02-10 10:07:35 -05:00
Nuno Sucena Almeida
85fd62ee91 bootstrap: Add --sphinx-qthelp option to enable qthelp doc generation 2015-02-10 10:03:10 -05:00
Brad King
001cd08187 Merge branch 'makefile-missing-comment' into release 2015-02-10 09:46:23 -05:00
Brad King
0b8d9581c0 Merge branch 'cpack_rpm_mulit_prefix_fixup' into release 2015-02-10 09:46:12 -05:00
Domen Vrankar
3d99355b11 CPackRPM: Fix recognition of absolute relocation paths
Fix typo in logic added by commit 3ec02547 (CPackRPM: Allow multiple
path relocation prefixes for one package, 2015-01-21).
2015-02-10 09:41:37 -05:00