Commit Graph

16309 Commits

Author SHA1 Message Date
Brad King 99d6fa0aa1 Merge topic 'fix-build-crash-on-bad-generator'
44e2923f cmake: Fix --build crash on bad CMAKE_GENERATOR in cache
2014-06-04 09:18:46 -04:00
Kitware Robot a1e742c3b0 CMake Nightly Date Stamp 2014-06-04 00:01:08 -04:00
Brad King 44e2923f33 cmake: Fix --build crash on bad CMAKE_GENERATOR in cache
If we fail to create the generator named by CMAKE_GENERATOR, exit
with an error message instead of crashing.  While at it, fix the
wording of the error message when CMAKE_GENERATOR is not set.

Extend the RunCMake.CommandLine test with cases covering the
"cmake --build" option when the named directory does not provide
a CMakeCache.txt with a valid CMAKE_GENERATOR.
2014-06-03 11:52:19 -04:00
Brad King aacbe0c3f6 Merge topic 'cmake-credits'
889f2fd8 Simplify and clarify credit text and link
2014-06-03 09:35:02 -04:00
Brad King 889f2fd84c Simplify and clarify credit text and link
Use the name "Kitware" rather than "Kitware, Inc." to simplify the text.
Provide a CMake-specific URL.
2014-06-03 09:34:38 -04:00
Brad King 9490e90af4 Merge topic 'cmake-credits'
8da0a75b Simplify and clarify credit text and link
2014-06-03 09:30:45 -04:00
Brad King 8da0a75ba2 Simplify and clarify credit text and link
Use the name "Kitware" rather than "Kitware, Inc." to simplify the text.
Provide a CMake-specific URL.
2014-06-03 09:24:26 -04:00
Kitware Robot f60da64a4d CMake Nightly Date Stamp 2014-06-03 00:01:08 -04:00
Brad King 7b888a5624 Merge topic 'feature-extensions-by-default'
60a981ea Features: Enable compiler extensions by default.
2014-06-02 10:44:28 -04:00
Kitware Robot d3c72b6c6a CMake Nightly Date Stamp 2014-06-02 00:01:07 -04:00
Kitware Robot 32d7547efd CMake Nightly Date Stamp 2014-06-01 00:01:11 -04:00
Stephen Kelly 60a981ea8e Features: Enable compiler extensions by default.
Compilers enable their extensions by default, and disabling them
implicitly can lead to results which are surprising or non-obvious
to debug.

 http://public.kitware.com/pipermail/cmake-developers/2014-May/010575.html
 http://thread.gmane.org/gmane.comp.programming.tools.cmake.devel/10214
 https://www.mail-archive.com/cmake-developers@cmake.org/msg10116.html
 (Compiler feature extensions by default, 29 May 2014)
2014-05-31 12:16:12 +02:00
Kitware Robot f5b8ddbc38 CMake Nightly Date Stamp 2014-05-31 00:01:06 -04:00
Brad King 060c86a506 Merge topic 'consistent-genex-target-message'
fb2fa476 Genex: Clarify error message on use with non-binary targets (#14899).
2014-05-30 14:51:41 -04:00
Kitware Robot c4a26b70cb CMake Nightly Date Stamp 2014-05-30 00:01:08 -04:00
Brad King 8afbb346c6 Merge topic 'normalize-custom-command-paths'
c4af46b4 add_custom_command: Normalize OUTPUT and DEPENDS paths.
2014-05-29 09:58:47 -04:00
Brad King 177d0ef15e Merge topic 'vs-vcproj-bool-case'
b684ce58 VS: Use lower-case boolean values in VS 7-9 (#14927)
2014-05-29 09:58:43 -04:00
Brad King 1468e986e1 Merge topic 'cxx14-features'
dd043c3f Features: Add support for C++14 features.
2014-05-29 09:58:37 -04:00
Stephen Kelly fb2fa47656 Genex: Clarify error message on use with non-binary targets (#14899). 2014-05-29 11:29:31 +02:00
Kitware Robot 9e11fcdc76 CMake Nightly Date Stamp 2014-05-29 00:01:12 -04:00
Mark Salisbury b684ce58dd VS: Use lower-case boolean values in VS 7-9 (#14927)
The VS 7-9 IDEs parse .vcproj file boolean values in lower or upper
case.  The .NET XML parsing chokes on anything but "true", "false", "0",
"1".  Teach our generators to use lower-case names since they will work
for both parsers.  Our VS >= 10 flag tables already use lower-case.
2014-05-28 16:32:56 -04:00
Stephen Kelly c4af46b444 add_custom_command: Normalize OUTPUT and DEPENDS paths.
While tracing dependencies of a target, cmTargetTraceDependencies
follows sources by full path to determine if the source is to be
produced by a custom command.  Commit 4959f341 (cmSourceFileLocation:
Collapse full path for directory comparisons., 2014-03-27) changed
the storage of target sources to be in the form of a normalized
path instead of an unnormalized path.

The path is followed by looking it up in a mapping via
cmMakefile::GetSourceFileWithOutput to acquire an appropriate
cmSourceFile.  The mapping is populated with the OUTPUT components
of add_custom_command invocations, however it is populated with
unnormalized paths.  This means that the tracing logic does not
find appropriate cmSourceFiles, and does not generate appropriate
build rules for the generated sources.

Normalize the paths in the OUTPUT components of add_custom_command
to resolve this.

The paths in the DEPENDS component of add_custom_command are also
not normalized, leading to the same problem again.  Normalize the
depends paths after generator evaluation and expansion.
2014-05-28 21:05:41 +02:00
Brad King 574f096b9a Merge topic 'fix-coverage-py'
deee7c42 CTest: Fix Python coverage.py off-by-one error in results
88b3dcb1 CTest: Improve Python coverage.py source file search algorithm
2014-05-28 12:34:38 -04:00
Brad King 8df4d03d99 Merge topic 'cpack-properties'
d0b1d2a6 CPackWiX: Implement CPACK_NEVER_OVERWRITE and CPACK_PERMANENT properties
15a8af21 Add an "installed file" property scope
2014-05-28 12:34:36 -04:00
Brad King af34639724 Merge topic 'fix-cache-self-assignment'
1cd37527 cmCacheManager: Avoid cache entry self-assignment
326d15a3 cmake: Tolerate missing HELPSTRING on compiler change
2014-05-28 12:34:30 -04:00
Nils Gladitz d0b1d2a65b CPackWiX: Implement CPACK_NEVER_OVERWRITE and CPACK_PERMANENT properties 2014-05-28 12:30:44 -04:00
Nils Gladitz 15a8af21e8 Add an "installed file" property scope
Teach set_property and get_property an "INSTALL" property type to be
associated with install-tree file paths.  Make the properties available
to CPack for use during packaging.  Add a "prop_inst" Sphinx domain
object type for documentation of such properties.
2014-05-28 12:28:18 -04:00
Zach Mullen deee7c42a2 CTest: Fix Python coverage.py off-by-one error in results
The cobertura format uses line numbers indexed starting at 1, and CTest
uses a vector indexed starting at 0 to store them.
2014-05-28 12:25:50 -04:00
Roni Choudhury 88b3dcb125 CTest: Improve Python coverage.py source file search algorithm
If the coverage.py source file is not found in the source directory, the
build directory is first searched before raising an error.

This is necessary because it is a valid workflow to build a Python
package from source, then install this package to a virtualenv that
lives in the build directory.  Tests will run against this deployed
package and therefore the covered source files will be found in a
subdirectory of the build directory, and not anywhere in the source
directory.
2014-05-28 12:25:28 -04:00
Kitware Robot 960f140d19 CMake Nightly Date Stamp 2014-05-28 00:01:08 -04:00
Brad King 1cd3752729 cmCacheManager: Avoid cache entry self-assignment
Since commit bef93dc5 (Couple of changes: cache variables now have a map
of properties, 2002-09-11) the cmCacheManager::AddCacheDefinition method
accesses its map entry by reference.  However, the commit left the
original entry assignment at the end of the method.  With Apple Clang
5.1 and libc++ this self-assignment destroys the cache entry property
map.

Drop the self assignment.  Also drop the condition around the call to
UnwatchUnusedCli since it was a self-comparison that must always have
been true.
2014-05-27 16:12:05 -04:00
Brad King 326d15a329 cmake: Tolerate missing HELPSTRING on compiler change
Teach cmake::HandleDeleteCacheVariables to tolerate a missing HELPSTRING
(NULL pointer) when saving cache entries.  In the absence of other bugs
this should not be possible, but avoid the crash just in case.
2014-05-27 16:11:04 -04:00
Brad King 4a67e9cd41 Merge topic 'dev/CMP0053-variable_watch'
9ba91463 tests: test CMP0053 in WARN mode when watching variables
2014-05-27 09:46:33 -04:00
Brad King 03a3ee222b Merge topic 'variable_watch-no-allowed-access'
d8498003 variable_watch: Remove undocumented and redundant access type
2014-05-27 09:46:32 -04:00
Kitware Robot e7b7f675f8 CMake Nightly Date Stamp 2014-05-27 00:01:06 -04:00
Kitware Robot e21604f00f CMake Nightly Date Stamp 2014-05-26 00:01:06 -04:00
Kitware Robot 055da262f1 CMake Nightly Date Stamp 2014-05-25 00:01:09 -04:00
Kitware Robot 0aee518ac6 CMake Nightly Date Stamp 2014-05-24 00:01:08 -04:00
Kitware Robot 653bf94840 CMake Nightly Date Stamp 2014-05-23 00:01:11 -04:00
Stephen Kelly dd043c3f21 Features: Add support for C++14 features.
Record the features implemented by GNU 4.9 and Clang 3.4.
2014-05-22 18:01:23 +02:00
Ben Boeckel 9ba91463e6 tests: test CMP0053 in WARN mode when watching variables
When CMP0053 is in WARN mode, variables get expanded twice, leaking the
fact that the string was expanded twice and changing behavior. Instead,
suppress variable watches when running the expansion to trigger the
CMP0053 warning.
2014-05-22 11:13:29 -04:00
Brad King cbc9a9514d CMake 3.0.0-rc6 2014-05-22 10:41:12 -04:00
Brad King 3ea9bde845 Merge topic 'ninja-intel-ipo'
b6e2e0d1 Ninja: Fix Intel interprocedural optimization with static libraries
5d12b87b cmGeneratorTarget: Improve GetCreateRuleVariable API
c2eeb08b cmTarget: Add GetFeatureAsBool method
2014-05-22 10:37:50 -04:00
Brad King 5ce40619db Merge topic 'COMPILE_FEATURES-genex'
0dfe395e Features: Add COMPILE_FEATURES generator expression.
aa8a6fce cmMakefile: Add methods for checking availability of a feature.
b6dedf03 cmMakefile: Extract CheckNeeded{C,Cxx}Language methods.
8dd129df cmMakefile: Extract CompileFeaturesAvailable method.
6b9b2fff cmMakefile: Extract CompileFeatureKnown method.
2014-05-22 10:37:48 -04:00
Ben Boeckel d849800351 variable_watch: Remove undocumented and redundant access type
The ALLOWED_UNKNOWN_VARIABLE_READ_ACCESS access type was switched on an
undocumented variable and its lookup caused an unnecessary performance
impact.  Remove it.
2014-05-22 10:36:49 -04:00
Kitware Robot 246bec5a4b CMake Nightly Date Stamp 2014-05-22 00:01:07 -04:00
Stephen Kelly 0dfe395e3c Features: Add COMPILE_FEATURES generator expression.
Allow setting build properties based on the features available
for a target.  The availability of features is determined at
generate-time by evaluating the link implementation.

Ensure that the <LANG>_STANDARD determined while evaluating
COMPILE_FEATURES in the link implementation is not lower than that
provided by the INTERFACE of the link implementation.  This is
similar to handling of transitive properties such as
POSITION_INDEPENDENT_CODE.
2014-05-21 17:22:32 +02:00
Brad King 42130606d4 Merge topic 'file-command-open-errors'
2c448dbf file: Report system error on failure to open file
2014-05-21 10:31:49 -04:00
Brad King 8dc8878a5e Merge topic 'minor-cleanups'
d1035bd5 cmTarget: Avoid copying container we don't need to copy.
96eb97f8 Help: Fix whitespace in doc link.
0dffbb93 Features: Ensure that list exists to remove from.
2014-05-21 10:31:47 -04:00
Brad King b6e2e0d194 Ninja: Fix Intel interprocedural optimization with static libraries
Teach cmGeneratorTarget::GetCreateRuleVariable about the IPO variant.
Return the static library IPO rule when the feature is enabled.
2014-05-21 09:49:14 -04:00