Commit Graph

22909 Commits

Author SHA1 Message Date
Stephen Kelly 10d65d5019 cmTarget: Move a variable initialization closer to where it is used.
This is more readable and easier to reason about.
2014-01-06 17:25:10 +01:00
Stephen Kelly 0f3e8e957f Undefine local preprocessor loop variables.
Most occurances of this pattern already contain the undef, so add it to
the rest too.
2014-01-06 17:25:10 +01:00
Stephen Kelly 9ba47ee49b Genex: Reform error-checking for nullary/unary expressions.
The error messages were incorrect (reporting that the expression
requires one or two parameters), and repeated.  Remove the now-unused
ZeroOrMoreParameters enum value.
2014-01-06 17:25:10 +01:00
Stephen Kelly fa651c7a19 cmTarget: Remove some of the INTERFACE_LIBRARY whitelisted properties.
There is no need to allow EXCLUDE_* properties, because an
INTERFACE_LIBRARY has no direct build output.

IMPORTED_LINK_INTERFACE_LANGUAGES are relevant only to static
libraries.

VERSION is relevant only to the filename of direct build outputs,
which INTERFACE_LIBRARY does not have.
2014-01-06 17:25:10 +01:00
Stephen Kelly 61d138aea2 cmTarget: INTERFACE_LIBRARY is always EXCLUDE_FROM_ALL. 2014-01-06 17:25:10 +01:00
Stephen Kelly 3429541e1c export: Rename some variables to reflect content type.
This method is used with a list of languages.
2014-01-06 17:25:10 +01:00
Stephen Kelly 7461d67cf3 cmTarget: Enable convenient include dir handling for INTERFACE_LIBRARY.
Make the CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE variable affect
INTERFACE_LIBRARY targets.
2014-01-06 17:25:10 +01:00
Stephen Kelly 7fc6e3d607 cmTarget: Remove dead code.
Whitelisting of properties already ensures that the LOCATION
property will not be read from an INTERFACE_LIBRARY.
2014-01-06 17:25:09 +01:00
Stephen Kelly 2af966d9ab Genex: Add EQUAL expression.
Support decimal, hex, octal and binary literals.
2014-01-06 17:25:09 +01:00
Stephen Kelly 2d6638008c cmTarget: Use strtol for numeric parsing.
On Windows apparently sscanf can not handle hex numbers.

Test that numeric comparison works with hex numbers.
2014-01-06 17:25:09 +01:00
Brad King b225dbbd02 Merge topic 'minor-cleanups'
a55c70d cmTarget: Remove support for <CONFIG>_LOCATION property.
c9f9b3c cmTarget: Test impliedByUse number-compatible properties.
fbe1fa7 cmTarget: Don't repeat property origin debug information.
01c545c cmTarget: Fix debug report for interface-set compatibility types.
c67e1a6 cmTarget: Fix reporting interface-set properties which are FALSE.
07b0f54 Qt Tests: Remove commented and unneeded line.
79db8ef cmTarget: Fix the property compatibility error message
43340a9 Help: Reformat Qt autogenerator documentation.
d98ea6c Help: Mark some code blocks as containing cmake code.
ea78935 GenerateExportHeader: Reformat docs.
272a20f cmTarget: Don't update IMPORTED target compilation properties
03d842a Run the add_compile_options command unit test.
cd3d0b6 get_property: Fix testing ALIASED_TARGET target property (#14670)
6a62228 install: Ensure that install(TARGETS) works with no DESTINATION
af3d3b8 export: Only generate and install configuration files if needed.
0de81bb Help: Workaround pygments reporting an error for genexes.
...
2014-01-06 11:15:34 -05:00
Brad King 1377542db5 Merge topic 'cmake-buildsystem-manual'
0d9cdab Help: Add cmake-buildsystem.7 manual
2014-01-06 10:36:05 -05:00
Brad King b8786da79f Merge topic 'fix-text-typos'
9e41eb6 Fix wording of "the the" typos throughout text
2014-01-06 10:36:03 -05:00
Brad King 5c4448bd9a Merge topic 'update-kwsys'
196cee6 Merge branch 'upstream-kwsys' into update-kwsys
4709c7a KWSys 2014-01-02 (606d7d6f)
2014-01-06 10:36:01 -05:00
Brad King 185c95ce9e Merge topic 'EclipseUse64bitMachOParser'
e6b0f45 Eclipse: use MachO64 parser starting with Helios (#14380)
2014-01-06 10:35:59 -05:00
Stephen Kelly 0d9cdab93d Help: Add cmake-buildsystem.7 manual
Describe how to define a buildsystem of binary targets, how to
express dependencies between them, how to add build specifications,
how to specify usage requirements, transitive and compatible
propagation and the various pseudo targets.
2014-01-06 10:25:24 -05:00
Kitware Robot ff6f80baaa CMake Nightly Date Stamp 2014-01-06 00:01:04 -05:00
Kitware Robot d5f47b8050 CMake Nightly Date Stamp 2014-01-05 00:01:12 -05:00
Stephen Kelly a55c70de78 cmTarget: Remove support for <CONFIG>_LOCATION property.
It is not documented, is very old, is compatibility code,
is non-uniform and is not needed.
2014-01-04 11:28:58 +01:00
Stephen Kelly c9f9b3cd94 cmTarget: Test impliedByUse number-compatible properties.
Test that it is an error to read a number-compatible property to
determine the link implementation.  An alternative would be to
consider the value to be "0", however, that is too arbitrary
given the use-cases of this feature.  Values from this feature may
be used in setting a define, where "0" may have special or invalid
meaning and should be explicit.
2014-01-04 11:28:58 +01:00
Stephen Kelly fbe1fa722f cmTarget: Don't repeat property origin debug information. 2014-01-04 11:28:58 +01:00
Stephen Kelly 01c545c596 cmTarget: Fix debug report for interface-set compatibility types.
If the dependent target sets the property to boolean false, ensure
that that appears in the debug report.  Previously, the report
output contained whether the property was consistent among dependencies,
displaying 'TRUE', instead of the content of the property, which may
be 'FALSE'.

Return a std::pair from the consistentProperty method.  This makes
it possible to make the return value for string types easier to
reason about.  The return value of consistentProperty was previously
set to an empty static string to emulate a 'true' value for the caller
in commit 816b4a8a (cmTarget: Make consistentProperty
return consistent content., 2013-10-22).  The pair makes the
consistency result properly typed.
2014-01-04 11:28:58 +01:00
Stephen Kelly c67e1a6aac cmTarget: Fix reporting interface-set properties which are FALSE. 2014-01-04 11:28:58 +01:00
Stephen Kelly 07b0f54647 Qt Tests: Remove commented and unneeded line. 2014-01-04 11:28:57 +01:00
Stephen Kelly 79db8ef78d cmTarget: Fix the property compatibility error message
Don't refer to 'both', but a 'mixture'. List all compatible interface
property types possible.

Add another test for a mixture of three compatibilities.
2014-01-04 11:28:57 +01:00
Stephen Kelly 43340a9c96 Help: Reformat Qt autogenerator documentation. 2014-01-04 11:28:57 +01:00
Stephen Kelly d98ea6c0b8 Help: Mark some code blocks as containing cmake code. 2014-01-04 11:28:57 +01:00
Stephen Kelly ea78935f62 GenerateExportHeader: Reformat docs. 2014-01-04 11:28:57 +01:00
Stephen Kelly 272a20f8e5 cmTarget: Don't update IMPORTED target compilation properties
The include_directories() and add_compile_options() commands
should not append to the corresponding target property for IMPORTED
targets.  This is already the case for add_definitions().
2014-01-04 11:28:57 +01:00
Stephen Kelly 03d842a982 Run the add_compile_options command unit test.
This has not been executed since it was added in
commit a984f325 (Introduce add_compile_options command., 2013-06-04).
2014-01-04 11:28:57 +01:00
Stephen Kelly cd3d0b613e get_property: Fix testing ALIASED_TARGET target property (#14670)
In the case where the argument is not an ALIAS, the variable should
be set to a -NOTFOUND content.
2014-01-04 11:28:57 +01:00
Stephen Kelly 6a622285a7 install: Ensure that install(TARGETS) works with no DESTINATION
INTERFACE_LIBRARY targets have no corresponding files, and so
require no DESTINATION to install anything to.
2014-01-04 11:28:57 +01:00
Stephen Kelly af3d3b88be export: Only generate and install configuration files if needed.
The modern way to create configuration dependent content is using
generator expressions in the main export file.  The only non-deprecated
property still generated in the configuration-specific files are
IMPORTED_LOCATION_<CONFIG>

INTERFACE_LIBRARY targets have no location, and no need for those
files.
2014-01-04 11:28:56 +01:00
Stephen Kelly 0de81bba8c Help: Workaround pygments reporting an error for genexes.
Without the workaround, CMake code snippets are not highlighted
at all because pygments can not lex the generator expressions.
2014-01-04 11:28:56 +01:00
Stephen Kelly 0cf550b2ca Help: Remove workaround for pre-CMake 2.8.4 code.
The requirement was updated in commit 920ffbf5 (Require CMake 2.8.4
or greater to build CMake, 2013-10-11) and similar snippets were
removed.
2014-01-04 11:28:56 +01:00
Stephen Kelly 5c0a06ab84 cmTarget: Rename container holding link implementation objects.
Don't erroneously name it for the link implementation. That's
something different.
2014-01-04 11:28:56 +01:00
Stephen Kelly a0cacb5521 install: Rename variable referencing cmake version.
The next version is 3.0.0, not 2.8.13.

The version generated in the export file should be updated in
the release branch in both cmExportInstallFileGenerator and
cmExportBuildFileGenerator.
2014-01-04 11:28:56 +01:00
Stephen Kelly 5b6e9bea19 Style: Use this-> when invoking member function. 2014-01-04 11:28:56 +01:00
Stephen Kelly 6db7e6d24c add_dependencies: Disallow use with INTERFACE_LIBRARY. 2014-01-04 11:28:56 +01:00
Kitware Robot 7fb2b80662 CMake Nightly Date Stamp 2014-01-04 00:01:07 -05:00
Ruslan Baratov 9e41eb68ec Fix wording of "the the" typos throughout text 2014-01-03 11:35:32 -05:00
Brad King 196cee67f4 Merge branch 'upstream-kwsys' into update-kwsys 2014-01-03 10:21:07 -05:00
KWSys Robot 4709c7ad4e KWSys 2014-01-02 (606d7d6f)
Extract upstream KWSys using the following shell commands.

$ git archive --prefix=upstream-kwsys/ 606d7d6f | tar x
$ git shortlog --no-merges --abbrev=8 --format='%h %s' e81f2a9e..606d7d6f
Muli Baron (1):
      606d7d6f Terminal: Add putty-256color as a VT100 color-capable terminal

Change-Id: Ibd80e7b209c29947c384023d3ac1ce862648de01
2014-01-03 10:20:56 -05:00
Kitware Robot 0bb3ca2874 CMake Nightly Date Stamp 2014-01-03 00:01:13 -05:00
Brad King 6cff2afc8b Merge topic 'export-EXPORT-subcommand'
98b9f52 Help: Document export(EXPORT) in the cmake-packages manual.
a1d2bda Don't copy find_dependency in configure_package_config_file.
f4f6529 Help: cmake-packages: Add missing slash.
cbe7e8f export: Implement EXPORT subcommand (#9822)
2014-01-02 14:44:08 -05:00
Brad King 85704c04c0 Merge topic 'cmake-mode-updates'
33fa10f cmake-mode.el: Add autoload cookies
d03a0fb cmake-mode.el: Move header line to the top of file
2014-01-02 14:24:52 -05:00
Brad King 5249948e53 Merge topic 'KateProjectImprovements'
37104d9 kate: put full path to cmake into comment
424d5dc kate: support also the build plugin in kate <= 4.12
8bd6cf0 kate: the prev_target is not used by kate
2014-01-02 14:24:39 -05:00
Brad King 81311c670e Merge topic 'wix-rtf-encoding'
950d76e CPackWiX: allow and convert UTF-8 sequences in RTF writer
2014-01-02 14:24:25 -05:00
Brad King 2da175ce9d Merge topic 'wix-read-only'
44a7543 CPackWiX: transfer file read only flag during installation
2014-01-02 14:24:13 -05:00
Brad King a294ff08b7 Merge topic 'suppress-LNK4089-SHELL32'
0fd172c CTestCustom: Suppress LNK4089 warning about SHELL32
2014-01-02 14:24:03 -05:00