| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
This gives the cmTarget instance for which custom command rules are
being generated to cmLocalUnixMakefileGenerator3::AppendCustomCommands.
It will be useful in the future.
|
|
|
|
|
|
| |
DOT com, QtCreator developer
Alex
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Generation of color rules for dependency scanning messages did not
account for disabling color at generation time. See issue #7814.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
escape of ; for the VS IDE.
|
|
|
|
| |
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.
|
|
|
|
| |
up from cmGlobalUnixMakefileGenerator3 to cmGlobalGenerator. Simplified cmGlobalUnixMakefileGenerator3 to use it. Later other generators may be modified to use it also.
|
|
|
|
| |
IMPLICIT_DEPENDS feature of custom commands when building in custom targets. Convert multiple-output pair checks to be per-target instead of global.
|
| |
|
|
|
|
| |
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.
|
|
|
|
| |
post-build custom command comments during the build. This addresses issue #5353.
|
|
|
|
| |
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.
|
|
|
|
| |
a common interface to something that was implemented in most local generators anyway.
|
| |
|
|
|
|
|
|
| |
kdevelop generator doesn't need its own CreateLocalGenerator() anymore
Alex
|
|
|
|
| |
characters on the US keyboard. Fixed curly brace arguments on borland and % arguments in mingw32-make.
|
| |
|
|
|
|
| |
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.
|
|
|
|
| |
SubDirSpaces test.
|
|
|
|
| |
a buggy implementation that caused it to do nothing.
|
| |
|
| |
|
| |
|
|
|
|
| |
The echo; hack did not work when running from ctest.
|
| |
|
|
|
|
| |
other special characters in them.
|
|
|
|
| |
it does not hurt to do it always.
|
|
|
|
| |
code that actually writes the targets.
|
|
|
|
| |
directory. Fixed generation of preprocessing and assembly rules to be done only for C and C++ objects.
|
|
|
|
| |
CMAKE_SKIP_ASSEMBLY_SOURCE_RULES to allow projects to disable generation of .E and .S rules.
|
|
|
|
| |
assembly sources.
|
| |
|
| |
|
| |
|
|
|
|
| |
separate method. This will aid generation of more such rules later.
|
| |
|
|
|
|
| |
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.
|
|
|
|
| |
as often
|
|
|
|
| |
CMAKE_COLOR_MAKEFILE in an ivar of each local generator at the beginning of generation. This avoids many repeated table lookups.
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
is set then messages produced by makefiles will be in color if the native tool supports it. This addresses bug#3060.
|
| |
|