Commit Graph

31728 Commits

Author SHA1 Message Date
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
Ilya Kulakov 79410eeb1f ExternalProject: Initialize Git submodules recursively and on update (#16083) 2016-05-03 10:04:37 -04:00
Brad King 59d28b2849 libarchive: Drop early use of crypto library
We already add the crypto library after the ssl library when using
OpenSSL.  Do not add it to the list of libraries individually or we may
end up with the wrong order later.  Further investigation will be needed
to see how this change can be reconciled with the upstream need for the
original line.
2016-05-03 09:53:05 -04:00
Brad King fa425910b7 Utilities/Release: Define NTDDI_VERSION for Windows binaries
LibArchive now defines this explicitly if it is not defined already.
Since we define _WIN32_WINNT explicitly, we must now define a consistent
value of NTDDI_VERSION explicitly too.
2016-05-03 09:09:19 -04:00
Brad King 66de0866a3 Ninja: Fix clang-cl /showIncludes prefix detection
We run MSVC-like compilers with the `/showIncludes` option and match the
output to extract the corresponding message.  Fix the matching to
support compilers like `clang-cl` that print the message on the first
line such that it is not preceded by a newline.

LLVM-Issue: https://llvm.org/bugs/show_bug.cgi?id=27226
2016-05-03 08:43:13 -04:00
Kitware Robot 4d59471a7e CMake Nightly Date Stamp 2016-05-03 00:01:08 -04:00
Brad King 5f948d2aa4 Help: Add policy summaries to cmake-policies(7)
In Sphinx output formats that print the toctree the policy numbers in
links from the cmake-policies(7) manual are not descriptive.  Convert
the toctree entries to cross-reference syntax and add the summary of
each policy.  For now simply duplicate the policy summary line.  We
already maintain copies in `cmPolicies.h` and `Help/policy/*.rst` docs.
2016-05-02 15:16:07 -04:00
Brad King b74d73e507 Help: Organize cmake-policies(7) manual by version of introduction 2016-05-02 15:16:07 -04:00
Brad King de37065661 cmRST: Parse toctree lines with Sphinx cross-reference syntax 2016-05-02 15:16:07 -04:00
Brad King 845cb217a7 CMP0059: Fix typo in policy description 2016-05-02 15:16:07 -04:00
Brad King 5a9b2b3b11 FindBoost: Fix Boost_NO_SYSTEM_PATHS to not consider environment (#15702)
Previously we added only NO_CMAKE_SYSTEM_PATH to find command calls.
Add NO_SYSTEM_ENVIRONMENT_PATH too so that paths found from system
environment variables are not considered either.
2016-05-02 11:43:28 -04:00
FARBOS Arnaud 313676c9f0 FindHDF5: Add another debug suffix
HDF5 1.8.16 (and likely others) names its debug libraries with a
`_debug` suffix intsead of `d`.
2016-05-02 11:31:35 -04:00
Brad King e9bc469b2a Merge branch 'upstream-LibArchive' into update-libarchive
Resolve conflicts in C code by taking their side.  Resolve conflicts in
CMake code by integrating the changes.
2016-05-02 10:48:48 -04:00
Brad King db9c40b4f5 Merge branch 'upstream-LibArchive' into update-libarchive 2016-05-02 10:47:53 -04:00