38734 Commits

Author SHA1 Message Date
Brad King
213ecf05d6 Merge topic 'autogen-improve-multi-config'
a8ee7406 Autogen: Improved multi-config include scheme

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1735
2018-02-05 08:43:05 -05:00
Brad King
e559b45ff8 Merge topic 'autogen-documentation'
c4ffbb79 Autogen: Documentation: Update for AUTORCC changes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1744
2018-02-05 08:42:33 -05:00
Brad King
4d9ccd0abd Merge topic 'vs-static-ConvertToWindowsSlash'
6d148d6d cmVisualStudio10TargetGenerator: Limit scope of ConvertToWindowsSlash()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1741
2018-02-05 08:41:52 -05:00
Kitware Robot
30ee1dc7b0 CMake Nightly Date Stamp 2018-02-05 00:01:09 -05:00
Kitware Robot
b4a06e2cf7 CMake Nightly Date Stamp 2018-02-04 00:01:09 -05:00
Sebastian Holtermann
c4ffbb79c0 Autogen: Documentation: Update for AUTORCC changes 2018-02-03 10:12:01 +01:00
Kitware Robot
09d7ed20df CMake Nightly Date Stamp 2018-02-03 00:01:12 -05:00
Brad King
b12069f7b0 Merge topic 'UseSWIG-fix-regression'
bc3697fa UseSWIG: Restore support for like-named .i files in different modules

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1734
2018-02-02 07:58:11 -05:00
Marc Chevrier
bc3697fa51 UseSWIG: Restore support for like-named .i files in different modules
Fix logic added by commit 2ee10119ea (swig: fix incremental build in
case of removed interface files, 2017-11-06).  Name the extra targets
added for Makefile generators using both the module name and .i base
name to avoid collisions across modules.  Also make sure the extra
targets added for all .i files in a module are added as dependencies
instead of just the last one.

Fixes: #17704
2018-02-02 07:41:44 -05:00
Brad King
457bcbd4f9 Merge topic 'simplify-ccg-converter'
df1693bd cmCustomCommandGenerator: Simplify cmOutputConverter access

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1738
2018-02-02 07:24:07 -05:00
Brad King
62c5fc80b1 Merge topic 'test-cuda-missing-check'
8285aa9e Tests: Add missing error check in CudaOnly.GPUDebugFlag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1739
2018-02-02 07:23:38 -05:00
Brad King
52ed76e46e Merge topic 'ninja-unused-device-link'
20676cba Ninja: Remove unused device link line code

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1737
2018-02-02 07:23:08 -05:00
Brad King
d280327713 Merge topic 'update-kwsys'
be46f9fb Merge branch 'upstream-KWSys' into update-kwsys
854feacc KWSys 2018-02-01 (04fcc449)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1736
2018-02-02 07:22:40 -05:00
Sebastian Holtermann
a8ee7406a7 Autogen: Improved multi-config include scheme
For multi configuration generators AUTOMOC generates the
moc files that are included in `mocs_compilation.cpp`
in `AUTOGEN_BUILD_DIR/include_$<CONFIG>/`. By doing so each
configuration reads different moc files when compiling
`mocs_compilation.cpp`. Since we do not (need to) rewrite
`mocs_compilation.cpp` on a configuration change anymore,
the files also does not need to be recompiled anymore.
Not having to rewrite and recompile `mocs_compilation.cpp`
on a configuration change anymore was the main objective of
this patch.

In a similar fashion AUTORCC generates a `qrc_BASE_CMAKE.cpp`
file below `AUTOGEN_BUILD_DIR/include_$<CONFIG>/` and
`qrc_BASE.cpp` becomes a mere wrapper that includes this
actuall rcc output file (when using multi configuration
generators).

The template files `Modules/AutoRccInfo.cmake.in` and
`Modules/AutogenInfo.cmake.in` were removed in favor
of writing the info `.cmake` files manually.

Closes #17230
2018-02-02 09:10:40 +01:00
Kitware Robot
a53697acc7 CMake Nightly Date Stamp 2018-02-02 00:01:06 -05:00
Vitaly Stakhovsky
6d148d6d53 cmVisualStudio10TargetGenerator: Limit scope of ConvertToWindowsSlash()
It is no longer used outside this class, so its scope can be limited to file.
2018-02-01 19:09:34 -05:00
Brad King
df1693bdfc cmCustomCommandGenerator: Simplify cmOutputConverter access
In commit v3.4.0-rc1~480^2~3 (cmCustomCommandGenerator: Port to
cmOutputConverter, 2015-06-04), cmCustomCommandGenerator's access to the
local generator was removed so it needed to construct its own
cmOutputConverter instance.  Access to the local generator was then
restored by commit v3.4.0-rc1~285^2~21 (cmCustomCommandGenerator:
Require cmLocalGenerator in API, 2015-07-25), so now we can use its
cmOutputConverter base class methods directly.
2018-02-01 14:58:25 -05:00
Brad King
20676cbaca Ninja: Remove unused device link line code
Remove the `PRE_LINK` and `POST_BUILD` variables.  They are not
referenced by `WriteDeviceLinkRule`.

Remove the `byproducts` local variable from `WriteDeviceLinkStatement`
and all the code populating it.  We never used the result.
2018-02-01 14:36:09 -05:00
Brad King
8285aa9e4e Tests: Add missing error check in CudaOnly.GPUDebugFlag
If `cudaMallocManaged` fails then later use of `has_debug` is not valid.
2018-02-01 09:07:50 -05:00
Brad King
be46f9fb6e Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2018-02-01 (04fcc449)
2018-02-01 08:15:44 -05:00
KWSys Upstream
854feacc60 KWSys 2018-02-01 (04fcc449)
Code extracted from:

    https://gitlab.kitware.com/utils/kwsys.git

at commit 04fcc449646eb2ff3d701986946a1db60b2161b7 (master).

Upstream Shortlog
-----------------

Ben Boeckel (11):
      ba270398 SystemToolsAppendComponents: move strings when building components
      cfd0f1e6 JoinPath: push back as a character
      6770cb3e GetFilenameName: optionally don't search for \ on non-Windows
      22b189b0 ConvertToUnixSlashes: remove escaped space logic
      342d69a4 ConvertToUnixSlashes: short-circuit on hasDoubleSlash
      5dd87350 ConvertToUnixSlashes: remove pos1
      3b46b7c0 ConvertToUnixSlashes: bail early on empty paths
      55d1d6ab CollapseFullPath: reserve space for components
      68807138 CollapseFullPath: prefer .empty() to .length() == 0
      71a6de42 CollapseFullPath: refactor the overloads to share implementations
      318550c7 CheckCollapsePath: add more test cases
2018-02-01 08:15:44 -05:00
Brad King
5a16e762e2 Merge topic 'msvc-doc-fix'
efe22af2 Help: Clarify MSVC and MSVC_VERSION variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1732
2018-02-01 08:07:50 -05:00
Christian Pfeiffer
efe22af20e Help: Clarify MSVC and MSVC_VERSION variables
The current documentation doesn't clarify that compilers simulating
Visual C++ will also have these variables set.
2018-02-01 08:05:46 -05:00
Brad King
f8ca0ab3ac Merge topic 'std-string-apis'
653b8946 Reduce raw string pointers usage.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1729
2018-02-01 08:05:33 -05:00
Brad King
3ffc9b99bb Merge topic 'UseSWIG-doc-clarify'
b844a414 UseSWIG: Clarify documentation of SWIG_OUTFILE_DIR
315b0927 UseSWIG: Improve documentation markup
ce130c7a UseSWIG: Convert docs to a bracket comment

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1733
2018-02-01 08:04:52 -05:00
Brad King
f04cc45850 Merge topic 'findmpi-linker-parsing-enh'
0def3604 FindMPI: Discard IMPI boilerplate text
9ecbec5e FindMPI: Support for IMPI's compiler check
76755367 FindMPI: Set up environment variables for wrapper
e7c0298d FindMPI: Retain unused link paths
8cddc899 FindMPI: Use more CMake variables
8b79107a FindMPI: Improve link information parsing

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1694
2018-02-01 08:04:08 -05:00
Brad King
8cb92c25d7 Merge topic 'perf-from-callgrind'
901c4a1e cmExpandedCommandArgument: add an overload for const char*
88ed556d cmGeneratorTarget: make keyword strings const
14a13d30 cmGeneratorExpressionLexer: only tokenize strings with a '$'
f2b8d67f cmTarget: use static strings for special property names
6dfd0f92 cmGeneratorExpressionNode: avoid some strlen in $<TARGET_PROPERTY>
f9235fd4 cmAddCustomCommandCommand: use std::string const& for FileIsFullPath
c0e7a137 cmAddCustomCommandCommand: store keywords in strings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1689
2018-02-01 08:03:13 -05:00
Kitware Robot
70695e72a6 CMake Nightly Date Stamp 2018-02-01 00:01:10 -05:00
Noel Eck
b844a414c7 UseSWIG: Clarify documentation of SWIG_OUTFILE_DIR
The `SWIG_OUTFILE_DIR` variable provides the option to specify an output
directory location.  This commit removes portion stating that this is
equal to the `swig -o` option since it does not set the output filename.

Fixes: #17703
Signed-off-by: Noel Eck <noel.eck@intel.com>
2018-01-31 14:22:24 -05:00
Brad King
315b0927e9 UseSWIG: Improve documentation markup 2018-01-31 14:20:17 -05:00
Brad King
ce130c7a6b UseSWIG: Convert docs to a bracket comment 2018-01-31 13:55:22 -05:00
Christian Pfeiffer
0def36043f FindMPI: Discard IMPI boilerplate text
Intel MPI on Windows prefixes all outputs with some boilerplate
copyright text. By discarding it, we should prevent any potential
clashes with our regex parsing.
2018-01-31 17:43:30 +01:00
Christian Pfeiffer
9ecbec5e01 FindMPI: Support for IMPI's compiler check
Intel MPI has an optional feature to check compatibility with the
compiler, given by I_MPI_CHECK_COMPILER.
This commit adds support for executing that check.
2018-01-31 17:27:38 +01:00
Christian Pfeiffer
767553674e FindMPI: Set up environment variables for wrapper
For MPICH derivates and Intel MPI, we can improve the compiler wrapper
behavior and accuracy by defining certain environment variables if they
haven't been set otherwise.
2018-01-31 17:27:37 +01:00
Ben Boeckel
901c4a1e05 cmExpandedCommandArgument: add an overload for const char*
Static string comparisons were causing heap allocations just for a
comparison.
2018-01-31 11:04:36 -05:00
Ben Boeckel
88ed556d99 cmGeneratorTarget: make keyword strings const 2018-01-31 11:04:36 -05:00
Ben Boeckel
14a13d30ee cmGeneratorExpressionLexer: only tokenize strings with a '$'
In standard libraries, `std::string::find` is usually implemented using
vectorized code. Since the Tokenize method iterates
character-by-character, doing an initial check using `find` improves
performance.
2018-01-31 11:04:36 -05:00
Ben Boeckel
f2b8d67f19 cmTarget: use static strings for special property names
Similar to 660769151a7f628f92eb28d77bcae854eaae54c2, the `SetProperty`
side is showing up in performance listings due to string comparisons.
2018-01-31 11:04:35 -05:00
Ben Boeckel
6dfd0f9294 cmGeneratorExpressionNode: avoid some strlen in $<TARGET_PROPERTY> 2018-01-31 11:04:35 -05:00
Ben Boeckel
f9235fd474 cmAddCustomCommandCommand: use std::string const& for FileIsFullPath 2018-01-31 11:04:35 -05:00
Ben Boeckel
c0e7a13702 cmAddCustomCommandCommand: store keywords in strings
Callgrind indicated that `strlen` was being called a lot of times here
due to the string comparisons. Since keywords are "sparse" in
`add_custom_command`, use a hash comparison to handle keywords and then
use strings for comparison since they have a built-in length parameter.
2018-01-31 11:03:51 -05:00
Brad King
a0c04e71eb Merge topic 'windows-cmake-stack-size'
c7cee1a1 Windows: Increase stack size used by CMake binaries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1728
2018-01-31 10:53:21 -05:00
Pavel Solodovnikov
653b894683 Reduce raw string pointers usage.
* Change some functions to take `std::string` instead of
  `const char*` in the following classes: `cmMakeFile`, `cmake`,
  `cmCoreTryCompile`, `cmSystemTools`,  `cmState`, `cmLocalGenerator`
  and a few others.
* Greatly reduce using of `const char*` overloads for
  `cmSystemTools::MakeDirectory` and `cmSystemTools::RelativePath`.
* Remove many redundant `c_str()` conversions throughout the code.
2018-01-31 18:23:03 +03:00
Brad King
e2db8531f1 Merge topic 'windows-embed-cmake-gui-version'
45f6aa32 Windows: Embed version information into cmake-gui

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1726
2018-01-31 09:22:43 -05:00
Brad King
4499cc8bb6 Merge topic 'msvc_cuda_files_use_consistent_obj_names'
fa583869 CUDA: Use MSVC default pattern for naming object files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1722
2018-01-31 08:36:24 -05:00
Brad King
a7ee918f19 Merge topic 'generate_speedup'
aed227fd cmLocalGenerator: change ImportedGeneratorTargets from vector to map
4443adc1 cmLocalGenerator: remove public GetImportedGeneratorTargets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Attila Krasznahorkay <attila.krasznahorkay@gmail.com>
Merge-request: !1717
2018-01-31 08:34:59 -05:00
Brad King
3fd01be56b Merge topic 'source_group-TREE-args'
365e02e7 source_group: Fix TREE argument parsing

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1713
2018-01-31 08:34:24 -05:00
Brad King
174693dafe Merge topic 'CheckIPOSupported-doc-Fortran'
9e341f05 CheckIPOSupported: Document existing Fortran support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1727
2018-01-31 08:33:29 -05:00
Brad King
0a37b515af Merge topic 'vs-restore-order'
1fe66c46 VS: Restore the order of the AdditionalIncludeDirectories tag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1719
2018-01-31 08:33:00 -05:00
Brad King
efa5a26d02 Merge topic 'dedup-ComputeObjectFilenames'
79f22e84 Makefile,Ninja: De-duplicate ComputeObjectFilenames method

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1715
2018-01-31 08:32:27 -05:00