Commit Graph

6454 Commits

Author SHA1 Message Date
Brad King 570d689776 Merge topic 'ghs-shorter-object-names'
d7233a04 GHS: Use shorter object file names on collision
2016-05-18 09:30:55 -04:00
Geoff Viola d7233a0472 GHS: Use shorter object file names on collision 2016-05-18 09:27:19 -04:00
Matthew Hanna 5a21557b33 AIX,HP: Allow user to override the default runtime path (libpath)
The `CMAKE_PLATFORM_REQUIRED_RUNTIME_PATH` is used by CMake to always
append `-Wl,-blibpath:/usr/lib:/lib` to the link line.  This is needed
by default on these platforms but needs to be overridden in some use
cases (e.g. an environment in which one maintains versioned shared
libraries).  Change our logic to set this value only if it not already
set by the user, project, or toolchain file.
2016-05-17 13:36:29 -04:00
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 d082810949 Merge topic 'boost-component-headers'
c2e8d515 FindBoost: Add checks for component-specific headers
2016-05-16 10:11:43 -04:00
Brad King 1ba8067618 Merge topic 'boost-1.61'
328eff90 FindBoost: Update dependencies for Boost 1.61
2016-05-16 10:11:41 -04:00
Brad King 856804f9a9 Merge topic 'findpkgconfig-target'
df97b979 FindPkgConfig: optionally create imported target for the found libraries
2016-05-16 10:11:38 -04:00
Brad King d3db070e9e Merge topic 'cpack-rpm-adding-dist-to-release-tag'
f5089cfc CPack/RPM adding dist to release tag test
f7003a60 CPack/RPM release dist tag support
2016-05-16 10:11:35 -04:00
Brad King bc7598fde0 Merge topic 'cpack-rpm-different-package-names'
44ee2d71 CPack/RPM different package names
2016-05-16 10:11:32 -04:00
Brad King 2b25174da6 Merge topic 'cpack-deb-improvements'
4461e8bb CPack/Deb cpack-deb-improvements release notes
7e940bf7 CPack/Deb test changes due to breaking changes
3b648894 CPack/Deb package release number in file name
316dd613 CPack/Deb proper package file naming
271e03f0 CPack/Deb per-component package architecture
23baaf8d CPack/Deb inter package dependencies
3a55a0e7 CPack/Deb proper component packages file naming
c7f388e7 CPack/Deb generation of postinst and postrm ldconfig files
2d589653 CPack/Deb generation of DEBIAN/shlibs control file
2016-05-16 10:11:30 -04:00
Roger Leigh c2e8d5150e FindBoost: Add checks for component-specific headers
This supplements the existing library checks, to
cater for the possibility that the libraries are
present but the headers are not.  This can happen
when the Boost collections is split up into
multiple packages and not all are installed,
and will avoid the checks silently passing when
the build would subsequently fail.
2016-05-16 09:57:46 -04:00
Domen Vrankar 44ee2d717a CPack/RPM different package names
Packagers may now set their own rpm package
file names or request that rpmbuild tool
chooses one for them. It also supports handing
of situations where one spec file may produce
multiple rpm packages.
2016-05-15 03:01:34 +02:00
Harry Mallon f7003a6055 CPack/RPM release dist tag support
Some Linux distros require Release tag
to be set to <ReleaseVersion><Dist>.
2016-05-14 20:21:32 +02:00
Rolf Eike Beer df97b9793f FindPkgConfig: optionally create imported target for the found libraries 2016-05-14 09:31:41 +02:00
Roger Leigh 328eff90eb FindBoost: Update dependencies for Boost 1.61 2016-05-13 19:39:41 +01:00
Domen Vrankar 3b64889436 CPack/Deb package release number in file name
Debian packages file naming format must contain
revision number - package release number
(breaks compatibility with previous versions)
2016-05-13 10:46:04 -04:00
Domen Vrankar 316dd61367 CPack/Deb proper package file naming
Proper Debian packages file naming for single package
setup (breaks compatibility with previous versions)
2016-05-13 10:46:04 -04:00
Alexander Smorkalov 271e03f089 CPack/Deb per-component package architecture
Allowed to set per-compoment Debian package architecture.
Useful, if you distribute documentation (should have
"all architecture").
2016-05-13 10:46:03 -04:00
Alexander Smorkalov 23baaf8d73 CPack/Deb inter package dependencies
In multi-component setup dependencies
between packages are set (breaking change)
2016-05-13 10:46:03 -04:00
Alexander Smorkalov 3a55a0e72c CPack/Deb proper component packages file naming
Proper Debian packages file naming for multi-component setup
(breaks compatibility with previous versions)
2016-05-13 10:46:03 -04:00
Alexander Smorkalov c7f388e723 CPack/Deb generation of postinst and postrm ldconfig files
DEBIAN/postinst and DEBAIN/postrm files generation if
the package installs libraries in ldconfig controlled
location (/lib/, /usr/lib/)
2016-05-13 10:46:03 -04:00
Alexander Smorkalov 2d5896530b CPack/Deb generation of DEBIAN/shlibs control file
DEBIAN/shlibs control file generation if the package
contains libraries
2016-05-13 10:46:02 -04:00
Brad King 131c00ee7e Merge topic 'fix-hdf5-component-search'
fdfb0c06 HDF5: Rework component searching to correctly find HL for all bindings
2016-05-13 09:54:08 -04:00
Chuck Atkins fdfb0c0649 HDF5: Rework component searching to correctly find HL for all bindings 2016-05-12 13:54:58 -04:00
Brad King 6b0b066074 InstallRequiredSystemLibraries: Optionally install Windows UCRT (#16073) 2016-05-12 11:10:23 -04:00
Brad King bbf8c03b4f InstallRequiredSystemLibraries: Fix ENV{ProgramFiles(x86)} reference
The fix in commit v3.1.0-rc1~544^2~5 (Windows: Avoid () in environment
variable references, 2014-05-02) introduced a set() command in the
middle of an argument list.  Move it to before the find_path() call.
2016-05-12 11:08:40 -04:00
Michał Górny 25845b10d8 CMakeParseImplicitLinkInfo: Exclude pathcc ldfe lines (#16100)
PathScale uses a wrapper around the linker.  The "ldfe" invocation in
the output is followed by a normal "ld" invocation.  Exclude the former
so we can reach and parse the latter correctly.
2016-05-11 15:06:59 -04:00
Brad King 1a02780483 Merge topic 'FindLua-homebrew'
25f34dea FindLua: Add library name for Lua 5.3 on homebrew
2016-05-10 14:40:47 -04:00
Brad King 3b3afefb90 Merge topic 'fix-hdf5-for-compiler-wrapers'
00405af0 HDF5: Refactor the use of compiler wrappers
2016-05-10 14:40:45 -04:00
Chuck Atkins 00405af0f1 HDF5: Refactor the use of compiler wrappers
* Make work with HDF5 compiler wrappers as the primary compiler (Cray)
 * Accept options used by compiler wrappers instead of just seeding
   search parameters
 * Only search for libraries if the first 2 fail
2016-05-09 10:20:39 -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
Anders Bakken 25f34deab6 FindLua: Add library name for Lua 5.3 on homebrew
Homebrew installs lua 5.3 like this:

    Cellar/lua53/5.3.2_2/lib/liblua.5.3.2.dylib
    Cellar/lua53/5.3.2_2/lib/liblua.5.3.dylib
    lib/liblua.5.3.2.dylib
    lib/liblua.5.3.dylib

Add the `liblua.{$VERSION}` naming scheme to our searched names.
2016-05-09 09:10:05 -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 ac714a3839 Merge topic 'clang-cl-showincludes'
66de0866 Ninja: Fix clang-cl /showIncludes prefix detection
2016-05-04 10:08:38 -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 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
Ilya Kulakov 79410eeb1f ExternalProject: Initialize Git submodules recursively and on update (#16083) 2016-05-03 10:04:37 -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
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 067b21b675 Merge topic 'clang-format-include-order'
e1c77472 Format include directive blocks and ordering with clang-format
180538c7 Source: Stabilize include order
0e7bca92 Utilities/Release: Stabilize include order in WiX custom action
eb817be0 Tests: Stabilize include order in MFC, VSXaml, and VSWinStorePhone
eda313b4 Tests: Stabilize include order in StringFileTest
7110b754 CursesDialog: add missing cmState include
d7a5f255 Modules: Remove unused CMakeTestWatcomVersion.c file
2016-05-02 09:24:21 -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 d7a5f25599 Modules: Remove unused CMakeTestWatcomVersion.c file
This file has not been used since commit v2.8.10~218^2~7^2 (Watcom:
Simplify compiler version detection, 2012-08-13).
2016-04-29 09:12:32 -04:00
Brad King d2a061596e Features: Record features for VS 2015 Update 2 2016-04-28 13:05:52 -04:00
Brad King 5b4f771fd7 Merge topic 'intel-compiler-features'
21b1fa5c Help: Add notes for topic 'intel-compiler-features'
9addce99 Features: Record standard flags for Intel C/C++ on Windows
15a6c950 WCDH: Add Intel to list of supported compilers
36f32ede Features: Record standards and features for Intel C on UNIX
d028b948 Features: Specify minimum version Intel C++ 12.1
be910f00 Features: Record standards and features for Intel C++ on UNIX
7f401ae4 Features: Detect C default dialect on MSVC-like compilers
2016-04-28 09:26:09 -04:00
Brad King 9addce99c2 Features: Record standard flags for Intel C/C++ on Windows
Select the `-std=` or `-Qstd=` flag based on whether Intel is GNU-like
or MSVC-like, respectively.
2016-04-28 09:16:36 -04:00
Robert Maynard 15a6c9502d WCDH: Add Intel to list of supported compilers 2016-04-28 09:16:36 -04:00
Robert Maynard 36f32ede8d Features: Record standards and features for Intel C on UNIX
Record features for Intel C 12.1 and above.  Skip this for now on
Windows (where Intel C simulates MSVC).
2016-04-28 09:16:35 -04:00
Robert Maynard d028b94872 Features: Specify minimum version Intel C++ 12.1
Versions below 12.1 do not provide enough information to properly detect
if compiling with c++98 or c++0x enabled so remove them from the
supported list.
2016-04-28 09:16:31 -04:00
Levi Morrison be910f00b5 Features: Record standards and features for Intel C++ on UNIX
Skip this for now on Windows (where Intel C++ simulates MSVC).
2016-04-28 09:15:25 -04:00