Commit Graph

44 Commits

Author SHA1 Message Date
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 e1c7747253 Format include directive blocks and ordering with clang-format
Sort include directives within each block (separated by a blank line) in
lexicographic order (except to prioritize `sys/types.h` first).  First
run `clang-format` with the config file:

    ---
    SortIncludes: false
    ...

Commit the result temporarily.  Then run `clang-format` again with:

    ---
    SortIncludes: true
    IncludeCategories:
      - Regex:    'sys/types.h'
        Priority: -1
    ...

Commit the result temporarily.  Start a new branch and cherry-pick the
second commit.  Manually resolve conflicts to preserve indentation of
re-ordered includes.  This cleans up the include ordering without
changing any other style.

Use the following command to run `clang-format`:

    $ git ls-files -z -- \
        '*.c' '*.cc' '*.cpp' '*.cxx' '*.h' '*.hh' '*.hpp' '*.hxx' |
      egrep -z -v '(Lexer|Parser|ParserHelper)\.' |
      egrep -z -v '^Source/cm_sha2' |
      egrep -z -v '^Source/(kwsys|CursesDialog/form)/' |
      egrep -z -v '^Utilities/(KW|cm).*/' |
      egrep -z -v '^Tests/Module/GenerateExportHeader' |
      egrep -z -v '^Tests/RunCMake/CommandLine/cmake_depends/test_UTF-16LE.h' |
      xargs -0 clang-format -i

This selects source files that do not come from a third-party.

Inspired-by: Daniel Pfeifer <daniel@pfeifer-mail.de>
2016-04-29 13:58:54 -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
Stephen Kelly 0aec491328 Port cmCommand consumers to cmState. 2015-04-15 11:43:49 -04:00
Stephen Kelly 931e055d8c Port all cmOStringStream to std::ostringstream.
All compilers hosting CMake support the std class.
2015-01-11 17:06:03 +01:00
Stephen Kelly 21c573f682 Remove some c_str() calls.
Use the clang RemoveCStrCalls tool to automatically migrate the
code. This was only run on linux, so does not have any positive or
negative effect on other platforms.
2014-03-11 15:03:50 +01:00
Ben Boeckel 85fc9f26a7 stringapi: Command names 2014-03-08 13:05:39 -05:00
Brad King aa76518f8b Add policy CMP0031 to disallow load_command 2013-10-22 09:09:52 -04:00
Brad King e33d8d2d77 Drop builtin command documentation
Drop all GetTerseDocumentation and GetFullDocumentation methods from
commands.  The command documentation is now in Help/command/*.rst files.
2013-10-16 09:22:36 -04:00
Brad King 09a0da7789 Revert "load_command: Deprecate and document pending removal"
This reverts commit d2d43986e7.
We will add a policy to remove the command more gracefully.
2013-01-07 10:31:07 -05:00
Brad King d2d43986e7 load_command: Deprecate and document pending removal
This command works only when building projects using the same
architecture as the running CMake binary.  Since it was introduced
CMake has learned macro() and function() to add commands, and the
execute_process() command to launch advanced external computations.

Add a RunCMake.load_command test to verify the warning appears.
2012-11-07 09:24:05 -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
Yury G. Kudryashov 737c49a357 Add 'const' qualifier to some cmCommand members
Use const_cast for the special case in cmFindBase where
GetFullDocumentation calls GenerateDocumentation.
2012-02-29 13:27:04 -05: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
Brad King 71c0e1417b ENH: Keep only FinalPass commands in memory
In cmMakefile we save all invoked commands so that FinalPass can be
called on them later.  Most commands have no final pass, so we should
keep only the few that do.
2009-07-24 13:31:34 -04:00
Ken Martin 0e69d38004 ENH: add return and break support to cmake, also change basic command invocation signature to be able to return extra informaiton via the cmExecutionStatus class 2008-01-23 10:28:26 -05:00
Brad King 0b0258c548 BUG: Reverting previous change. It did not account for the possibility that the loaded command was built with a different compiler. 2007-04-20 09:49:27 -04:00
Brad King a7efb3feb7 ENH: Removed code unnecessary now that DynamicLoader is implemented better. 2007-04-19 11:23:04 -04:00
Brad King 658d38e0af COMP: Added missing includes. This partially addresses bug#3556. 2006-08-01 14:31:24 -04:00
Brad King 1d38a3e09e BUG: Removed compiled-in CMAKE_SHARED_MODULE_PREFIX and CMAKE_SHARED_MODULE_SUFFIX for loaded commands in favor of using the settings from the platform files. 2006-03-16 17:09:08 -05:00
Andy Cedilnik f483e48d2a ENH: Cleanup DynamicLoader so that the symbols have more consistent names, start using dynamic loader from kwsys in CMake 2006-03-16 11:01:05 -05:00
Ken Martin 3d96e52261 STYLE: some m_ to this-> cleanup 2006-03-15 11:02:08 -05:00
Ken Martin 345cf04012 ENH: big change that includes immediate subdir support, removing the notion of inherited commands, makefiles no longer read in the parent makefiles but instead inherit thier parent makefiles current settings 2005-03-18 10:41:41 -05:00
Brad King ec497c7a23 ENH: LOAD_COMMAND command will now set a variable called CMAKE_LOADED_COMMAND_<COMMAND_NAME> to the full path of the loaded module if loading was successful. Otherwise the variable is not set (will evaluate to empty string). This is useful both in testing whether loading worked and for installing loaded command modules. 2005-02-22 14:52:55 -05:00
Bill Hoffman c19a70b3ad WRN: remove warnings 2004-04-27 08:30:25 -04:00
Bill Hoffman ec0626e54d ENH: fix for bug id 27, add a signal handler for crashes in loaded commands 2004-04-26 17:45:53 -04:00
Andy Cedilnik 0d8f8a0dc2 ERR: Fix crash of cmake on broken load commands 2003-08-19 11:02:56 -04:00
Andy Cedilnik aef3ca6df8 BUG: LastError can return 0, so handle that case 2003-08-19 10:29:59 -04:00
Brad King 4888c088ae ENH: Moved ExpandListVariables out of individual commands. Argument evaluation rules are now very consistent. Double quotes can always be used to create exactly one argument, regardless of contents inside. 2002-12-11 18:13:33 -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 876645af51 better warning message 2002-10-15 14:33:11 -04:00
Ken Martin e4e920ef6c better warning message 2002-10-15 11:45:04 -04:00
Ken Martin abf3337888 some mods to the plugin API 2002-10-08 15:55:04 -04:00
Andy Cedilnik d86d95cf2b Cleanup 2002-09-24 10:30:57 -04:00
Ken Martin bafeb69742 cleaned up API 2002-09-23 14:57:24 -04:00
Andy Cedilnik 5843ae455e Fix loading of module for borland 2002-09-23 13:11:39 -04:00
Ken Martin f835a83b8d better error reporting 2002-09-18 11:36:58 -04:00
Ken Martin 0a2f6c876c added destructor to loaded commands 2002-09-17 10:38:00 -04:00
Brad King ce65c54d7a ERR: Fixes for comeau compiler. NULL is a pointer of type void*, and cannot be compared directly with other pointer types. We use 0 instead. 2002-09-10 15:39:18 -04:00
Ken Martin d0be2896d7 changed cache manager and registered generators to no longer be singletons 2002-08-28 14:51:10 -04:00
Bill Hoffman 37b73a908a ENH: fix warnings 2002-08-27 09:43:54 -04:00
Ken Martin d99454cba4 now uses stubs 2002-08-26 10:52:04 -04:00
Ken Martin a21140658c adding plugin support 2002-08-21 11:58:48 -04:00