Commit Graph

24711 Commits

Author SHA1 Message Date
Kitware Robot d7204e649e Revise C++ coding style using clang-format-6.0
Run the `clang-format.bash` script to update all our C and C++ code to a
new style defined by `.clang-format`.  Use `clang-format` version 6.0.

* 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.
2018-06-01 09:53:42 -04:00
Brad King 523c443d13 clang-format.bash: update to clang-format-6.0
Update `.clang-format` with configuration to make the 6.0 format as
close as possible to what 3.8 produced before.  Then revise the style:

* Indent preprocessor directives (a feature new since 3.8)
* Add a newline and indentation before inheritance `:` and `,`

Rename the Git attribute identifying the format to include the
clang-format version number: `format.clang-format-6.0`.  This will aid
external infrastructure in knowing what version of the tool to run.
2018-06-01 09:52:02 -04:00
Brad King 4144b78013 Merge topic 'autogen_autorcc_multi_config'
5852acffa4 Autogen: Add AUTORCC configuration change test
41685c8ba0 Autogen: Let AUTORCC generate output for all configurations
2930a198f6 Autogen: Add lock file to AUTORCC commands

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2117
2018-06-01 09:49:37 -04:00
Kitware Robot 6292873045 CMake Nightly Date Stamp 2018-06-01 00:01:05 -04:00
Brad King 8738eba336 CMake 3.11.3 2018-05-31 09:04:20 -04:00
Brad King d155b536cb Merge topic 'cpack-wix-sources'
ca49f1a8e4 CPack: Fix cross-compilation of WiX generator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2116
2018-05-31 08:50:15 -04:00
Brad King 61c4858c37 Merge topic 'revert-windows_symlinks'
83630d4918 cmSystemTools: Revert GetRealPath implementation on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2114
2018-05-31 08:48:36 -04:00
Kitware Robot 0b32ae944f CMake Nightly Date Stamp 2018-05-31 00:01:07 -04:00
Sebastian Holtermann 41685c8ba0 Autogen: Let AUTORCC generate output for all configurations
For multi configuration generators let AUTORCC generate
the rcc output for all configurations.  This is a workaround
for the incomplete `$<CONFIG>` support in the DEPENDS and OUTPUT
clauses of a custom_command/custom_target.  Since we can't depend
on the per-config rcc output file we somehow must ensure the successful
rcc build for one configuration doesn't shadow the need to rcc rebuild
for a second configuration.

Closes #18006
2018-05-30 17:45:01 +02:00
Sebastian Holtermann 2930a198f6 Autogen: Add lock file to AUTORCC commands
By using a per .qrc lock file in AUTORCC, the same
`cmake -E cmake_autorcc ...` command can be called concurrently.
2018-05-30 17:45:01 +02:00
Brad King 958191a95c Merge topic 'vs-toolset-version'
5f13168419 VS: Add option to select the version of the toolset used by VS 2017

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Francisco Facioni <fran6co@gmail.com>
Merge-request: !2093
2018-05-30 10:19:21 -04:00
Brad King fdb9d1ba04 Merge topic 'cmRemoveDuplicates'
6d7c074055 cmAlgorithms: Speed up cmRemoveDuplicates method
281f59536f IWYU: Define a macro to tell code it is preprocessing for iwyu

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2101
2018-05-30 09:56:00 -04:00
Brad King f393602131 Merge branch 'cpack-wix-sources' into release-3.11
Merge-request: !2116
2018-05-30 09:53:54 -04:00
Brad King ca49f1a8e4 CPack: Fix cross-compilation of WiX generator
Fix the case of the path to source files so it works on case-sensitive
filesystems.

Fixes: #18042
2018-05-30 09:39:16 -04:00
Kitware Robot 392f223d60 CMake Nightly Date Stamp 2018-05-30 00:01:05 -04:00
Brad King 83630d4918 cmSystemTools: Revert GetRealPath implementation on Windows
The use of `uv_fs_realpath` introduced by commit v3.11.0-rc1~445^2~1
(cmSystemTools: Implement GetRealPath on Windows, 2017-10-02) causes
`subst` drives to be expanded on Windows, breaking existing use cases.
Revert its use until an alternative implementation can be chosen.

Preserve the behavior introduced by commit v3.11.0-rc1~445^2
(cmTimestamp: For symlinks switch to timestamp of resolved path,
2017-10-02) by retaining use of `uv_fs_realpath` in a function of
a different name.

Fixes: #18033
Issue: #17206
2018-05-29 14:00:33 -04:00
Basil Fierz 5f13168419 VS: Add option to select the version of the toolset used by VS 2017
Add new `version=` parameter in the toolset setting to select the
version.  Add variable `CMAKE_VS_PLATFORM_TOOLSET_VERSION` to hold the
version, if one is set (blank indicates default).

Fixes: #17549
2018-05-29 10:12:59 -04:00
Brad King f248f8ad78 Merge topic 'parallel_build_option'
1ab3881ec9 cmake: Add options for parallel builds to --build mode

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Henry Schreiner <henryschreineriii@gmail.com>
Merge-request: !1962
2018-05-29 10:05:09 -04:00
Brad King a543a233a2 Merge topic 'vs-raii-implement'
e7e25c6cb6 cmVisualStudio10TargetGenerator: Remove empty Elem::EndElement()
726c090297 cmVisualStudio10TargetGenerator: close XML tag in Elem destructor

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2109
2018-05-29 09:59:58 -04:00
Kitware Robot 11818c5fc1 CMake Nightly Date Stamp 2018-05-29 00:01:04 -04:00
Kitware Robot 965c79cc90 CMake Nightly Date Stamp 2018-05-28 00:01:04 -04:00
Craig Scott 3cc081654d Merge topic 'cmake-D-option-help'
42738e5075 Help: Update description of the -D option to CMake

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2105
2018-05-27 04:40:34 -04:00
Kitware Robot caab746548 CMake Nightly Date Stamp 2018-05-27 00:01:06 -04:00
Kitware Robot 64946fff30 CMake Nightly Date Stamp 2018-05-26 00:01:10 -04:00
Vitaly Stakhovsky e7e25c6cb6 cmVisualStudio10TargetGenerator: Remove empty Elem::EndElement()
The method no longer does anything.  Remove it and remove calls to it.
2018-05-25 13:04:56 -04:00
Le Minh Phuc 6d7c074055 cmAlgorithms: Speed up cmRemoveDuplicates method
Use a hash table instead of a sorted vector to track entries.

Co-authored-by: Chu Qinghao <me@qinghao1.com>
2018-05-25 12:49:01 -04:00
Florian Maushart 1ab3881ec9 cmake: Add options for parallel builds to --build mode
While we already support `cmake --build . -- -j`, the options after `--`
are specific to the native build tool.  Add new options `--parallel
[<N>]` and `-j [<N>]` to abstract this and map to the proper option
for the native build tool.
2018-05-25 09:42:20 -04:00
Vitaly Stakhovsky 726c090297 cmVisualStudio10TargetGenerator: close XML tag in Elem destructor
RAII actually implemented; EndElement() still kept to avoid major reformatting
2018-05-25 09:28:54 -04:00
Brad King 9b5161e24f Merge topic 'vs-scope'
45c4a75d27 cmVisualStudio10TargetGenerator: make sure each Elem has right scope

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2096
2018-05-25 09:25:17 -04:00
Kitware Robot a9bab1443e CMake Nightly Date Stamp 2018-05-25 00:01:04 -04:00
Raul Laasner 42738e5075 Help: Update description of the -D option to CMake
Fixes #18021
2018-05-24 17:50:33 -04:00
Brad King 2f8230b052 Merge topic 'revise-case-insensitive-command'
b1a05d6c76 Revise implementation of case-insensitive command names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2024
2018-05-24 09:56:23 -04:00
Kitware Robot 2d480a1c14 CMake Nightly Date Stamp 2018-05-24 00:01:04 -04:00
Kitware Robot 0e6bc9d025 CMake Nightly Date Stamp 2018-05-23 00:01:05 -04:00
Vitaly Stakhovsky 45c4a75d27 cmVisualStudio10TargetGenerator: make sure each Elem has right scope
Prepare for future RAII
2018-05-22 11:28:11 -04:00
Florian Jacomme b1a05d6c76 Revise implementation of case-insensitive command names
Store both the as-written and lower-case command names and use
the latter to avoid case-insensitive string comparisons.

With this I obtain 2-6% speed increase (on Windows) for the configure
step with no significant changes in memory usage.  A case-insensitive
comparison is a lot slower than just calling `==` because the operator
will use things like memcmp, so prefer the latter.

The `cmSystemTools::LowerCase` function allocates a new string each time
it is called, so before this change we were allocating in:

* cmMakefile::Configure two times for each function
  (to look for `cmake_minimum_required` and `project`)
* cmMakefile::ExecuteCommand twice by function by calling
  cmState::GetCommand and copying the name

Now we are only allocating once by function instead of four.
2018-05-22 10:56:24 -04:00
Kitware Robot e6a32f0525 CMake Nightly Date Stamp 2018-05-22 00:01:11 -04:00
Brad King 90e7103fc6 Merge topic 'pr.copy_data_check'
a203fcc63d cmake: Teach '-E tar' to report errors copying data

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2075
2018-05-21 11:05:42 -04:00
Brad King 64ec064212 Merge topic 'eclipse-custom-content'
fd0da95f63 Eclipse: Add property to include additional contents in .cproject file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2088
2018-05-21 11:04:04 -04:00
Brad King 7b42ffce09 Merge topic 'PDBDirectoryGenExpression'
79ca546ed2 Add generator expression support to PDB_OUTPUT_DIRECTORY target property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2083
2018-05-21 11:02:42 -04:00
Marian Klymov 79ca546ed2 Add generator expression support to PDB_OUTPUT_DIRECTORY target property
Fixes: #16365
2018-05-21 11:00:12 -04:00
Brad King 963a33f4a8 Merge topic 'vs-remove-stream'
790fc415b1 cmVisualStudio10TargetGenerator: remove BuildFileStream member

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2082
2018-05-21 10:58:53 -04:00
Brad King 4d6f4500df Merge topic 'update-kwsys'
b730097788 Merge branch 'upstream-KWSys' into update-kwsys
1f52cb087a KWSys 2018-05-18 (5357cfc4)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2090
2018-05-21 09:52:08 -04:00
Kitware Robot e5463ec917 CMake Nightly Date Stamp 2018-05-21 00:01:05 -04:00
Kitware Robot 32cf27ada5 CMake Nightly Date Stamp 2018-05-20 00:01:08 -04:00
Kitware Robot 76affcb6b4 CMake Nightly Date Stamp 2018-05-19 00:01:07 -04:00
Melanie Cappelaere fd0da95f63 Eclipse: Add property to include additional contents in .cproject file
Similar to ECLIPSE_EXTRA_NATURES which can be used to add a third party
nature to the .project, this property offers the possibility to inject
third party contents into the .cproject.

An example of where this is useful is MCUXpresso. This is an IDE based
on Eclipse. Compiling through CMake generated Eclipse projects works
fine by using a custom toolchain. However, in order to be able to debug
using such a project, an extra storageModule specific to the target
board is needed in the cproject.
2018-05-18 10:12:19 -04:00
Ruslan Baratov a203fcc63d cmake: Teach '-E tar' to report errors copying data
The `copy_data` function checks for errors but the caller ignored
them.  Simplify its return type and add a check to the caller.
2018-05-18 10:04:18 -04:00
Brad King b730097788 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2018-05-18 (5357cfc4)
2018-05-18 09:52:13 -04:00
Kitware Robot 4eea43fce7 CMake Nightly Date Stamp 2018-05-18 00:01:05 -04:00