summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalUnixMakefileGenerator3.h
Commit message (Collapse)AuthorAgeFilesLines
* Convert CMake to OSI-approved BSD LicenseBrad King2009-09-281-14/+9
| | | | | | | This converts the CMake license to a pure 3-clause OSI-approved BSD License. We drop the previous license clause requiring modified versions to be plainly marked. We also update the CMake copyright to cover the full development time range.
* Major optimization of C/C++ dependency scanning.Alexander Neundorf2009-09-231-1/+5
| | | | | | | | | | | | | | Now only the dependencies for the file where the dependencies actually may have changed are rescanned, before that this was done for all source files even if only one source file had changed. This reduces e.g. on my machine the time for scanning the dependencies of kdelibs/khtml/ when only one file (khtml_global.cpp) has changed from around 7.5 seconds to 1.2 seconds. The tests succeed, it does what I expected it to do on kdelibs, and Brad also reviewed the patch, so I think it should be ok. Alex
* Major improvement of the generated targets in Eclipse.Alexander Neundorf2009-09-161-0/+10
| | | | | | | | | | | | | | | Before this change all targets were displayed in the top level directory of the project. Now the targets are displayed in the correct directory. The targets "clean" and "all" are now created in every subdirectory. Also now the targets for just compiling one file, preprocessing one file, assembling one file are are created for Eclipse. Additionally all targets get a prefix now in eclipse, so that they are sorted in a way which makes sense (global targets first, then executable and libraries, then object files, then preprocessed, then assembly). Also this prefix gives the user a hint what the target is, i.e. whether it's a library or an executable or something else. Alex
* ENH: Cleanup make progress rule generation codeBrad King2009-06-251-11/+0
| | | | | | | | This cleans up the Makefile generator's progress rule code. Instead of keeping every cmMakefileTargetGenerator instance alive to generate progress, we keep only the information necessary in a single table. This approach keeps most of the code in cmGlobalUnixMakefileGenerator3, thus simplifying its public interface.
* ENH: Define RULE_LAUNCH_* propertiesBrad King2009-02-101-0/+3
| | | | | | | 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.
* ENH: Give target in which custom commands buildBrad King2009-02-101-0/+2
| | | | | | This gives the cmTarget instance for which custom command rules are being generated to cmLocalUnixMakefileGenerator3::AppendCustomCommands. It will be useful in the future.
* STYLE: fix two typos in the comments, patch from Daniel DOT Teske AT Nokia ↵Alexander Neundorf2009-02-091-1/+1
| | | | | | DOT com, QtCreator developer Alex
* ENH: Refactor custom command rule hashingBrad King2009-02-021-1/+2
| | | | | | | | | | 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.
* BUG: Fix color check for dependency scanningBrad King2008-10-151-0/+3
| | | | | Generation of color rules for dependency scanning messages did not account for disabling color at generation time. See issue #7814.
* ENH: Fix optional use of relative paths.Brad King2008-10-091-3/+8
| | | | | | | 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.
* ENH: Improved escaping in kwsys/System. Added escape of % for NMake. Added ↵Brad King2008-01-131-0/+5
| | | | escape of ; for the VS IDE.
* BUG: Restore old interface of "make foo.o" and "make foo.i" even though ↵Brad King2008-01-071-3/+7
| | | | 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.
* ENH: Moved global inter-target dependency analysis and cycle-prevention code ↵Brad King2007-12-231-1/+1
| | | | up from cmGlobalUnixMakefileGenerator3 to cmGlobalGenerator. Simplified cmGlobalUnixMakefileGenerator3 to use it. Later other generators may be modified to use it also.
* ENH: Add a depends check step to custom targets. Add support for the ↵Brad King2007-12-211-3/+4
| | | | IMPLICIT_DEPENDS feature of custom commands when building in custom targets. Convert multiple-output pair checks to be per-target instead of global.
* ENH: Enabled color printing of "Scanning dependencies of target ..." message.Brad King2007-12-191-1/+2
|
* ENH: Moved dependency integrity check from CheckBuildSystem over to a ↵Brad King2007-12-191-4/+7
| | | | 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.
* ENH: Implemented generation of display for pre-build, pre-link, and ↵Brad King2007-12-181-1/+2
| | | | post-build custom command comments during the build. This addresses issue #5353.
* ENH: Replaced dependency integrity map with an explicit map from object file ↵Brad King2007-08-071-11/+14
| | | | 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.
* ENH: Moved GetTargetDirectory method up to cmLocalGenerator. This provides ↵Brad King2007-08-011-1/+1
| | | | a common interface to something that was implemented in most local generators anyway.
* STYLE: Removed unused reference to cmMakeDepend.Brad King2007-06-111-1/+0
|
* STYLE: move ForceVerboseMakefiles to cmGlobalUnixMakefileGenerator3, so theAlexander Neundorf2007-06-051-10/+0
| | | | | | kdevelop generator doesn't need its own CreateLocalGenerator() anymore Alex
* ENH: Added testing for custom command line arguments containing all special ↵Brad King2007-05-171-0/+13
| | | | characters on the US keyboard. Fixed curly brace arguments on borland and % arguments in mingw32-make.
* BUG: fix -D escaped quotes for watcomBill Hoffman2007-05-101-0/+3
|
* ENH: Replaced LibraryOutputPath and ExecutableOutputPath variables in ↵Brad King2007-03-081-7/+0
| | | | 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.
* ENH: Fixed recursive make call target escaping for Borland to support ↵Brad King2007-03-081-0/+8
| | | | SubDirSpaces test.
* ENH: Removed useless method ConvertToMakeTarget and all calls to it. It had ↵Brad King2007-03-081-3/+0
| | | | a buggy implementation that caused it to do nothing.
* ENH: check in initial conv library stuffBill Hoffman2007-02-161-1/+3
|
* BUG: fix for 4186, kdevelop adding file twiceBill Hoffman2007-01-251-25/+9
|
* ENH: Adding support for # escape in Watcom WMake.Brad King2006-10-251-0/+5
|
* BUG: Juse use cmake -E echo instead of the native echo on MinGW makefiles. ↵Brad King2006-10-131-2/+3
| | | | The echo; hack did not work when running from ctest.
* BUG: Hack to make echo command work properly in mingw32-make.Brad King2006-10-051-0/+9
|
* BUG: Fixed display of custom command comments with quotes, dollars, and ↵Brad King2006-10-041-5/+0
| | | | other special characters in them.
* BUG: MSYS makefile shell needs posix paths to executables in some cases and ↵Brad King2006-09-281-0/+7
| | | | it does not hurt to do it always.
* ENH: Centralized generation of targets listed in the help to be done by the ↵Brad King2006-08-231-1/+5
| | | | code that actually writes the targets.
* BUG: Added object language to list of object files in a local generator's ↵Brad King2006-08-151-3/+12
| | | | directory. Fixed generation of preprocessing and assembly rules to be done only for C and C++ objects.
* ENH: Added options CMAKE_SKIP_PREPROCESSED_SOURCE_RULES and ↵Brad King2006-08-091-2/+14
| | | | CMAKE_SKIP_ASSEMBLY_SOURCE_RULES to allow projects to disable generation of .E and .S rules.
* ENH: Added generation of rules to manually request preprocessed or generated ↵Brad King2006-08-081-0/+6
| | | | assembly sources.
* ENH: Moved GetSourceFileLanguage up to cmLocalGenerator.Brad King2006-08-031-6/+0
|
* ENH: Restoring previous change with a fix.Brad King2006-08-021-0/+4
|
* ENH: undo change that broke borland 5.6 contBill Hoffman2006-08-011-4/+0
|
* ENH: Moved generation of directory-level object convenience rules to a ↵Brad King2006-08-011-0/+4
| | | | separate method. This will aid generation of more such rules later.
* ENH: added progress for subdir all targets and fixed compiler waringKen Martin2006-07-121-0/+1
|
* ENH: Moved unique object file name computation from ↵Brad King2006-07-111-2/+0
| | | | 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.
* BUG: changed to progress to make it more flexible and to no relink targets ↵Ken Martin2006-07-111-0/+7
| | | | as often
* ENH: Slight improvement in genreation time by recording the setting of ↵Brad King2006-05-251-1/+5
| | | | CMAKE_COLOR_MAKEFILE in an ivar of each local generator at the beginning of generation. This avoids many repeated table lookups.
* BUG: Updated Makefile dependency scanning to provide a full local generator ↵Brad King2006-05-251-1/+1
| | | | 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.
* ENH: always compile progressKen Martin2006-05-231-0/+3
|
* ENH: make sure verbose output is used for kdeBill Hoffman2006-04-081-0/+1
|
* ENH: Implemented VT100 terminal escape sequences. If CMAKE_COLOR_MAKEFILE ↵Brad King2006-03-301-1/+4
| | | | is set then messages produced by makefiles will be in color if the native tool supports it. This addresses bug#3060.
* STYLE: some m_ to this-> cleanupKen Martin2006-03-151-36/+36
|