- Apr 13, 2015
-
- Apr 10, 2015
-
-
Brad King authored
-
Brad King authored
The use of "cmake -E touch_nocreate" added in commit v3.2.1~4^2 (Makefile: Fix multiple custom command outputs regression, 2015-03-06) caused builds to fail when one of the outputs is intentionally not created. This was fixed by our parent commit by making touch_nocreate succeed when the file is missing. Add a test case covering it. For the Watcom WMake generator, check for the SYMBOLIC source file property separately on each output. The mark is needed on outputs that are not really created to tell 'wmake' not to complain that it is missing. The mark is also needed on outputs that are created or 'wmake' will not consider them out of date when they exist. Inspired-by: Ben Boeckel <ben.boeckel@kitware.com>
-
Brad King authored
-
- Apr 09, 2015
-
-
Brad King authored
-
Brad King authored
-
Brad King authored
The GNU 3.3 optimizer causes bad behavior in liblzma, so disable it.
-
Brad King authored
Somehow the XL compiler optimizations create incorrect behavior in liblzma and lead to crashes or truncated output during compression.
-
Port upstream LibArchive commit "compute string pointers after concatenation" (2014-09-25) and commit "Move variables to top of function for non-C99 compilers" (2014-11-15) to our CMake copy. Otherwise we may compute a pointer to memory that is about to be freed and then compute a bad size to give to CryptGenRandom. Inspired-by: Tim Kientzle <kientzle@gmail.com>
-
- Apr 01, 2015
- Mar 26, 2015
-
-
Brad King authored
-
Brad King authored
Our Windows API header checks are conditioned on if(NOT UNIX) but libarchive checks HAVE_WINDOWS_H anyway so the result leaks into the cache and influenes the curl build. Set the check results to false explicitly for curl when not on Windows to tolerate this. Reported-by: Vyacheslav Karpukhin <Vyacheslav.Karpukhin@jetbrains.com>
-
Brad King authored
-
Brad King authored
-
Brad King authored
Replace an old hack of the form 'if("${VAR}" MATCHES "^${VAR}$")' with the much simpler 'if(NOT DEFINED ${VAR})'. This was exposed by a CMP0054 warning.
-
- Mar 25, 2015
-
-
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>
-
- Mar 10, 2015
-
- Mar 09, 2015
-
-
Brad King authored
-
Brad King authored
Protect against variables named "CSHARP", "PERL", "PYTHON", or "UNKNOWN" when CMP0054 is not set to NEW. Reported-by: Tuukka Pasanen <tuukka@iocaste.ilmi.fi>
-
Brad King authored
-
Brad King authored
Simply check for whether the local generator has a parent instead of depending on a string comparison of directory names.
-
Brad King authored
-
Brad King authored
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.
-
Brad King authored
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.
-
- Mar 06, 2015
-
-
Brad King authored
-
Brad King authored
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.
-
- Mar 03, 2015
-
- Mar 02, 2015
-
-
Brad King authored
-
On some stream libraries failbit is not set when trying to read past EOF. Instead, always exit the copy loop when gcount() is zero.
-
- Feb 28, 2015
- Feb 27, 2015
- Feb 26, 2015
-
-
Brad King authored
-
Avoid a separate open/close for each file installed. Use a single file(WRITE) instead of a loop with file(APPEND).
-
- Feb 24, 2015
- Feb 23, 2015
-
-
Brad King authored
-
- Feb 20, 2015
-
-
Brad King authored
-