Commit Graph

11009 Commits

Author SHA1 Message Date
Brad King bfb7288f81 Record backtrace in cmCustomCommand
This will be used to report custom command errors to the user with a
backtrace pointing at the add_custom_command or add_custom_target call.
2010-12-15 14:53:24 -05:00
Brad King 53ea8b3204 Merge branch 'imported-target-dependencies' into custom-command-refactor 2010-12-08 17:30:02 -05:00
Brad King 1a29ccaf9a Remove cmLocalGenerator::GetRealLocation
The cmCustomCommandGenerator::GetCommand method completely replaces the
purpose of this method.  Re-implement GetRealLocation inline at the only
remaining call site and remove it.
2010-12-08 17:29:53 -05:00
Brad King 542b517449 Factor out common custom command generator
The Makefile, VS, and Xcode generators previously duplicated some custom
command line generation code.  Factor this out into a separate class
cmCustomCommandGenerator shared by all generators.
2010-12-08 17:29:20 -05:00
Brad King 6fe5b3db0b Simplify VS generator ConstructScript interface
Pass to cmLocalVisualStudioGenerator::ConstructScript a cmCustomCommand
instance instead of extracting arguments at all call sites.
2010-12-08 17:29:20 -05:00
Brad King ced1d5eccd Skip file-level dependencies on custom targets (#11332)
A custom command may name a target created by add_custom_target in its
DEPENDS field.  Treat this case as a target-level dependency only since
a custom target provides no standard file on which to add a file-level
dependency.
2010-12-08 17:14:17 -05:00
Brad King e30a775f68 Improve signature of cmLocalGenerator::GetRealDependency
Allow file-level custom command dependencies to be skipped.
2010-12-08 17:14:14 -05:00
Brad King a765c491ad Honor custom command dependencies on imported targets (#10395)
Imported targets do not themselves build, but we can follow dependencies
through them to find real targets.  This allows imported targets to
depend on custom targets that provide the underlying files at build
time.
2010-12-08 12:22:13 -05:00
KWSys Robot afc8906468 KWSys Nightly Date Stamp 2010-12-06 00:10:04 -05:00
KWSys Robot 419e0d29a0 KWSys Nightly Date Stamp 2010-12-05 00:10:07 -05:00
KWSys Robot 34ee41b9cc KWSys Nightly Date Stamp 2010-12-04 00:10:02 -05:00
KWSys Robot 4617135fe7 KWSys Nightly Date Stamp 2010-12-03 00:10:28 -05:00
Brad King 6a07b22bf9 Merge topic 'find-command-crash'
183d261 Fix find_* argument parsing crash (#11513)
2010-12-02 14:25:10 -05:00
Brad King 9ab2659487 Merge topic 'ctest-remove-waiting-message'
13f2454 Remove debugging message from parallel ctest
2010-12-02 14:25:04 -05:00
Brad King 42fac25808 Merge topic 'CPack-Bug11452-ComponentBreakage-v2'
12a7125 CPack Fix KWStyle error
d0eb89c CPack backward compatibility fix 2.8.3-2.8.2 (bug 11452)
2010-12-02 14:24:51 -05:00
Brad King b4bd2d3baf Merge topic 'vs-target-dependencies'
08a3188 Skip VS <= 7.1 dependency analysis for VS >= 8
2010-12-02 14:24:45 -05:00
KWSys Robot 746d54a843 KWSys Nightly Date Stamp 2010-12-02 00:10:03 -05:00
Brad King f9abda2db4 KWSys: Associate installed library with an EXPORT
A parent project may now set KWSYS_INSTALL_EXPORT_NAME to specify the
EXPORT name for install(TARGETS) commands.
2010-12-01 16:10:02 -05:00
Eric NOULARD 12a7125b32 CPack Fix KWStyle error 2010-12-01 21:00:38 +01:00
Brad King 08a31885c1 Skip VS <= 7.1 dependency analysis for VS >= 8
Commit 1a0c166 (Store direct dependencies in solutions for VS >= 8,
2010-08-20) disabled use of VS-specific global dependency analysis.
Avoid perfoming the analysis at all when it is not needed.  This also
prevents creation of bogus and unused '_UTILITY' targets since they are
not needed for dependencies.
2010-12-01 11:43:30 -05:00
Zach Mullen 13f24540ad Remove debugging message from parallel ctest 2010-12-01 11:28:23 -05:00
KWSys Robot 8b555d1d20 KWSys Nightly Date Stamp 2010-12-01 00:10:03 -05:00
Brad King 183d261b11 Fix find_* argument parsing crash (#11513)
Previously the command

  find_path(VAR DOC "")

would crash because the argument pre-processing removed the DOC ""
arguments but the rest of the parsing assumes at least 2 arguments.
Reject the call with an error instead.
2010-11-30 08:39:16 -05:00
KWSys Robot 63828762a0 KWSys Nightly Date Stamp 2010-11-30 00:10:03 -05:00
Eric NOULARD d0eb89c17b CPack backward compatibility fix 2.8.3-2.8.2 (bug 11452)
One should set CPACK_ARCHIVE_COMPONENT_INSTALL=1 in order to
trigger component install for ARCHIVE generators
2010-11-29 18:57:24 +01:00
KWSys Robot bd44b2cc5b KWSys Nightly Date Stamp 2010-11-29 00:10:02 -05:00
KWSys Robot 7ce06dcc90 KWSys Nightly Date Stamp 2010-11-28 00:10:03 -05:00
KWSys Robot 7a85200249 KWSys Nightly Date Stamp 2010-11-27 00:10:32 -05:00
KWSys Robot 500711129b KWSys Nightly Date Stamp 2010-11-26 00:10:02 -05:00
KWSys Robot 537180ab19 KWSys Nightly Date Stamp 2010-11-25 00:10:05 -05:00
KWSys Robot 8bafdeb60e KWSys Nightly Date Stamp 2010-11-24 00:10:03 -05:00
David Cole 5b00b2a201 Merge topic 'dev/fix-cache-variable-parsing-ambiguity'
8b143fa Condense parsing of cache entries
122ebf1 Support manual cache entries
90abc3a Use cmCacheManager to load entries from the cache
6fe8624 Fix parsing of cache variables without a type
2010-11-23 16:12:24 -05:00
David Cole a30a83bc1d Merge topic 'imported-target-dependencies'
e01cce2 Allow add_dependencies() on imported targets (#10395)
bc7395c Merge branch 'vs-target-dependencies' into imported-target-dependencies
fd614e6 Use modern global dependency graph for VS < 8 deps
605f4bc Record edge type in global dependency graph
82596fc Merge branch 'vs8-direct-depends' into vs-target-dependencies
2010-11-23 16:11:57 -05:00
David Cole 0a5600af2d Merge topic 'link-library-parse-regex'
5fe3ac8 Prefer non-empty prefixes when matching lib names (#11468)
2010-11-23 16:11:43 -05:00
David Cole 525b528625 Merge topic 'CPackRPM-ComponentSupport'
66e86b4 CPack  fix kwstyle breakage and make CPackRPM backward compatible
2c84d16 CPackRPM  add basic component support to CPackRPM
2010-11-23 16:11:33 -05:00
David Cole 651120b7af Merge topic 'ImprovedDotSupport2'
78c86f4 Exclude targets from the graphviz file based on a regex
5ea1e4c Collect targets and libs on demand instead of in the ctor
2a5790a Use std::cout instead of fprintf
7ba2d36 Enable/disable generating graphs depending on the target type
84ce612 Move the code for generating dot-files into separate class cmGraphVizWriter
a60b099 Generate separate dot files for each target, and a big one with everything.
487bd57 Properly insert all targets, also those which don't link to anything.
de2b2bf Move the code for collecting targets and libraries into separate functions
f7d56df Remove trailing whitespace and minor formatting changes for the dot-code
2010-11-23 16:11:26 -05:00
KWSys Robot 40cb8a2373 KWSys Nightly Date Stamp 2010-11-23 00:10:02 -05:00
Ben Boeckel 8b143fab66 Condense parsing of cache entries
If a cache line is being parsed, it shouldn't matter whether it has a
type or not; just parse it however possible.
2010-11-22 15:45:30 -05:00
Ben Boeckel 122ebf1297 Support manual cache entries 2010-11-22 15:17:51 -05:00
Ben Boeckel 90abc3a027 Use cmCacheManager to load entries from the cache 2010-11-22 15:14:21 -05:00
Ben Boeckel 6fe8624b7f Fix parsing of cache variables without a type
These mainly come from the command line or manual entries in the
CMakeCache.txt file. We want to stop at the first '=' because this is
what is most likely to have been meant. The variable can be quoted if
the '=' is intended.

Caveat: What if one wants both '"' and '=' in a variable name?
2010-11-22 15:12:47 -05:00
KWSys Robot a0739ac5ab KWSys Nightly Date Stamp 2010-11-22 00:10:26 -05:00
KWSys Robot 365beb2b16 KWSys Nightly Date Stamp 2010-11-21 00:10:03 -05:00
KWSys Robot 9054e598ef KWSys Nightly Date Stamp 2010-11-20 00:10:19 -05:00
Brad King e01cce2869 Allow add_dependencies() on imported targets (#10395)
Imported targets do not themselves build, but we can follow dependencies
through them to find real targets.  This allows imported targets to
depend on custom targets that provide the underlying files at build
time.
2010-11-19 17:19:21 -05:00
Brad King bc7395c096 Merge branch 'vs-target-dependencies' into imported-target-dependencies 2010-11-19 13:23:17 -05:00
KWSys Robot acf60463de KWSys Nightly Date Stamp 2010-11-19 00:10:26 -05:00
Brad King fd614e60b5 Use modern global dependency graph for VS < 8 deps
VS 7.1 and below have 2 behaviors that make the cmComputeTargetDepends
result difficult to use for solution-level dependencies.  Update the
method cmGlobalVisualStudioGenerator::ComputeTargetDepends to document
the behaviors and work around them.  Commit 1a0c166a (Store direct
dependencies in solutions for VS >= 8, 2010-08-20) isolated VS >= 8 from
this computation so those versions should be unaffected.

This change removes the last use of cmTarget::GetLinkLibraries for
purposes other than backward compatibility with legacy interfaces
(export_library_dependencies, VS 6 custom .dsp templates).  Now the
cmComputeTargetDepends results are used for all generators so global
target dependency computation is fully centralized.
2010-11-18 10:51:34 -05:00
Brad King 605f4bc097 Record edge type in global dependency graph
Each inter-target dependency may be a 'link' or 'util' dependency.
2010-11-18 10:51:00 -05:00
Brad King 5fe3ac86ee Prefer non-empty prefixes when matching lib names (#11468)
In cmComputeLinkInformation we match library names with a regular
expression, possibly extracting the 'lib' prefix.  The regex component
to match the prefix always allows an empty prefix to be matched, as in
"(lib|)".  Avoid every adding an empty prefix option earlier in the
regex, as in "(|lib|)", because it will be preferred and 'lib' will
never match.
2010-11-18 07:54:56 -05:00