summaryrefslogtreecommitdiffstats
path: root/Source/cmStandardIncludes.h
Commit message (Collapse)AuthorAgeFilesLines
* Remove cmObject.h and cmTypeMacro.hDaniel Pfeifer2016-10-241-1/+0
|
* Simplify CMake per-source license noticesBrad King2016-09-271-11/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Per-source copyright/license notice headers that spell out copyright holder names and years are hard to maintain and often out-of-date or plain wrong. Precise contributor information is already maintained automatically by the version control tool. Ultimately it is the receiver of a file who is responsible for determining its licensing status, and per-source notices are merely a convenience. Therefore it is simpler and more accurate for each source to have a generic notice of the license name and references to more detailed information on copyright holders and full license terms. Our `Copyright.txt` file now contains a list of Contributors whose names appeared source-level copyright notices. It also references version control history for more precise information. Therefore we no longer need to spell out the list of Contributors in each source file notice. Replace CMake per-source copyright/license notice headers with a short description of the license and links to `Copyright.txt` and online information available from "https://cmake.org/licensing". The online URL also handles cases of modules being copied out of our source into other projects, so we can drop our notices about replacing links with full license text. Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority of the replacements mechanically. Manually fix up shebang lines and trailing newlines in a few files. Manually update the notices in a few files that the script does not handle.
* cmTargetLinkLibraryType: Extract from cmStandardIncludes.hDaniel Pfeifer2016-06-161-7/+1
|
* cmTypeMacro: Extract from cmStandardIncludes.hDaniel Pfeifer2016-06-161-22/+1
|
* cmCustomCommandLines: Extract from cmStandardIncludes.hDaniel Pfeifer2016-06-161-18/+1
|
* cmDocumentationEntry: Extract from cmStandardIncludesDaniel Pfeifer2016-06-131-25/+1
|
* cmConfigure.h: Establish as 'include first' fileDaniel Pfeifer2016-06-131-12/+0
| | | | | | | | | | At the moment, cmStandardIncludes.h needs to be included before any standard includes because it disables some warnings that are caused by the standard library of some compilers. Move this responsibility to the cmConfigure.h file. Also add include guards to cmConfigure.h to make sure the file can be included multiple times.
* Add missing braces around statements in header filesDaniel Pfeifer2016-06-111-4/+8
|
* Revise C++ coding style using clang-formatKitware Robot2016-05-161-43/+47
| | | | | | | | | | | | | 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.
* Format include directive blocks and ordering with clang-formatBrad King2016-04-291-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Source: Stabilize include orderBrad King2016-04-291-0/+1
| | | | | 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.
* Port CMake from cmIML to KWIMLBrad King2015-12-181-1/+1
| | | | KWIML no longer uses a configured prefix.
* Merge topic 'include-for-mode_t'Brad King2015-12-021-0/+2
|\ | | | | | | | | 001043ac Include `sys/types.h` header to get `mode_t`
| * Include `sys/types.h` header to get `mode_t`Kylie McClain2015-12-021-0/+2
| | | | | | | | | | Do not depend on it being included by other system headers. It is not included by others on musl-libc, for example.
* | cmTarget: Move link type enum out.Stephen Kelly2015-10-141-0/+6
|/ | | | Remove a reason for generate time code to depend on the cmTarget header/type.
* Remove use of include <cmsys/IOStream.hxx> from KWSysBrad King2015-08-211-8/+0
| | | | We no longer need this compatibility layer for the compilers we support.
* Split cmAlgorithms into a separate header file.Stephen Kelly2015-02-101-134/+0
|
* cmStandardIncludes: Remove list include.Stephen Kelly2015-02-061-1/+0
| | | | Include it only where used.
* cmStandardIncludes: Remove deque include.Stephen Kelly2015-02-061-1/+0
| | | | Include it only where used.
* cmStandardIncludes: Remove some VS6 workarounds.Stephen Kelly2015-02-061-10/+0
| | | | | Added in commit v2.6.0~2824 (COMP: Fix warnings in system headers on VS6., 2006-08-29), but no longer needed.
* cmDeleteAll: Generalize deletion specialization for map types.Stephen Kelly2015-01-171-4/+17
| | | | | Assume that a container whose value_type is a std::pair should have its second member deleted.
* Add a generic algorithm for deleting items in a container.Stephen Kelly2015-01-131-0/+27
| | | | | | | | Specialize for std::map types to delete the second element from the iterator. This is not quite general enough that it can be used everywhere, because CMake inherits from std::map and creates typedefs with custom comparison functors etc, which can not use this algorithm.
* Merge topic 'join-algorithm'Brad King2015-01-121-0/+27
|\ | | | | | | | | | | | | 55a73e6b Use the cmJoin algorithm where possible. 8dc8d756 cmStandardIncludes: Add a join algorithm for string containers. b5813cee cmInstallCommand: Remove unused variable.
| * cmStandardIncludes: Add a join algorithm for string containers.Stephen Kelly2015-01-081-0/+27
| | | | | | | | | | | | | | | | This requires the input range to supply BidirectionalIterators, which is not a problem for where it is currently useful to us. The alternative would be to not invoke --last;, and instead create an output iterator similar to std::ostream_iterator, but which puts the delimiter before the item to output.
* | cmStandardIncludes: Remove obsolete cmOStringStream.Stephen Kelly2015-01-111-61/+4
| |
* | Port all cmOStringStream to std::ostringstream.Stephen Kelly2015-01-111-1/+1
| | | | | | | | All compilers hosting CMake support the std class.
* | Remove unused cmIStringStream class.Stephen Kelly2015-01-081-31/+0
| |
* | cmStandardIncludes: Remove std namespace hack.Stephen Kelly2015-01-081-5/+0
| |
* | cmStandardIncludes: Remove ANSI_FOR_SCOPE hack.Stephen Kelly2015-01-081-7/+0
| | | | | | | | All compilers hosting CMake support proper for scoping.
* | cmStandardIncludes: Remove iostreams workaround for obsolete Compaq compiler.Stephen Kelly2015-01-081-49/+0
| | | | | | | | It is no longer tested on the dashboard.
* | cmStandardIncludes: Drop Comeau-related workaround.Stephen Kelly2015-01-081-13/+0
| | | | | | | | | | The compiler is not tested on the dashboard, and on Windows there are more-natural compilers to use to build CMake.
* | Remove Borland-related undef.Stephen Kelly2015-01-081-1/+0
| |
* | cmStandardIncludes: Remove comment about Borland.Stephen Kelly2015-01-081-11/+0
| | | | | | | | | | The code the comment refers to was removed in commit 2db55ffa (Remove borland workarounds., 2014-08-06)
* | Drop SGI as a CMake host compiler.Stephen Kelly2015-01-081-42/+1
|/ | | | | It has not been tested since commit v3.1.0-rc1~584^2 (Utilities/Release: Drop IRIX binary generation on ferrari, 2014-04-30).
* Remove workaround for GCC < 3 ios_base absence.Stephen Kelly2015-01-011-5/+0
|
* Remove GCC 2.95 support macros in favor of template versions.Stephen Kelly2015-01-011-16/+0
| | | | GCC < 3 is no longer supported as a host compiler.
* cmStandardIncludes: Remove MSVC6 condition for cmArrayBegin macro.Stephen Kelly2014-11-201-2/+1
|
* Remove borland workarounds.Stephen Kelly2014-10-151-20/+1
| | | | | CMake 3.0 is the last release to require to be able to build with Borland.
* Remove const char string comparison helper.Stephen Kelly2014-09-171-6/+0
| | | | It is now unused.
* Remove extra semicolons from C++ code.Stephen Kelly2014-04-031-3/+3
| | | | | Clang based tools running over the code complain about these, but clang has a fixit for removing them.
* cmTypeMacro: Add a class to eat the semicolon following the macro use.Stephen Kelly2014-04-031-1/+2
| | | | | Apply the same workaround to the cmCPackTypeMacro. Additionally change that macro to not use 'class' as a macro parameter.
* strings: Remove cmStdString referencesBen Boeckel2014-03-081-2/+2
| | | | | | | | | | | Casts from std::string -> cmStdString were high on the list of things taking up time. Avoid such implicit casts across function calls by just using std::string everywhere. The comment that the symbol name is too long is no longer relevant since modern debuggers alias the templates anyways and the size is a non-issue since the underlying methods are generated since it's inherited.
* stringapi: Accept strings in cmStrCmpBen Boeckel2014-03-081-3/+8
|
* cmStandardIncludes: Include cmIML/INT.h for portable integer typesBrad King2014-02-101-0/+3
| | | | Also teach the bootstrap script to configure the needed headers.
* Add cmHasLiteralSuffix API.Stephen Kelly2014-01-061-0/+25
|
* Constify cmStrCmp.Stephen Kelly2013-12-191-3/+3
|
* cmTarget: Add whitelist of properties on INTERFACE_LIBRARY.Stephen Kelly2013-11-251-0/+6
|
* cmStandardIncludes: Add new cmHasLiteralPrefix function.Stephen Kelly2013-11-211-1/+25
| | | | | | | | | This allows avoiding error-prone hard-coding of literal string lengths. Borland is not able to process the template version of this method. Make it use the macro version instead. This means that Borland will also use the macro versions of cmArray*.
* cmArray: Use macro variant of cmArray{Begin,Size,End} for old GCC.Stephen Kelly2013-10-241-1/+2
| | | | It is not capable of using the template versions.
* Add some templates for cleaner array iteration.Stephen Kelly2013-10-221-0/+28
|