Commit Graph

31541 Commits

Author SHA1 Message Date
Taylor Braun-Jones f12b899f4e cmake-mode.el: Make cmake-tab-width a customizable variable 2016-05-10 13:50:26 -04:00
Brad King 3ecdddfc35 Merge topic 'clang-format-prep'
0ac18d40 Remove `//------...` horizontal separator comments
2016-05-09 12:56:43 -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 d95fbdb709 Merge topic 'custom-command-CROSSCOMPILING_EMULATOR'
8c2cedc6 CustomCommandGenerator: Add support for CROSSCOMPILING_EMULATOR
2016-05-09 09:01:10 -04:00
Brad King 7ecd9648a1 Merge topic 'clang-format-prep'
afca3735 Help clang-format wrap after braces on long initializer lists
85425a3e Move comments off of class access specifier lines
64b55203 Isolate formatted streaming blocks with clang-format off/on
2016-05-09 09:01:08 -04:00
Brad King 488b82f8cc Merge topic 'fix-export-unset'
f45c16e7 Fix export file variable pollution
2016-05-09 09:01:05 -04:00
Brad King 138ddfae50 Merge topic 'update-osx-release'
ea8428a2 Utilities/Release: Switch to OS X 10.7 and Qt 5.6 for Mac binary
2016-05-09 09:01:03 -04:00
Jean-Christophe Fillion-Robin 8c2cedc624 CustomCommandGenerator: Add support for CROSSCOMPILING_EMULATOR
Teach the `add_custom_command` and `add_custom_target' commands to
substitute argv0 with the crosscompiling emulator if it is a target with
the `CROSSCOMPILING_EMULATOR` property set.
2016-05-09 08:56:27 -04:00
Kitware Robot 9183056ed4 CMake Nightly Date Stamp 2016-05-09 00:01:05 -04:00
Kitware Robot e19d7d6073 CMake Nightly Date Stamp 2016-05-08 00:01:05 -04:00
Kitware Robot 7aee319b73 CMake Nightly Date Stamp 2016-05-07 00:01:07 -04:00
Brad King afca373510 Help clang-format wrap after braces on long initializer lists
Add a long comment inside a few braced initializer lists in order to
convince clang-format to break after the opening brace and format the
list without indenting every value past the opening brace.
2016-05-06 15:54:32 -04:00
Brad King 85425a3e6c Move comments off of class access specifier lines
The clang-format tool may turn this:

   public: // comment about access specifier

     // unrelated comment indented with code
     ...

Into:

   public: // comment about access specifier

           // unrelated comment indented with code
     ...

Avoid this by moving comments off of access specifier lines.
2016-05-06 14:51:26 -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 ea8428a2f4 Utilities/Release: Switch to OS X 10.7 and Qt 5.6 for Mac binary
Use a new build machine to produce the OS X binary targeting OS X 10.7
and using Qt 5.6.
2016-05-06 13:08:52 -04:00
Brad King 73601ff831 Merge topic 'ghs-hash-object-locations'
5e428713 GHS: Shorten long object paths with duplicate source names
2016-05-06 08:22:33 -04:00
Brad King 058b22cd5a Merge topic 'update-expat'
58216d16 expat: Suppress compiler warnings
f177c8a0 expat: Re-write CMake build system for our needs
4544c68a expat: Hard-code configuration options for our needs
9f7de396 expat: Drop upstream test/install/packaging code
b4678e1c expat: Update cm_expat.h wrapper for new header location
94c62680 Merge branch 'upstream-expat' into update-expat
318b1c17 expat 2016-05-01 (379213ca)
48764630 expat: Disable all whitespace checks in third-party code
f4bd9d43 Add script to update Expat from upstream
7eb7a189 Drop old expat sources to make room for a fresh import
2016-05-06 08:22:31 -04:00
Brad King 0723a9fec8 Merge topic 'update-prebuild-openssl'
3a67167a Utilities/Release: Update to openssl-1.0.2h
2016-05-06 08:22:28 -04:00
Geoff Viola 5e4287131b GHS: Shorten long object paths with duplicate source names
Detect when the resulting object path is too long and compute an
alternative name using a hash.
2016-05-06 08:21:05 -04:00
Kitware Robot eb27154f63 CMake Nightly Date Stamp 2016-05-06 00:01:05 -04:00
Brad King 58216d1694 expat: Suppress compiler warnings
We are not developing expat so we do not care about warnings.
2016-05-05 15:17:16 -04:00
Brad King f177c8a0a7 expat: Re-write CMake build system for our needs
Hard-code production of a static library.  Rename to `cmexpat`.
2016-05-05 15:17:16 -04:00
Brad King 4544c68a6e expat: Hard-code configuration options for our needs
Also include our configured header on Windows too to get the same
configuration.
2016-05-05 15:10:03 -04:00
Brad King 9f7de3960c expat: Drop upstream test/install/packaging code 2016-05-05 15:07:13 -04:00
Brad King b4678e1c34 expat: Update cm_expat.h wrapper for new header location 2016-05-05 14:45:11 -04:00
Brad King 94c626808b Merge branch 'upstream-expat' into update-expat
* upstream-expat:
  expat 2016-05-01 (379213ca)
2016-05-05 14:42:30 -04:00
Expat Upstream 318b1c17a9 expat 2016-05-01 (379213ca)
Code extracted from:

    http://git.code.sf.net/p/expat/code_git

at commit 379213ca196f82d19ae72195c4a9bec0553d0bb2 (master).
2016-05-05 14:42:29 -04:00
Brad King 4876463049 expat: Disable all whitespace checks in third-party code 2016-05-05 14:42:17 -04:00
Brad King f4bd9d43b8 Add script to update Expat from upstream 2016-05-05 14:42:12 -04:00
Brad King 7eb7a18963 Drop old expat sources to make room for a fresh import 2016-05-05 14:21:12 -04:00
Matthew Woehlke f45c16e7ee Fix export file variable pollution
Add missing unset of scratch variables to generated export file for case
that the file was already included. We already unset these when parsing
the file normally, but the multiple inclusion case was leaving them
around.
2016-05-05 11:33:56 -04:00
Brad King 3a67167ab0 Utilities/Release: Update to openssl-1.0.2h
Update the prebuilt binary build configurations for machines where
we build our own OpenSSL library to use a newer version.
2016-05-05 09:13:33 -04:00
Kitware Robot 8d7ef6a8b0 CMake Nightly Date Stamp 2016-05-05 00:01:08 -04:00
Brad King 858aa5f9af Merge topic 'update-libarchive'
59d28b28 libarchive: Drop early use of crypto library
fa425910 Utilities/Release: Define NTDDI_VERSION for Windows binaries
e9bc469b Merge branch 'upstream-LibArchive' into update-libarchive
db9c40b4 Merge branch 'upstream-LibArchive' into update-libarchive
b2675cde libarchive: Remove CMake-specific README
501345e4 LibArchive 2016-04-30 (167e97be)
91e6da10 Add script to update LibArchive from upstream
fc8fc40f LibArchive 2015-10-21 (3bfe5f1f)
2016-05-04 10:25:19 -04:00
Brad King cc46264307 Merge topic 'test-CROSSCOMPILING_EMULATOR'
eccfc0d1 Tests: Improve source file name in RunCMake.CrosscompilingEmulator
8de77811 Tests: Cover genex behavior in CROSSCOMPILING_EMULATOR test case
2016-05-04 10:08:40 -04:00
Brad King ac714a3839 Merge topic 'clang-cl-showincludes'
66de0866 Ninja: Fix clang-cl /showIncludes prefix detection
2016-05-04 10:08:38 -04:00
Kitware Robot cd0af9c5e0 CMake Nightly Date Stamp 2016-05-04 00:01:06 -04:00
Jean-Christophe Fillion-Robin eccfc0d185 Tests: Improve source file name in RunCMake.CrosscompilingEmulator
The test executable returns with an error, so indicate this in the
source name.
2016-05-03 10:42:21 -04:00
Jean-Christophe Fillion-Robin 8de778118b Tests: Cover genex behavior in CROSSCOMPILING_EMULATOR test case
A `$<TARGET_FILE:tgt>` generator expression does not cause insertion of
the emulator.  Add a test covering this.  While at it, extend the test
case to cover executables in a subdirectory.  Also make the test
matching expressions more robust to support multiple add_test calls
without mixing them while matching.
2016-05-03 10:41:52 -04:00
Brad King 96c8a4769f Merge topic 'doc-cmake-E-updates'
960afaad Help: Improve 'cmake -E md5sum' documentation
25ee2c86 Help: Add missing space in cmake(1) manual
2016-05-03 10:17:04 -04:00
Brad King e053510efa Merge topic 'ExternalProject-git-recursive-init'
79410eeb ExternalProject: Initialize Git submodules recursively and on update (#16083)
2016-05-03 10:17:02 -04:00
Brad King 3fc49c50b0 Merge topic 'doc-cmake-policies-manual-improvements'
5f948d2a Help: Add policy summaries to cmake-policies(7)
b74d73e5 Help: Organize cmake-policies(7) manual by version of introduction
de370656 cmRST: Parse toctree lines with Sphinx cross-reference syntax
845cb217 CMP0059: Fix typo in policy description
2016-05-03 10:17:00 -04:00
Brad King c212b5b025 Merge topic 'FindBoost-no-system-env-paths'
5a9b2b3b FindBoost: Fix Boost_NO_SYSTEM_PATHS to not consider environment (#15702)
2016-05-03 10:16:57 -04:00
Brad King a0d31f3bb3 Merge topic 'clang-format-include-order'
54f71cd7 Source: Sort includes the way clang-format would
7b6ffa59 Source: Sort includes of sys/types.h as clang-format would
be14fe48 Source: Stabilize include order of sys/types.h before sys/stat.h
5e871f70 Tests: Sort includes of sys/types.h as clang-format would
a20d7d48 Tests: Fix Plugin test include order
2016-05-03 10:16:55 -04:00
Brad King 1109be2d90 Merge topic 'FindHDF5-debug-suffix'
313676c9 FindHDF5: Add another debug suffix
2016-05-03 10:16:53 -04:00
Brad King 54f71cd72c Source: Sort includes the way clang-format would
Re-apply the approach from commit e1c77472 (Format include directive
blocks and ordering with clang-format, 2016-04-29) but this time be
more careful about exclusion of parser generator sources:

    $ git ls-files -z -- \
        '*.c' '*.cc' '*.cpp' '*.cxx' '*.h' '*.hh' '*.hpp' '*.hxx' |
      egrep -z -v '^Source/cmCommandArgumentLexer\.' |
      egrep -z -v '^Source/cmCommandArgumentParser\.' |
      egrep -z -v '^Source/cmDependsJavaLexer\.' |
      egrep -z -v '^Source/cmDependsJavaParser\.' |
      egrep -z -v '^Source/cmExprLexer\.' |
      egrep -z -v '^Source/cmExprParser\.' |
      egrep -z -v '^Source/cmFortranLexer\.' |
      egrep -z -v '^Source/cmFortranParser\.' |
      egrep -z -v '^Source/cmListFileLexer\.' |
      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

Also drop use of custom sorting for `sys/types.h`.
2016-05-03 10:08:41 -04:00
Brad King 7b6ffa59b1 Source: Sort includes of sys/types.h as clang-format would
When this header is included in blocks where order does not matter, just
place it in lexicographic order as clang-format would by default.
2016-05-03 10:08:41 -04:00
Brad King be14fe4857 Source: Stabilize include order of sys/types.h before sys/stat.h
Include the two headers in an isolated block with a comment separating
them so that tools that re-order includes do not re-order these.
2016-05-03 10:08:41 -04:00
Brad King 5e871f7089 Tests: Sort includes of sys/types.h as clang-format would 2016-05-03 10:08:41 -04:00
Brad King a20d7d4821 Tests: Fix Plugin test include order
Fix the order accidentally broken by commit e1c77472 (Format include
directive blocks and ordering with clang-format, 2016-04-29).  Include
the KWSys header first in its own block so that it is not moved by tools
that re-order includes.  It must be included first to define large file
support macros consistently.
2016-05-03 10:08:41 -04:00