Commit Graph

138 Commits

Author SHA1 Message Date
Brad King b604b98c56 ENH: Define RULE_LAUNCH_* properties
This defines global, directory, and target properties
RULE_LAUNCH_COMPILE, RULE_LAUNCH_LINK, and RULE_LAUNCH_CUSTOM.  Their
values specify 'launcher' command lines which are prefixed to compile,
link, and custom build rules by Makefile generators.
2009-02-10 08:51:15 -05:00
Brad King c895d9f2e0 ENH: Give target in which custom commands build
This gives the cmTarget instance for which custom command rules are
being generated to cmLocalUnixMakefileGenerator3::AppendCustomCommands.
It will be useful in the future.
2009-02-10 08:50:33 -05:00
Alexander Neundorf bd92bec66c STYLE: fix two typos in the comments, patch from Daniel DOT Teske AT Nokia DOT com, QtCreator developer
Alex
2009-02-09 16:36:56 -05:00
Brad King ac9b7ec155 ENH: Refactor custom command rule hashing
This simplifies computation of custom command rule hashes to hash
content exactly chosen as the custom commands are generated.
Unfortunately this will change the hashes of existing build trees from
earlier CMake versions, but this is not a big deal.  The change is
necessary so that in the future we can make optional adjustments to
custom command lines at generate time without changing the hashes every
time the option is changed.
2009-02-02 13:28:12 -05:00
Brad King 690121f098 BUG: Fix color check for dependency scanning
Generation of color rules for dependency scanning messages did not
account for disabling color at generation time.  See issue #7814.
2008-10-15 10:40:57 -04:00
Brad King ad44a41a18 ENH: Fix optional use of relative paths.
These changes refactor cmLocalGenerator methods Convert and
ConvertToOutputForExisting to support references inside the build tree
using relative paths.  After this commit, all tests pass with Makefile
generators when relative paths are enabled by default.  See issue #7779.
2008-10-09 15:30:07 -04:00
Brad King 857e2e15dd ENH: Improved escaping in kwsys/System. Added escape of % for NMake. Added escape of ; for the VS IDE. 2008-01-13 16:36:20 -05:00
Brad King 52eb0ccac7 BUG: Restore old interface of "make foo.o" and "make foo.i" even though object file names now include source extensions. For Java we also need to always remove the source extension (.java -> .class). This fixes the re-opening of bug #6169. 2008-01-07 16:12:37 -05:00
Brad King 430296dc96 ENH: Moved global inter-target dependency analysis and cycle-prevention code up from cmGlobalUnixMakefileGenerator3 to cmGlobalGenerator. Simplified cmGlobalUnixMakefileGenerator3 to use it. Later other generators may be modified to use it also. 2007-12-23 15:03:42 -05:00
Brad King d83b4cd255 ENH: Add a depends check step to custom targets. Add support for the IMPLICIT_DEPENDS feature of custom commands when building in custom targets. Convert multiple-output pair checks to be per-target instead of global. 2007-12-21 12:22:12 -05:00
Brad King 73704ede42 ENH: Enabled color printing of "Scanning dependencies of target ..." message. 2007-12-19 17:15:41 -05:00
Brad King de96fd1df9 ENH: Moved dependency integrity check from CheckBuildSystem over to a per-target UpdateDependencies step. This greatly reduces the startup time for make processes and allows individual targets to be built without a global dependency check. 2007-12-19 16:36:30 -05:00
Brad King 872553de7e ENH: Implemented generation of display for pre-build, pre-link, and post-build custom command comments during the build. This addresses issue #5353. 2007-12-18 09:50:08 -05:00
Brad King d926792066 ENH: Replaced dependency integrity map with an explicit map from object file to source file for each language in each target. This simplifies creation of implicit dependency scanning rules and allows more than one object file in a target to start dependency scanning with the same source file. 2007-08-07 13:57:13 -04:00
Brad King ea874415d9 ENH: Moved GetTargetDirectory method up to cmLocalGenerator. This provides a common interface to something that was implemented in most local generators anyway. 2007-08-01 15:25:40 -04:00
Brad King dfb79bea23 STYLE: Removed unused reference to cmMakeDepend. 2007-06-11 12:40:41 -04:00
Alexander Neundorf 179943bf14 STYLE: move ForceVerboseMakefiles to cmGlobalUnixMakefileGenerator3, so the
kdevelop generator doesn't need its own CreateLocalGenerator() anymore

Alex
2007-06-05 16:35:24 -04:00
Brad King c25d2bfdd2 ENH: Added testing for custom command line arguments containing all special characters on the US keyboard. Fixed curly brace arguments on borland and % arguments in mingw32-make. 2007-05-17 10:53:18 -04:00
Bill Hoffman 76dd86b410 BUG: fix -D escaped quotes for watcom 2007-05-10 14:43:55 -04:00
Brad King 33ee83714d ENH: Replaced LibraryOutputPath and ExecutableOutputPath variables in Makefile and VS generators to instead ask each target for its output path. This significantly reduces total code size and centralizes previously duplicate code. It is also a step towards bug#2240. 2007-03-08 14:57:28 -05:00
Brad King fd3688fa72 ENH: Fixed recursive make call target escaping for Borland to support SubDirSpaces test. 2007-03-08 13:05:02 -05:00
Brad King 00051cf721 ENH: Removed useless method ConvertToMakeTarget and all calls to it. It had a buggy implementation that caused it to do nothing. 2007-03-08 11:10:21 -05:00
Bill Hoffman ca0230a33e ENH: check in initial conv library stuff 2007-02-16 16:12:17 -05:00
Bill Hoffman bd531d3fae BUG: fix for 4186, kdevelop adding file twice 2007-01-25 15:44:52 -05:00
Brad King 54731fa2c8 ENH: Adding support for # escape in Watcom WMake. 2006-10-25 11:23:04 -04:00
Brad King 69356d8a7a BUG: Juse use cmake -E echo instead of the native echo on MinGW makefiles. The echo; hack did not work when running from ctest. 2006-10-13 10:22:45 -04:00
Brad King 7e92f0b4e4 BUG: Hack to make echo command work properly in mingw32-make. 2006-10-05 14:51:20 -04:00
Brad King 406f3554c7 BUG: Fixed display of custom command comments with quotes, dollars, and other special characters in them. 2006-10-04 18:52:29 -04:00
Brad King 019dabc97f BUG: MSYS makefile shell needs posix paths to executables in some cases and it does not hurt to do it always. 2006-09-28 10:37:19 -04:00
Brad King f826c6c58b ENH: Centralized generation of targets listed in the help to be done by the code that actually writes the targets. 2006-08-23 09:45:24 -04:00
Brad King c6f1a11480 BUG: Added object language to list of object files in a local generator's directory. Fixed generation of preprocessing and assembly rules to be done only for C and C++ objects. 2006-08-15 12:00:27 -04:00
Brad King 8c94be3f18 ENH: Added options CMAKE_SKIP_PREPROCESSED_SOURCE_RULES and CMAKE_SKIP_ASSEMBLY_SOURCE_RULES to allow projects to disable generation of .E and .S rules. 2006-08-09 09:56:52 -04:00
Brad King 5cfa1b02ab ENH: Added generation of rules to manually request preprocessed or generated assembly sources. 2006-08-07 23:25:21 -04:00
Brad King 88702ff442 ENH: Moved GetSourceFileLanguage up to cmLocalGenerator. 2006-08-03 09:26:07 -04:00
Brad King 221b34392b ENH: Restoring previous change with a fix. 2006-08-02 11:06:32 -04:00
Bill Hoffman 16e73643f3 ENH: undo change that broke borland 5.6 cont 2006-08-01 19:52:12 -04:00
Brad King fe5a6e9413 ENH: Moved generation of directory-level object convenience rules to a separate method. This will aid generation of more such rules later. 2006-08-01 16:16:21 -04:00
Ken Martin ed54b93533 ENH: added progress for subdir all targets and fixed compiler waring 2006-07-12 13:11:27 -04:00
Brad King 9bf5af6e32 ENH: Moved unique object file name computation from cmLocalUnixMakefileGenerator3 up to cmLocalGenerator for use by all generators. Created cmLocalVisualStudioGenerator as superclass for all VS generators. Implemented on-demand unique object file name computation for VS 7 generator to avoid slow compiles when all sources are in subdirectories. 2006-07-11 11:41:38 -04:00
Ken Martin f1dfa7e78f BUG: changed to progress to make it more flexible and to no relink targets as often 2006-07-11 09:55:27 -04:00
Brad King ff41664c6b ENH: Slight improvement in genreation time by recording the setting of CMAKE_COLOR_MAKEFILE in an ivar of each local generator at the beginning of generation. This avoids many repeated table lookups. 2006-05-25 14:16:19 -04:00
Brad King ec2104cd31 BUG: Updated Makefile dependency scanning to provide a full local generator to the dependency scanner to do proper path conversions. This allows the rules written into the depend.make files to use the same relative path conversion as those written into the build.make files. Several previous changes added more and more information for use by the dependency scanner and it was converging to having the full local generator anyway. 2006-05-25 09:47:30 -04:00
Ken Martin 50d058a3a1 ENH: always compile progress 2006-05-23 09:11:46 -04:00
Bill Hoffman 2238e22699 ENH: make sure verbose output is used for kde 2006-04-08 14:15:06 -04:00
Brad King eb31755eb2 ENH: Implemented VT100 terminal escape sequences. If CMAKE_COLOR_MAKEFILE is set then messages produced by makefiles will be in color if the native tool supports it. This addresses bug#3060. 2006-03-30 15:39:03 -05:00
Ken Martin 3d96e52261 STYLE: some m_ to this-> cleanup 2006-03-15 11:02:08 -05:00
Bill Hoffman 89e5fc63fe STYLE: fix line lengths 2006-03-10 13:54:57 -05:00
Bill Hoffman 4c5ba06fa1 ENH: use a cmake script to do the clean step, this allows for large numbers of files to be removed without making the command line too long 2006-03-09 14:30:35 -05:00
Brad King 60cd72d01c ENH: Cleaned up generation of symbolic rules. Removed generation of rebuild_cache and similar rules from internal makefiles. 2006-02-15 16:35:16 -05:00
Ken Martin 141ad7645e ENH: some reorg of the unix makefile generator 2006-02-15 10:34:11 -05:00
Ken Martin 96d754046a ENH: more cleanup and removal of old code 2006-01-30 14:25:07 -05:00
Ken Martin 5d35fd4b7e ENH: cleanup and remove some old code 2006-01-30 13:57:01 -05:00
Bill Hoffman 9891260a6d ENH: add support for watcom wmake and wcl386 2006-01-17 10:21:45 -05:00
Brad King 8340c0d186 ENH: Further centralized custom command dependency computation. Custom command dependencies in the source tree may now also be specified relative to the source directory. 2006-01-13 20:51:45 -05:00
Brad King 22c62c9e65 BUG: Sweeping changes to cleanup computation of target names. This should
fix many bugs related to target names being computed inconsistently.

- Centralized computation of a target's file name to a method in
  cmTarget.  Now that global knowledge is always available the
  *_CMAKE_PATH cache variables are no longer needed.

- Centralized computation of link library command lines and link
  directory search order.

- Moved computation of link directories needed to link CMake targets
  to be after evaluation of linking dependencies.

This also removed alot of duplicate code in which each version had its
own bugs.

This commit is surrounded by the tags

  CMake-TargetNameCentralization1-pre

and

  CMake-TargetNameCentralization1-post

so make the large set of changes easy to identify.
2006-01-13 18:18:32 -05:00
Bill Hoffman 61e056e2dc BUG: fix for bug 2533, make foo/foo.o now works and .o files are in the help 2006-01-02 12:36:54 -05:00
Bill Hoffman 452925649a ENH: add better support for framework linking 2005-12-26 13:14:19 -05:00
Bill Hoffman f6588b7919 ENH: fix borland make clean targets before build, add new generators for msys and mingw 2005-12-22 16:42:36 -05:00
Ken Martin 929553a02e ENH: big cleanup and fix for jump commands 2005-10-20 13:40:28 -04:00
Ken Martin 6b444ee345 BUG: cd into local directory to reduce link line length 2005-10-19 10:03:20 -04:00
Ken Martin dce07caf0b ENH: fix warning 2005-08-05 17:07:07 -04:00
Ken Martin 40cd76ab03 ENH: first step to only rebuuilding on flag changes 2005-08-01 10:19:35 -04:00
Ken Martin ad46c80f7a ENH: fix warning 2005-07-28 15:24:31 -04:00
Ken Martin 4a98fcd059 ENH: fix some warnings and cleanup some 2005-07-27 12:41:08 -04:00
Ken Martin 33efcc442b ENH: fix some warnings and cleanup some 2005-07-27 11:36:43 -04:00
Ken Martin ccc292e4b0 ENH: fix some warnings and cleanup some 2005-07-27 11:33:39 -04:00
Ken Martin 6cc7bca222 ENH: fix some warnings and cleanup some 2005-07-27 11:31:17 -04:00
Ken Martin f85f919dbc ENH: reduce the number of files produced still needs a bit more cleanup 2005-07-27 09:49:37 -04:00
Ken Martin ababb68820 BUG: fix for bootstrap problem 2005-07-06 16:16:12 -04:00
Ken Martin 154a0cd162 ENH: added local help and install targets 2005-06-30 09:53:03 -04:00
Ken Martin 369308ca76 ENH: make LOCATION an computed property of the target and get rid of a bunch of const junk 2005-06-22 09:06:46 -04:00
Ken Martin e559aa11ac ENH: added support for forcing recomputation of depends 2005-06-10 10:45:08 -04:00
Ken Martin c2aa4e7a08 ENH: now also provides obj rules for local Makefiles 2005-06-02 13:41:34 -04:00
Ken Martin 46e5b9afe2 ENH: minor perf improvement 2005-06-01 13:37:49 -04:00
Ken Martin f79376c1d1 STYLE: add some better comments and remove some unused code 2005-05-31 10:16:28 -04:00
Ken Martin d7cbf3e1d6 BUG: a fix for constant recomputing of depends 2005-05-25 12:22:32 -04:00
Ken Martin baeeb40823 ENH: some more cleanup and changes to how custom commands are stored 2005-05-24 14:42:23 -04:00
Ken Martin 60bcce7fa2 ENH: added help target and made custom commands execute in start output directory 2005-05-20 11:01:21 -04:00
Ken Martin 78b5cca6e3 ENH: another step to the next generator still not optimized yet 2005-05-18 13:46:00 -04:00
Ken Martin 8575d2369d COMP: some warning fixes and cleanup 2005-05-17 14:39:18 -04:00
Ken Martin 61358ac75c ENH: some more reorg 2005-05-17 11:15:09 -04:00
Ken Martin 8c65179339 ENH: warning fixes and some first steps in cleaning up the convert code 2005-05-13 09:54:30 -04:00
Ken Martin caf17c123b ENH: added new generator 2005-05-12 10:49:56 -04:00
Ken Martin 25d6c04add ENH: another snapshot 2005-05-11 12:44:01 -04:00
Ken Martin 4b1c392c9c ENH: snapshot 2005-05-11 08:45:16 -04:00
Ken Martin 5fb21a0640 ENH: some more cleanup 2005-05-09 08:53:38 -04:00
Ken Martin 0cb20474d8 ENH: updates 2005-05-06 14:49:38 -04:00
Ken Martin c2cd47b32c ENH: backup of work in progress 2005-05-05 12:45:53 -04:00