Commit Graph

6466 Commits

Author SHA1 Message Date
Brad King 94b9ead117 Merge topic 'FindCUDA-fp16'
cc95001b FindCUDA: Detect and report FP16 support
2016-05-20 09:15:57 -04:00
Ruslan Baratov 89113e125d ExternalProject: Re-implement download logic as a dedicated script
Move the content to a `ExternalProject-download.cmake.in` file and use
`configure_file` to generate the final script.

Retry logic was not working before because similar script trigger
FATAL_ERROR if 'file(DOWNLOAD ...)' exits with nonzero 'status_code'.
FATAL_ERROR makes the whole chain of commands stop and
'_ep_write_verifyfile_script' retry logic was not used in fact.

Default retry number set to 5 with pauses 0, 5, 5, 15, 60 seconds. Some
space left for future improvements if needed (90, 300, 1200=20min). Can
be controlled by user.
2016-05-19 11:20:50 -04:00
Ruslan Baratov e7d5e4b4bf ExternalProject: Re-implement download verification as a dedicated script
Move the content to a `ExternalProject-verify.cmake.in` file and use
`configure_file` to generate the final script.
2016-05-19 11:20:25 -04:00
Ruslan Baratov ebcc70271d ExternalProject: Avoid repeating download verification
Verify step for downloaded files will be performed in separate script.
2016-05-19 11:15:59 -04:00
Ruslan Baratov 33218f6a93 ExternalProject: Remove unused verify script logic
The logic to re-run the download script will be moved elsewhere.
2016-05-19 11:01:12 -04:00
Ruslan Baratov e5409d1e0f ExternalProject: Remove unused 'retries' argument from verify script
There is no retries for local files and retry logic is broken for downloads.
Will be implemented in '*-download.cmake' script.
2016-05-19 10:58:08 -04:00
Ruslan Baratov d610407cca ExternalProject: Use uppercase placeholders for script generation
Use uppercase variables for future 'configure_file' command.
2016-05-19 10:54:33 -04:00
Boris Fomitchev cc95001b1c FindCUDA: Detect and report FP16 support
Reviewed-by: James Bigler <jamesbigler@gmail.com>
2016-05-19 10:52:32 -04:00
Brad King 43a456e135 Merge topic 'ExternalProject-UPDATE_COMMAND-always'
bdca6838 ExternalProject: Always run update step with non-empty UPDATE_COMMAND
2016-05-19 10:41:24 -04:00
Brad King bdca68388b ExternalProject: Always run update step with non-empty UPDATE_COMMAND
The purpose of the `update` step is to run an update on each build
(subject to `UPDATE_DISCONNECTED`).  This is done for version-controlled
source directories.  We should do it for a custom `UPDATE_COMMAND` too.
In particular, when `UPDATE_DISCONNECTED` is used we expect the
`skip-update` step to exist.
2016-05-18 14:54:25 -04:00
Konstantin Podsvirov 41199f8c1e CPackIFW: Add support for Promoting Updates
Add support for this feature added by QtIFW 2.0.3:

  http://doc.qt.io/qtinstallerframework/ifw-updates.html

Add a `cpack_ifw_update_repository` command as porcelain.
2016-05-18 09:49:14 -04:00
Konstantin Podsvirov 6ca6b0dd7b CPackIFW: Add more known QtIFW releases 2016-05-18 09:41:42 -04:00
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