Kitware Robot
d9fd2f5402
Revise C++ coding style using clang-format
...
Run the `Utilities/Scripts/clang-format.bash` script to update
all our C++ code to a new style defined by `.clang-format`.
Use `clang-format` version 3.8.
* If you reached this commit for a line in `git blame`, re-run the blame
operation starting at the parent of this commit to see older history
for the content.
* See the parent commit for instructions to rebase a change across this
style transition commit.
2016-05-16 16:05:19 -04:00
Brad King
0ac18d40c8
Remove `//------...` horizontal separator comments
...
Modern editors provide plenty of ways to visually separate functions.
Drop the explicit comments that previously served this purpose.
Use the following command to automate the change:
$ git ls-files -z -- \
"*.c" "*.cc" "*.cpp" "*.cxx" "*.h" "*.hh" "*.hpp" "*.hxx" |
egrep -z -v "^Source/cmCommandArgumentLexer\." |
egrep -z -v "^Source/cmCommandArgumentParser(\.y|\.cxx|Tokens\.h)" |
egrep -z -v "^Source/cmDependsJavaLexer\." |
egrep -z -v "^Source/cmDependsJavaParser(\.y|\.cxx|Tokens\.h)" |
egrep -z -v "^Source/cmExprLexer\." |
egrep -z -v "^Source/cmExprParser(\.y|\.cxx|Tokens\.h)" |
egrep -z -v "^Source/cmFortranLexer\." |
egrep -z -v "^Source/cmFortranParser(\.y|\.cxx|Tokens\.h)" |
egrep -z -v "^Source/cmListFileLexer\." |
egrep -z -v "^Source/cm_sha2" |
egrep -z -v "^Source/(kwsys|CursesDialog/form)/" |
egrep -z -v "^Utilities/(KW|cm).*/" |
xargs -0 sed -i '/^\(\/\/---*\|\/\*---*\*\/\)$/ {d;}'
This avoids modifying third-party sources and generated sources.
2016-05-09 09:41:43 -04:00
Brad King
64b5520346
Isolate formatted streaming blocks with clang-format off/on
...
The clang-format tool can do a good job formatting most code, but
well-organized streaming blocks are best left manually formatted.
Find blocks of the form
os <<
"...\n"
"...\n"
;
using the command
$ git ls-files -z -- Source |
egrep -v -z '^Source/kwsys/' |
xargs -0 pcregrep -M --color=always -B 1 -A 1 -n \
'<<[^\n]*\n(^ *("[^\n]*("|<<|;)$|;)\n){2,}'
Find blocks of the form
os << "...\n"
<< "...\n"
<< "...\n";
using the command
$ git ls-files -z -- Source |
egrep -v -z '^Source/kwsys/' |
xargs -0 pcregrep -M --color=always -B 1 -A 1 -n \
'<<[^\n]*\n(^ *<<[^\n]*(\\n"|<<|;)$\n){2,}'
Surround such blocks with the pair
/* clang-format off */
...
/* clang-format on */
in order to protect them from update by clang-format. Use the C-style
`/*...*/` comments instead of C++-style `//...` comments in order to
prevent them from ever being swallowed by re-formatting of surrounding
comments.
2016-05-06 14:25:55 -04:00
Brad King
180538c706
Source: Stabilize include order
...
Each source file has a logical first include file. Include it in an
isolated block so that tools that sort includes do not move them.
2016-04-29 13:58:31 -04:00
James Johnston
afeb4eb243
nmake/jom: Only warn about bad VS environment if compiler not found.
...
nmake and jom generators no longer warn about missing INCLUDE/LIB
environment variables unless the C/CXX compiler cannot be found. This
is useful if the user does not want to use these generators with the
Visual C++ compiler, or they do not want to enable any language.
2015-08-06 17:32:43 +00: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
036372c4cd
Remove obsolete overrides of CreateLocalGenerator.
...
The cmGlobalMakefileGenerator3 has an identical implementation.
2015-05-18 20:06:20 +02:00
Stephen Kelly
684e5cefb2
cmGlobalGenerator: Host the MakeSilentFlag.
2015-05-18 20:06:20 +02:00
Stephen Kelly
2047144f49
cmLocalGenerator: Remove unused IgnoreLibPrefix.
2015-05-18 20:06:20 +02: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
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
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
Bill Hoffman
a9bda84ba8
ENH: LIBPATH is not required for cl to work
2009-03-27 11:18:58 -04:00
Bill Hoffman
9430c3f335
ENH: better error message for mis-configured nmake environment
2008-10-14 11:42:45 -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
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
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
b8483cf109
STYLE: fix line length
2006-05-11 10:40:28 -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
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
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
Bill Hoffman
63ca58ceaf
ENH: allow lib prefix for to stay for nmake and borland make as it is not a system prefix
2003-08-01 13:13:43 -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
3abb9e240d
compiler warnings
2002-09-08 10:17:03 -04:00
Ken Martin
5b0611d709
updates
2002-09-04 15:24:49 -04:00
Ken Martin
a888ba53fa
in progress
2002-08-30 16:01:48 -04:00