Commit Graph

31877 Commits

Author SHA1 Message Date
Brad King c13408279f Add a variable to specify language-wide system include directories
Create a `CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` variable to specify
system include directories for for `<LANG>` compiler command lines.
This plays a role for include directories as the existing
`CMAKE_<LANG>_STANDARD_LIBRARIES` variable does for link libraries.
2016-05-25 09:30:31 -04:00
Brad King 8e801eb517 cmSystemTools: Fix indentation typo 2016-05-25 09:27:54 -04:00
Daniel Pfeifer 25d1ef6424 Use enums defined in cmOutputConverter using their fully qualified name.
Mostly automated:

values=("RelativeRoot" "NONE" "FULL" "HOME" "START" "HOME_OUTPUT" "START_OUTPUT"
        "OutputFormat" "UNCHANGED" "MAKERULE" "SHELL" "WATCOMQUOTE" "RESPONSE"
        "FortranFormat" "FortranFormatNone" "FortranFormatFixed" "FortranFormatFree")
for i in "${values[@]}"; do git grep -l cmLocalGenerator::$i | xargs sed -i "s|cmLocalGenerator::$i|cmOutputConverter::$i|g"; done
2016-05-25 09:20:09 -04:00
Francesco Romano 715e4cf57c FindMatlab: Add support for Matlab 2016a (9.0) 2016-05-25 09:08:32 -04:00
Brad King c9cebed5d8 GetPrerequisites: Look for VS tools using registry entries (#16108) 2016-05-25 09:00:33 -04:00
Kitware Robot d5ccab37b3 CMake Nightly Date Stamp 2016-05-25 00:01:07 -04:00
Daniel Pfeifer 5784747d1b Improve string find: prefer character overloads.
Apply fix-its from clang-tidy's performance-faster-string-find checker.
Ignore findings in kwsys.
2016-05-24 23:22:24 +02:00
Daniel Pfeifer 5cec953e6a Use std::replace for replacing chars in strings.
Find uses of `cmSystemTools::ReplaceString` where both `replace` and
`with` are string literals with a size of one.

Automate with:

git grep -l ReplaceString | xargs sed -i "s|cmSystemTools::ReplaceString(\([^,]*\), \"\(.\)\", \"\(.\)\");|std::replace(\1.begin(), \1.end(), '\2', '\3');|g"
git grep -l ReplaceString | xargs sed -i "s|cmSystemTools::ReplaceString(\([^,]*\), \"\(.\)\", \"\\\\\\\\\");|std::replace(\1.begin(), \1.end(), '\2', '\\\\\\\\');|g"
git grep -l ReplaceString | xargs sed -i "s|cmSystemTools::ReplaceString(\([^,]*\), \"\\\\\\\\\", \"\(.\)\");|std::replace(\1.begin(), \1.end(), '\\\\\\\\', '\2');|g"
2016-05-24 23:22:20 +02:00
Daniel Pfeifer 2a1a2033af cmExtraEclipseCDT4Generator: use std::replace. 2016-05-24 23:22:16 +02:00
Daniel Pfeifer 34bc6e1f3b cmCTestScriptHandler: don't call find repeatedly.
Also, prefer the character overload.
2016-05-24 23:22:08 +02:00
Brad King a98a699987 Merge topic 'cpack-deb-different-package-names'
adbd3985 CPack/Deb possibility to change package name
2016-05-24 13:54:03 -04:00
Brad King 384de98709 Merge topic 'cpack-deb-component-depends'
4f3b9706 CPack/Deb prevent accidental component dependencies
2016-05-24 13:54:00 -04:00
Brad King 185be83815 Merge topic 'ExternalProject-fix-stash-all'
2bc981e6 ExternalProject: Fix git stash not using "--all" option
2016-05-24 13:53:58 -04:00
Brad King 7d5355a21a Merge topic 'doc-CPACK_DMG_FORMAT'
239367f0 CPackDMG: Document CPACK_DMG_FORMAT default
2016-05-24 13:53:55 -04:00
Brad King f77a49ff30 Merge topic 'cpackifw-updates'
06ca7795 CPackIFW: Command cpack_ifw_configure_component learned ESSENTIAL option
222fa595 CPackIFW: Doc decoration
2016-05-24 13:53:53 -04:00
Brad King 4419909756 cmMakefile: Optimize AddSystemIncludeDirectories for empty set
Do not bother looping over all targets if we have no system include
directories to add anyway.
2016-05-24 11:40:35 -04:00
Brad King a896043bac GHS: Compute include directories consistently with other generators
All generators use cmLocalGenerator::GetIncludeDirectories to construct
the final list of include directories for a target.
2016-05-24 11:40:35 -04:00
Brad King 7807b3a9db Help: Document CMAKE_<LANG>_STANDARD_LIBRARIES variable
Also drop documentation of non-existent CMAKE_STANDARD_LIBRARIES
variable.
2016-05-24 11:40:25 -04:00
Kitware Robot ecb4ad2aa2 CMake Nightly Date Stamp 2016-05-24 00:01:36 -04:00
Domen Vrankar 4f3b97063f CPack/Deb prevent accidental component dependencies
Prevent accidental inter component dependency setting
since this is a breaking feature in situations where
another CPack module is already using the feature.
It should be enabled if desired since it can cause
issues when upgrading only one of the components
for e.g. configuration instead of all the components
at once.
2016-05-23 20:21:32 +02:00
Domen Vrankar adbd3985f8 CPack/Deb possibility to change package name
This patch preserves backward compatibility of
deb package names with previous CMake versions
but similarly to CPack/RPM allows to change
package name format and supports DEB-DEFAULT
setting that produces proper Debian package names.
2016-05-23 19:55:46 +02:00
Harry Mallon 239367f036 CPackDMG: Document CPACK_DMG_FORMAT default 2016-05-23 13:27:02 -04:00
Konstantin Podsvirov 06ca7795f4 CPackIFW: Command cpack_ifw_configure_component learned ESSENTIAL option 2016-05-23 19:09:03 +03:00
Konstantin Podsvirov 222fa595cd CPackIFW: Doc decoration 2016-05-23 19:09:03 +03:00
Brad King c75d91a05c Merge topic 'rpath-no-regex'
f4d3c44c Fix support for large RPATH updates (#16105)
2016-05-23 09:42:23 -04:00
Brad King 64d3613195 Merge topic 'make_osx_packaging_more_robust'
d3812437 Make packaging script wait for the disk image to be mounted.
2016-05-23 09:42:20 -04:00
Brad King 16b42d842e Merge topic 'clang-format-script'
2f2117e7 clang-format.bash: Limit formatting to files selected by options
2016-05-23 09:42:18 -04:00
Kitware Robot 2c13f1b7f0 CMake Nightly Date Stamp 2016-05-23 00:01:06 -04:00
Kitware Robot 52eeef3264 CMake Nightly Date Stamp 2016-05-22 00:01:04 -04:00
Christian Fetzer 2bc981e669 ExternalProject: Fix git stash not using "--all" option
GIT_VERSION_STRING is unset in _ep_write_gitupdate_script(), hence
git stash is not being called with the "--all" option, even if Git
is new enough to support this.
2016-05-21 11:41:34 +02:00
Kitware Robot 24391d9f76 CMake Nightly Date Stamp 2016-05-21 00:01:07 -04:00
Brad King 2f2117e7d4 clang-format.bash: Limit formatting to files selected by options
Now that our one-shot clang-format run is complete we rarely need to
filter the entire tree anymore.  Filter nothing if no options are given
and just print the usage message.  Offer options to specify selection of
some set of files from Git as needed for various workflows.
2016-05-20 13:57:25 -04:00
Brad King 94b9ead117 Merge topic 'FindCUDA-fp16'
cc95001b FindCUDA: Detect and report FP16 support
2016-05-20 09:15:57 -04:00
Brad King e07f7e6cd5 Merge topic 'ExternalProject-improve-retry'
89113e12 ExternalProject: Re-implement download logic as a dedicated script
e7d5e4b4 ExternalProject: Re-implement download verification as a dedicated script
ebcc7027 ExternalProject: Avoid repeating download verification
33218f6a ExternalProject: Remove unused verify script logic
e5409d1e ExternalProject: Remove unused 'retries' argument from verify script
d610407c ExternalProject: Use uppercase placeholders for script generation
2016-05-20 09:15:55 -04:00
Brad King acd039ae0e Merge topic 'minor-cleanup'
40bee43a cmCPackDragNDropGenerator: Replace std::{ostringstream => string}
2016-05-20 09:15:52 -04:00
Kitware Robot 4dc1164387 CMake Nightly Date Stamp 2016-05-20 00:01:07 -04:00
Brad King f4d3c44cc7 Fix support for large RPATH updates (#16105)
Avoid using a KWSys RegularExpression to search for RPATH substrings.
It cannot handle large expressions.
2016-05-19 11:59:25 -04:00
Robert Maynard d381243703 Make packaging script wait for the disk image to be mounted.
Frequently the apple script would execute before the disk image had been
fully mounted, and would fail. We now try to wait for the disk to be
mounted first.
2016-05-19 11:41:48 -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 e0da6c3b56 Merge topic 'ninja-output-path-prefix'
eb076692 Tests: Select RunCMake.Ninja test cases based on ninja version
8a862a4d Ninja: Support embedding of CMake as subninja project
038e7716 Ninja: Pass all build paths through a central method
7c26a6a2 Ninja: Fix path to soname-d target file
ac3cdd9a Ninja: Convert object file names to ninja paths earlier
d4381cb1 Ninja: Convert link library file names like all other output paths
0397c92a Ninja: Pre-compute "CMakeCache.txt" build target name
3b3ecdfa Ninja: Pre-compute "all" build target name
5ca72750 Ninja: Simplify generation of custom target logical path
2016-05-19 10:41:27 -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 5a9efbfc4b Merge topic 'cpack-ifw-updates'
41199f8c CPackIFW: Add support for Promoting Updates
6ca6b0dd CPackIFW: Add more known QtIFW releases
2016-05-19 10:41:21 -04:00
Kitware Robot 6bf6482fa6 CMake Nightly Date Stamp 2016-05-19 00:01:07 -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