Commit Graph

17823 Commits

Author SHA1 Message Date
Brad King 4adf1dad2a Makefile: Tell GNU make to delete rule outputs on error (#15474)
Add .DELETE_ON_ERROR to the "build.make" files that contain the actual
build rules that generate files.  This tells GNU make to delete the
output of a rule if the recipe modifies the output but returns failure.
This is particularly useful for custom commands that use shell
redirection to produce a file.

Do not add .DELETE_ON_ERROR for Borland or Watcom make tools because
they may not tolerate it and would not honor it anyway.  Other make
tools that do not understand .DELETE_ON_ERROR will not be hurt.

Suggested-by: Andrey Vihrov <andrey.vihrov@gmail.com>
2015-03-30 16:35:48 -04:00
Brad King c1f8c6cdf9 Merge topic 'cpack-archive-prefix'
e3f84fc5 cpack: Fix CPACK_PACKAGING_INSTALL_PREFIX handling for archives (#14677)
2015-03-30 09:27:55 -04:00
Brad King c117c2bb5e Merge topic 'add_dependencies-INTERFACE-libraries'
ac14cbf0 Allow add_dependencies() on INTERFACE libraries (#15414)
817d31db Help: Format add_dependencies documentation
2015-03-30 09:27:53 -04:00
Brad King a3bdb5578d Merge topic 'ninja-autogen'
4d08e6b6 QtAutogen: Fix rcc rebuild with Ninja generator (#15459)
2015-03-30 09:27:51 -04:00
Brad King ac6297ea38 Merge topic 'xcode-default-ARCHS'
b76b52c0 Xcode: Set ARCHS only when CMAKE_OSX_ARCHITECTURES is specified (#14736)
9e14a5de cmGlobalXCodeGenerator: Simplify ARCHS list with cmJoin
2015-03-30 09:27:47 -04:00
Brad King 136a534f72 Merge topic 'wix-fix-utf8'
98a3b2e2 CPackWIX: Omit codepage conversion when internal encoding is already UTF-8.
2015-03-30 09:27:45 -04:00
Brad King aa15ef8a84 Merge topic 'clean-scanbuild-warnings'
e680d43d Fix an unused variable warning from scanbuild.
a4a1b729 Fix warnings from clang scanbuild.
2015-03-30 09:27:42 -04:00
Clinton Stimpson e3f84fc504 cpack: Fix CPACK_PACKAGING_INSTALL_PREFIX handling for archives (#14677)
Fix the case when the archive generator is used to package components
with an install prefix.
2015-03-30 09:22:14 -04:00
Kitware Robot 6474f0e263 CMake Nightly Date Stamp 2015-03-30 00:01:04 -04:00
Kitware Robot d35da54888 CMake Nightly Date Stamp 2015-03-29 00:01:04 -04:00
Kitware Robot 918fe54c82 CMake Nightly Date Stamp 2015-03-28 00:01:04 -04:00
Brad King ac14cbf017 Allow add_dependencies() on INTERFACE libraries (#15414)
Revert commit v3.0.0-rc1~175^2~20 (add_dependencies: Disallow use with
INTERFACE_LIBRARY, 2013-12-25).  Teach our dependency analysis to
transitively follow INTERFACE target utility dependencies as was done or
IMPORTED targets in commit v2.8.6~127^2~1 (Allow add_dependencies() on
imported targets, 2010-11-19).  Extend the InterfaceLibrary test with a
case to cover header generation for a header-only INTERFACE library via
a custom target.
2015-03-27 16:25:09 -04:00
Brad King 4d08e6b6dd QtAutogen: Fix rcc rebuild with Ninja generator (#15459)
The rcc outputs are byproducts of the cmake_autogen rule, not outputs.
We still must run cmake_autogen on every run even if the rcc outputs
exist.  Ninja requires explicit byproduct specification, which is now
possible in CMake since commit v3.2.0-rc1~340^2~2 (Add an option for
explicit BYPRODUCTS of custom commands, 2014-11-13).  Revise the logic
introduced by commit v3.2.0-rc1~480^2 (QtAutogen: Regenerate qrc files
if their input changes, 2014-09-17) to specify byproducts explicitly.
2015-03-27 15:33:19 -04:00
Brad King b76b52c0b4 Xcode: Set ARCHS only when CMAKE_OSX_ARCHITECTURES is specified (#14736)
Teach the Xcode generator that ONLY_ACTIVE_ARCH=YES means to use ARCHS,
and that the default of ONLY_ACTIVE_ARCH=NO means to use NATIVE_ARCH and
ignore ARCHS.  In the latter case there is no reason to generate ARCHS.
2015-03-27 10:52:32 -04:00
Brad King 9e14a5dee2 cmGlobalXCodeGenerator: Simplify ARCHS list with cmJoin 2015-03-27 09:50:14 -04:00
Brad King a92f217a4b Merge topic 'wix-external-expat'
86037915 CPackWIX: Add static_casts for XML_Parser.
2015-03-27 09:15:23 -04:00
Brad King b6f67227f1 Merge topic 'qtdialog-cpack-qt5-osx'
9c76ff01 QtDialog: Fix CMake packaging with CPack on OS X with Qt5.
2015-03-27 09:15:09 -04:00
Nils Gladitz 98a3b2e29e CPackWIX: Omit codepage conversion when internal encoding is already UTF-8. 2015-03-27 12:22:15 +01:00
Kitware Robot 685d179b8b CMake Nightly Date Stamp 2015-03-27 00:01:04 -04:00
Nils Gladitz 8603791553 CPackWIX: Add static_casts for XML_Parser.
"XML_Parser" in cmexpat is a typedef for void* while newer releases of
expat seem to use struct XML_ParserStruct *XML_Parser.

Add static_casts so that the build works with either variant.
2015-03-26 16:56:44 +01:00
Bill Hoffman e680d43d7d Fix an unused variable warning from scanbuild. 2015-03-26 11:05:56 -04:00
Kitware Robot 5d1d995bb7 CMake Nightly Date Stamp 2015-03-26 00:01:04 -04:00
Bill Hoffman a4a1b729c6 Fix warnings from clang scanbuild. 2015-03-25 12:38:37 -04:00
Brad King 166e29e453 Merge topic 'file-LOCK-close'
1f289095 file(LOCK): Close file descriptor/handle when releasing a lock
2015-03-25 09:01:18 -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
Kitware Robot 26c4300584 CMake Nightly Date Stamp 2015-03-25 00:01:04 -04:00
Clinton Stimpson 9c76ff015a QtDialog: Fix CMake packaging with CPack on OS X with Qt5. 2015-03-24 20:56:38 -06:00
Kitware Robot bcdda24851 CMake Nightly Date Stamp 2015-03-24 00:01:04 -04:00
Brad King 64e97edad7 Merge topic 'ninja-require-byproducts'
bd9c7f9b Ninja: Add policy to require explicit custom command byproducts
ed8e30b0 cmGlobalNinjaGenerator: Optimize handling of known build outputs
ad094f43 cmGlobalNinjaGenerator: Fix spelling of "unknown"
82a37d3c cmGlobalNinjaGenerator: Drop unused member
2015-03-23 09:48:07 -04:00
Brad King e85eb2e336 Merge topic 'add-extra-qbs-generator'
f85db2f3 Qbs: Add new 'extra' generator for qbs project files
2015-03-23 09:18:43 -04:00
Brad King ed99514fc1 Merge topic 'cpack-bundle-codesign'
fb3e4de8 CPack: Add support to overwrite or pass additional parameter to codesign
2015-03-23 09:18:40 -04:00
Brad King 114ddb072c Merge topic 'autogen-write-access'
610464c1 QtAutogen: Ensure write access to AutogenInfo.cmake (#15416)
2015-03-23 09:18:38 -04:00
Brad King a37937f7c0 Merge topic 'xcode-xctest'
4178cd88 Help: Add notes for topic 'xcode-xctest'
87a4b858 Tests: Add XCTest example to test Frameworks and Cocoa App Bundles
ba14510b OS X: Add FindXCTest module
3714955b OS X: Add handling for XCTest bundles
54a5cdbb Tests: Compute Xcode version for any generator on OS X
2015-03-23 09:18:29 -04:00
Brad King cc8b8cdc75 Merge topic 'ctest-repeat-until-fail'
6bce0276 Help: Add notes for topic 'ctest-repeat-until-fail'
fde70a1b ctest: Add a new --repeat-until-fail option
2015-03-23 09:18:26 -04:00
André Klitzing fb3e4de8e8 CPack: Add support to overwrite or pass additional parameter to codesign 2015-03-23 09:15:43 -04:00
Gregor Jasny 3714955b9c OS X: Add handling for XCTest bundles
An XCTest bundle is a CFBundle with a special product-type and bundle
extension.  For more information about XCTest visit the Mac Developer
library at:

  http://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/testing_with_xcode/

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
2015-03-23 09:12:18 -04:00
Bill Hoffman fde70a1b26 ctest: Add a new --repeat-until-fail option
This option tells ctest to run each test N times until the test fails or
the N times have run. This is useful for finding random failing tests.
2015-03-23 09:08:22 -04:00
Kitware Robot d67196d0e8 CMake Nightly Date Stamp 2015-03-23 00:01:03 -04:00
Kitware Robot aeb9fb9774 CMake Nightly Date Stamp 2015-03-22 00:01:05 -04:00
Kitware Robot 2ec1c0d6e0 CMake Nightly Date Stamp 2015-03-21 00:01:03 -04:00
Brad King bd9c7f9b2c Ninja: Add policy to require explicit custom command byproducts
Add policy CMP0058 to avoid generating 'phony' ninja rules for unknown
custom command dependencies.  This requires projects to specify their
custom command byproducts explicitly.  With this requirement we no
longer have to assume that unknown custom command dependencies are
generated and can instead simply assume they are source files expected
to exist when the build starts.  This is particularly important in
in-source builds.  It is also helpful for out-of-source builds to allow
Ninja to diagnose missing files before running custom command rules that
depend on them.
2015-03-20 17:40:12 -04:00
Brad King ed8e30b00d cmGlobalNinjaGenerator: Optimize handling of known build outputs
Teach WriteUnknownExplicitDependencies to take ownership of the set of
WriteBuild outputs immediately since no other methods need the data.
This avoids re-inserting the whole set into another already populated
set.
2015-03-20 13:33:13 -04:00
Brad King ad094f435e cmGlobalNinjaGenerator: Fix spelling of "unknown" 2015-03-20 13:32:55 -04:00
Justin Borodinsky 610464c12e QtAutogen: Ensure write access to AutogenInfo.cmake (#15416)
ConfigureFile uses the input file permissions, but we require write
access in cmQtAutoGenerators::SetupAutoGenerateTarget to append to the
file.
2015-03-20 10:33:52 -04:00
Stanislav Ionascu f85db2f323 Qbs: Add new 'extra' generator for qbs project files 2015-03-20 10:25:11 -04:00
Brad King c95e523db8 Merge topic 'file-globbing-directory-listing'
6e54b0b9 Help: Add notes for topic 'file-globbing-directory-listing'
a2c068a7 file: Teach GLOB to list directories optionally
2015-03-20 09:47:52 -04:00
Brad King d4d56f636b Merge topic 'update-kwsys'
0e8325db Merge branch 'upstream-kwsys' into update-kwsys
bc67dbed KWSys 2015-03-18 (9367a33b)
2015-03-20 09:47:48 -04:00
Brad King c3f416726b Merge topic 'ninja-no-circular-phony'
80afe28a Ninja: Do not generate circular phony rules (#15454)
2015-03-20 09:47:46 -04:00
Domen Vrankar a2c068a7ce file: Teach GLOB to list directories optionally
GLOB lists directories by default and GLOB_RECURSE does not.
LIST_DIRECTORIES enables user to control the behavior explicitly for
consistently for both GLOB and GLOB_RECURSE.
2015-03-20 09:45:25 -04:00
Kitware Robot a066f73263 CMake Nightly Date Stamp 2015-03-20 00:01:03 -04:00