summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* CMake 3.2.2v3.2.2Brad King2015-04-131-1/+1
|
* Merge branch 'custom-command-multiple-outputs' into releaseBrad King2015-04-105-31/+130
|\
| * Makefile: Fix multiple custom command outputs with one missingBrad King2015-04-104-26/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * KWSys SystemTools: Teach Touch with !create to succeed on missing fileBrad King2015-04-101-5/+12
| |
* | Merge branch 'fix-libarchive-mktemp' into releaseBrad King2015-04-091-3/+5
|\ \
| * | libarchive: Fix string concatentation in Windows mktemp implementationTim Kientzle2015-04-091-3/+5
| |/ | | | | | | | | | | | | | | | | | | 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>
* | Merge branch 'fix-liblzma-optimize' into releaseBrad King2015-04-091-0/+10
|\ \
| * | liblzma: Disable GNU 3.3 compiler optimizationsBrad King2015-04-091-0/+4
| | | | | | | | | | | | The GNU 3.3 optimizer causes bad behavior in liblzma, so disable it.
| * | liblzma: Disable XL compiler optimizationsBrad King2015-04-091-0/+6
| | | | | | | | | | | | | | | Somehow the XL compiler optimizations create incorrect behavior in liblzma and lead to crashes or truncated output during compression.
* | | Merge branch 'fix-liblzma-access-alignment' into releaseBrad King2015-04-011-1/+7
|\ \ \ | |/ /
| * | liblzma: Use unaligned access only on Intel and PowerPC archsBrad King2015-04-011-1/+7
| |/
* | Merge branch 'curl-cygwin-no-windows' into releaseBrad King2015-03-261-2/+8
|\ \
| * | curl: Never consider using Windows APIs on CygwinBrad King2015-03-261-2/+8
| |/ | | | | | | | | | | | | | | | | 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>
* | Merge branch 'FindMFC-CMP0054' into releaseBrad King2015-03-261-1/+1
|\ \
| * | FindMFC: Use if(DEFINED) to simplify condition (#15477)Brad King2015-03-261-1/+1
| |/ | | | | | | | | | | 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.
* | Merge branch 'file-LOCK-close' into releaseBrad King2015-03-262-0/+7
|\ \ | |/ |/|
| * file(LOCK): Close file descriptor/handle when releasing a lockBetsy McPhail2015-03-252-0/+7
|/ | | | | | | | | | | | 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>
* CMake 3.2.1v3.2.1Brad King2015-03-101-1/+1
|
* Merge branch 'UseSWIG-fix-CMP0054-warnings' into releaseBrad King2015-03-091-4/+4
|\
| * UseSWIG: Avoid if() auto-dereferene in quoted argumentsBrad King2015-03-091-4/+4
| | | | | | | | | | | | | | Protect against variables named "CSHARP", "PERL", "PYTHON", or "UNKNOWN" when CMP0054 is not set to NEW. Reported-by: Tuukka Pasanen <tuukka@iocaste.ilmi.fi>
* | Merge branch 'ninja-check-root-robustly' into releaseBrad King2015-03-092-3/+2
|\ \
| * | Ninja: Improve internal check for generating at the top-level (#15436)Brad King2015-03-092-3/+2
| |/ | | | | | | | | Simply check for whether the local generator has a parent instead of depending on a string comparison of directory names.
* | Merge branch 'configure_file-NEWLINE_STYLE-no-warn' into releaseBrad King2015-03-0928-42/+61
|\ \
| * | Tests: Add more signature tests to RunCMake.configure_file testBrad King2015-03-0927-42/+54
| | | | | | | | | | | | | | | | | | | | | 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.
| * | configure_file: Do not warn about newline style argumentsBrad King2015-03-091-0/+7
| |/ | | | | | | | | | | | | 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.
* | Merge branch 'custom-command-multiple-outputs' into releaseBrad King2015-03-076-74/+88
|\ \
| * | Makefile: Fix multiple custom command outputs regression (#15116)Brad King2015-03-076-74/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | CMake 3.2.0v3.2.0Brad King2015-03-031-1/+1
|/ /
* | Merge branch 'backport-KWSys-SystemTools-CopyFileAlways-fix' into releaseBrad King2015-03-021-0/+4
|\ \
| * | KWSys SystemTools: Update CopyFileAlways stream library workaroundsPaul Martin2015-03-021-0/+4
| |/ | | | | | | | | On some stream libraries failbit is not set when trying to read past EOF. Instead, always exit the copy loop when gcount() is zero.
* | Merge branch 'fix-crash-on-bad-LANG_STANDARD' into releaseBrad King2015-02-285-1/+17
|\ \
| * | Diagnose invalid <LANG>_STANDARD value instead of crashing (#15426)Brad King2015-02-285-1/+17
| |/
* | Merge branch 'cpack_rpm_mulit_prefix_fixup' into releaseBrad King2015-02-273-20/+62
|\ \
| * | CPackRPM: Fix handling of relocation prefix parent directoriesDomen Vrankar2015-02-273-20/+62
| | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge branch 'install-manifest-optimize' into releaseBrad King2015-02-262-12/+10
|\ \ \
| * | | install: Write the entire installation manifest at onceRobert Goulet2015-02-262-12/+10
| | |/ | |/| | | | | | | | | | Avoid a separate open/close for each file installed. Use a single file(WRITE) instead of a loop with file(APPEND).
* | | Merge branch 'sln-no-bom' into releaseBrad King2015-02-242-10/+0
|\ \ \ | |/ / |/| |
| * | VS: Do not generate a BOM in .sln filesBrad King2015-02-242-10/+0
|/ / | | | | | | | | | | 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.
* | CMake 3.2.0-rc2v3.2.0-rc2Brad King2015-02-231-1/+1
| |
* | Merge branch 'FindCurses-remove-unused-check' into releaseBrad King2015-02-201-2/+0
|\ \
| * | FindCurses: Drop unused check for cbreak in tinfo libraryBrad King2015-02-201-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge branch 'private-FindJsonCpp' into releaseBrad King2015-02-207-12/+10
|\ \ \
| * | | bootstrap: Add --(no-)system-jsoncpp optionsBrad King2015-02-201-2/+4
| | | | | | | | | | | | | | | | Provide bootstrap-time control for using a system JsonCpp library.
| * | | FindJsonCpp: Drop new module due to upstream jsoncpp providing packageBrad King2015-02-206-10/+6
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Merge branch 'cmake-gui-reset-generator-toolset-and-platform' into releaseBrad King2015-02-191-0/+2
|\ \ \
| * | | cmake-gui: Reset generator platform and toolset on configure (#15411)Brad King2015-02-191-0/+2
| |/ / | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge branch 'binary-release-no-OpenSSL-on-Win-or-OSX' into releaseBrad King2015-02-182-12/+2
|\ \ \
| * | | Utilities/Release: Build OS X and Win binaries without OpenSSLBrad King2015-02-182-12/+2
| |/ / | | | | | | | | | This will tell our curl to use the OS-native TLS/SSL APIs.
* | | Merge branch 'FindJNI-awt-arch' into releaseBrad King2015-02-181-0/+1
|\ \ \
| * | | FindJNI: Add arch-specific library dir for JDK 9 layout (#15408)Tiago Stürmer Daitx2015-02-181-0/+1
| |/ / | | | | | | | | | | | | 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>).