Stephen Kelly
ff8ac8ee6a
cmLocalGenerator: Create from already-constructed cmMakefile.
...
Don't manage the lifetime of the cmMakefile with cmLocalGenerator.
2015-08-28 18:44:39 +02:00
Stephen Kelly
9b6a743b80
cmLocalGenerator: Remove Parent pointer.
2015-08-28 18:44:38 +02:00
Stephen Kelly
3b880a0741
cmLocalGenerator: Require a valid cmState::Snapshot in the ctor.
...
Refactor the local generator creation API to accept a
cmState::Snapshot. Adjust MakeLocalGenerator to use the 'current'
snapshot in cases where there is no parent. Create the snapshot
for subdirectories in cmMakefile::AddSubdirectory.
This means that snapshots are now created at the point of extending the tree,
as appropriate, and independently of the cmLocalGenerator and cmMakefile they
represent the state for.
2015-05-27 09:18:32 -04:00
Stephen Kelly
e12afe766e
cmState: Host some state from the cmGlobalGenerator.
2015-05-27 09:18:31 -04:00
Stephen Kelly
c7b79aa16a
cmGlobalGenerator: Require a cmake instance in ctor.
...
It is required anyway, so this makes it explicit.
2015-05-27 09:18:31 -04:00
Stephen Kelly
333c1fa83b
cmGlobalUnixMakefileGenerator3: Host the UnixCD.
2015-05-18 20:06:16 +02:00
Stephen Kelly
a97df5e135
cmGlobalUnixMakefileGenerator3: Host the PassMakeflags.
2015-05-18 20:03:49 +02:00
Stephen Kelly
cf7f03e522
cmGlobalUnixMakefileGenerator3: Host the DefineWindowsNULL.
2015-05-16 05:20:36 +02:00
Stephen Kelly
e9b134b95d
cmGlobalUnixMakefileGenerator3: Host the include directive.
...
There is no sense in copying this to each cmLocalGenerator.
2015-05-16 05:20:12 +02:00
Stephen Kelly
b17686d2bb
cmGlobalGenerator: Move some flags from cmLocalGenerator.
...
These flags are global, and so they belong here instead of being
set on each local generator.
2015-05-14 20:36:28 +02:00
Stephen Kelly
34c9ee2ed7
cmLocalGenerator: Require a global generator in the constructor.
...
Port generator factory methods to pass it.
2015-05-14 20:36:27 +02:00
Stephen Kelly
a48aebcb67
cmLocalGenerator: Require a parent in the constructor.
...
Pass the parent though cmGlobalGenerator::CreateLocalGenerator.
This will make it easy to initialize state scopes independent of
cmMakefile.
2015-04-28 07:50:52 +02:00
Stephen Kelly
32b8f03acc
cmMakefile: Port users of GetStart* methods to new names.
2015-04-21 00:15:20 +02:00
Brad King
66a9c90c4b
Makefile: Fix multiple custom command outputs regression ( #15116 )
...
In commit v3.2.0-rc1~272^2~2 (Makefile: Fix rebuild with multiple custom
command outputs, 2014-12-05) we changed the generated makefile pattern
for multiple outputs from
out1: depends...
commands...
out2: out1
to
out1 out2: depends...
commands...
This was based on the incorrect assumption that make tools would treat
this as a combined output rule and run the command(s) exactly once for
them. It turns out that instead this new pattern is equivalent to
out1: depends...
commands...
out2: depends...
commands...
so the commands may be run more than once.
Some documents suggest using a "dedicated witness" stamp file:
stamp: depends...
rm -f stamp
touch stamp.tmp
commands...
mv stamp.tmp stamp
out1 out2: stamp
However, if the commands fail the error message will refer to the stamp
instead of any of the real outputs, which may be confusing to readers.
Also, this approach seems to have the same behavior of the original
approach that motiviated the above commit: multiple invocations are
needed to bring consumers of the outputs up to date.
Instead we can return to the original approach but add an explicit
touch to each extra output rule:
out1: depends...
commands...
out2: out1
touch -c out2
This causes make tools to recognize that all outputs have changed and
therefore to execute any commands that consume them.
2015-03-06 19:58:30 -05:00
Brad King
6c67b8168c
Makefile: Workaround Borland Make bug with multiple outputs
...
Given a rule of the form
out1 out2: dep1
out1 out2: dep2
Borland Make complains that there are multiple rules for "out1"
even though this works when there is only one output. Instead
generate
out1 out2: dep1 dep2
for Borland Make, but only when there are multiple outputs.
2014-12-06 07:36:52 -05:00
Brad King
0c39a757da
Drop the 'Full' field from cmDocumentationEntry
...
We need only 'Brief' for usage documentation. We no longer have builtin
'Full' documentation, which is now in Help/*/*.rst files.
2013-10-16 09:22:37 -04:00
Patrick Gansterer
5170a8800f
Make cmGlobalGenerator::GetDocumentation() a static function
...
Making the function static allows us to call it directly,
without creating and removing an instance of the generator.
2012-11-19 12:54:50 -05:00
Kitware Robot
7bbaa4283d
Remove trailing whitespace from most CMake and C/C++ code
...
Our Git commit hooks disallow modification or addition of lines with
trailing whitespace. Wipe out all remnants of trailing whitespace
everywhere except third-party code.
Run the following shell code:
git ls-files -z -- \
bootstrap doxygen.config '*.readme' \
'*.c' '*.cmake' '*.cpp' '*.cxx' \
'*.el' '*.f' '*.f90' '*.h' '*.in' '*.in.l' '*.java' \
'*.mm' '*.pike' '*.py' '*.txt' '*.vim' |
egrep -z -v '^(Utilities/cm|Source/(kwsys|CursesDialog/form)/)' |
egrep -z -v '^(Modules/CPack\..*\.in)' |
xargs -0 sed -i 's/ \+$//'
2012-08-13 14:18:39 -04:00
Brad King
96afb12087
Convert CMake to OSI-approved BSD License
...
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.
2009-09-28 11:43:28 -04:00
Ken Martin
6cdf032505
ENH: change to make the documentation class more generic, about halfway there, also provides secitons for Variables now
2007-10-22 12:49:09 -04:00
Alexander Neundorf
43de8c8628
ENH: add OPTIONAL keyword to ENABLE_LANGUAGE, so it will be possible to do
...
something like this:
ENABLE_LANGUAGE(ASM-ATT)
IF(CMAKE_ASM-ATT_COMPILER_WORKS)
... do assembler stufff
ELSE(CMAKE_ASM-ATT_COMPILER_WORKS)
... fallback to generic C/C++
ENDIF(CMAKE_ASM-ATT_COMPILER_WORKS)
Alex
2007-06-28 09:09:26 -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
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
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
0bbcb49f65
ENH: Added generation of link rules into script files executed by a cmake -E command in order to support longer link lines. This is needed only on platforms without response file support and that may have weak shells.
2006-06-15 16:17:11 -04:00
Ken Martin
71b993560b
STYLE: fix line length
2006-05-10 15:56:00 -04:00
Brad King
4494c29078
ENH: Enabling color makefile support using cmsysTerminal_cfprintf. Support for color is automatically detected when messages are printed. Also made color scheme more readable on both black and white backgrounds. This option can be enabled by setting CMAKE_COLOR_MAKEFILE to true in the project.
2006-04-26 21:31:39 -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
Brad King
f09778c4a5
BUG: Work-around borland make bug that drops a rule completely if it has no dependencies or commands.
2006-02-16 18:50:16 -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
caf17c123b
ENH: added new generator
2005-05-12 10:49:56 -04:00
Brad King
1c4337d778
ENH: Removed CMAKE_GENERATOR_NEW now that the old unix makefile generator is never used.
2005-04-06 15:06:08 -04:00
Brad King
c7beb28657
ENH: Enabling cmLocalUnixMakefileGenerator2 by default.
2005-03-01 12:27:06 -05:00
Bill Hoffman
731369ef9c
ENH: try to initialize all languages at the same time
2004-08-27 08:41:07 -04:00
Bill Hoffman
66a08c10e5
ENH: more uniform approach to enable language, one step closer to being able to enable a language without modifing cmake source code
2004-08-26 14:55:55 -04:00
Bill Hoffman
34853be45a
BUG: fix for bug 346, borland should now support dash in the path
2003-11-05 11:18:15 -05:00
Bill Hoffman
3e2c1f3477
BUG: fix for bug 303 pass makeflags to sub makes
2003-10-28 11:06:06 -05:00
Bill Hoffman
a413160fec
ENH: add the unix makefile generator as an option from the windows GUI, this builds with mingw, cygwin, and combinations of make cl, bcc32
2003-08-21 16:22:23 -04:00
Brad King
e5ed57ec18
ENH: Registered global generators are now kept in a table in the cmake instance. Added support for documentation with a Generators section.
2003-07-07 21:52:10 -04:00
Bill Hoffman
96189f79d5
ENH: unify EnableLanguage across all generators
2002-12-05 13:44:11 -05:00
Bill Hoffman
1e8914ada8
BUG: fix get make command problems.
2002-12-04 10:57:22 -05:00
Bill Hoffman
e2d1104881
determine CMAKE_MAKE_PROGRAM in EnableLanguage
2002-12-03 16:19:16 -05:00
Bill Hoffman
f5d95fb078
Complete rework of makefile generators expect trouble
2002-11-08 15:46:08 -05:00
Brad King
1f6a3c67b1
ENH: Added reference to Copyright.txt. Removed old reference to ITK copyright. Changed program name to CMake instead of Insight in source file header. Also removed tabs.
2002-10-23 18:03:27 -04:00
Ken Martin
386c19ff6a
fix for borland compilers
2002-09-07 21:18:09 -04:00
Ken Martin
d28e483f4e
first cut a new arch
2002-09-04 15:22:11 -04:00