Commit Graph

26065 Commits

Author SHA1 Message Date
Kitware Robot
0df31d99ae CMake Nightly Date Stamp 2019-02-28 00:01:08 -05:00
Brad King
b13a8441cd Merge topic 'ninja-dyndep-lang-aware'
f22c18b1c1 ninja: name dyndep internal files using the object file
7c78adca8e cmNinjaTargetGenerator: remove "preprocessed" mentions in dyndep
933dd91642 ninja: do not assume explicit preprocessing uses that output
2c0a7bc770 ninja: pass language to cmake_ninja_depends
72f9bb2993 ninja: make dyndep generation language aware
2dd0cb7aeb Help: note that Ninja also uses OBJECT_OUTPUTS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2997
2019-02-27 08:21:32 -05:00
Brad King
07421e6785 Merge topic 'autogen_variable_names'
63191b169e Autogen: Use more readable variable names for static const AUTO* strings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3026
2019-02-27 08:20:42 -05:00
Brad King
23bcac5d58 Merge topic 'ctest-clean-compress'
b5a69c6279 cmcompress: Delete unused 3rdParty module

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3019
2019-02-27 08:20:03 -05:00
Brad King
557d4b5882 Merge topic 'cmake_role-vs-fix'
e795be115e Merge branch 'master' into cmake_role-vs-fix
4b95e7fe63 CMAKE_ROLE: Fix value in --build for Visual Studio generators

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3028
2019-02-27 08:09:42 -05:00
Brad King
9b075d9032 Merge topic 'include_external_msproject-exclude-from-all'
3106cf4e3d include_external_msproject: Restore support for EXCLUDE_FROM_ALL

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3025
2019-02-27 07:56:00 -05:00
Kitware Robot
b3191a0f57 CMake Nightly Date Stamp 2019-02-27 00:01:09 -05:00
Kyle Edwards
e795be115e Merge branch 'master' into cmake_role-vs-fix 2019-02-26 17:28:04 -05:00
Kyle Edwards
4b95e7fe63 CMAKE_ROLE: Fix value in --build for Visual Studio generators
Fixes: #18990
2019-02-26 14:52:17 -05:00
Sebastian Holtermann
63191b169e Autogen: Use more readable variable names for static const AUTO* strings 2019-02-26 19:33:26 +01:00
Brad King
2621efac19 Merge topic 'vs-wince-no-deploy'
917c035ada VS: support suppressing deployment of selected targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2991
2019-02-26 11:10:08 -05:00
Brad King
28a296b6c4 Merge topic 'update-kwsys'
f6eebee194 Merge branch 'upstream-KWSys' into update-kwsys
11fe7c9063 KWSys 2019-02-25 (833b2470)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3018
2019-02-26 11:08:43 -05:00
Brad King
3c7662fd62 Merge topic 'add-xlclang'
d9d285c5ad jsoncpp: Fix include order for build within CMake
0d489fab19 libuv: fix atomic ops compilation with xlclang
1699f5c231 Utilities: Suppress warnings in third-party code when using XLClang
f709089d84 XLClang: Extract compiler implicit include directories
5c41386357 XLClang: Add policy CMP0089 to present as XL for compatibility
8278237933 XL: Remove overlap with the new XLClang compiler ID
6f5cf2d2c6 XL: Revert "Recognize compilers identified by __ibmxl__"
90c6156aa8 XLClang: Add a new compiler ID for the clang-based XL compiler
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2921
2019-02-26 11:07:54 -05:00
Brad King
5ac1c809f7 Merge topic 'autogen_headers_at_configure_time'
747463d1b3 Autogen: Move additional source header search to configuration stage
16c687825d Autogen: Refactor file lists computation
2d29166758 Autogen: Use cm::make_unique to allocate jobs
8182c21d2d Autogen: Use std::unordered_set instead of std::set for skip lists
84819c79e7 Autogen: Refactor cmQtAutoGenInitializer::AddGeneratedSource method
d9893fb594 Autogen: Refactor Qt executable name computation
5e36209f71 Autogen: Rename cmQtAutoGen::GeneratorT enum to cmQtAutoGen::GenT
14ae19c327 Autogen: cmQtAutoGen: Store generator names in class static const strings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3001
2019-02-26 11:06:10 -05:00
Brad King
3106cf4e3d include_external_msproject: Restore support for EXCLUDE_FROM_ALL
In commit dc6888573d (Pass EXCLUDE_FROM_ALL from directory to targets,
2019-01-15, v3.14.0-rc1~83^2) all `AddNewTarget` call sites were updated
to copy the directory-level `EXCLUDE_FROM_ALL` into the target property
of the same name, except that the one for `include_external_msproject`
was incorrectly missed.  Add it now.

Furthermore, refactoring in commit b99129d2d8 (ENH: some code cleanup,
2007-03-12, v2.6.0~2020) accidentally set the `EXCLUDE_FROM_ALL` target
property of `include_external_msproject`-generated targets to `FALSE`
instead of simply leaving it unset.  This was not necessary but had no
effect until the above commit gave it a meaning.  Drop that.

Fixes: #18986
2019-02-26 10:20:01 -05:00
Kitware Robot
7c292b37cf CMake Nightly Date Stamp 2019-02-26 00:01:07 -05:00
Ben Boeckel
f22c18b1c1 ninja: name dyndep internal files using the object file
Now that preprocessing outputs are not necessarily used all the way
through, the output name is a better base name to use for these files.
2019-02-25 10:14:11 -05:00
Ben Boeckel
7c78adca8e cmNinjaTargetGenerator: remove "preprocessed" mentions in dyndep
Not all languages compile the preprocessed source (or even have
preprocessed sources at all).
2019-02-25 10:14:11 -05:00
Ben Boeckel
933dd91642 ninja: do not assume explicit preprocessing uses that output
In Fortran, this is OK, but for C++, compiling preprocessed source
generally results in poorer diagnostic messages and can also be
ill-formed anyways.
2019-02-25 10:14:11 -05:00
Ben Boeckel
2c0a7bc770 ninja: pass language to cmake_ninja_depends 2019-02-25 10:14:09 -05:00
Ben Boeckel
72f9bb2993 ninja: make dyndep generation language aware
A target may have multiple languages with dyndep rules, separate `.dd`
files should be generated.
2019-02-25 10:06:20 -05:00
Brad King
f259e8759c Merge topic 'gt-shorter-unique-names'
3f685ac3e1 Use shorter names in internal TARGET_PROPERTY expressions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3009
2019-02-25 09:23:17 -05:00
Wil Stark
917c035ada VS: support suppressing deployment of selected targets
Add a `VS_NO_SOLUTION_DEPLOY` target property to explicitly specify for
each target whether to suppress VS solution deployment of the generated
target project.

Fixes: #18953
2019-02-25 09:14:15 -05:00
Brad King
f6eebee194 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2019-02-25 (833b2470)
2019-02-25 09:04:03 -05:00
Brad King
5c41386357 XLClang: Add policy CMP0089 to present as XL for compatibility
We now identify IBM's Clang-based XL compilers, which define
`__ibmxl__`, as `XLClang` rather than `XL`.  In order to support
existing project code that checks for `XL`, add a policy whose OLD
behavior is to present the compiler id as `XL` and whose NEW behavior is
to present the compiler id as `XLClang` as we really detect it.
2019-02-25 08:24:28 -05:00
Sebastian Holtermann
747463d1b3 Autogen: Move additional source header search to configuration stage
The computation of additional source headers and and private headers for
AUTOGEN is moved from the _autogen target to the configuration stage.  This
makes them available for _autogen target dependency computations.

Closes: #18949
2019-02-25 08:20:19 -05:00
Sebastian Holtermann
16c687825d Autogen: Refactor file lists computation
In AUTOGEN this replaces simple file name lists with two list (for
headers and sources) of structs with file name and file flags.
The file name lists that are passed to the _autogen target via
AutogenInfo.cmake are filtered from these two lists.
2019-02-25 08:20:19 -05:00
Brad King
f3b4a12c61 Merge topic 'return-explicit-conversion'
c7f3663b10 cmServerConnection: make return conversions explicit

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3000
2019-02-25 08:14:21 -05:00
Brad King
40768761b6 Merge topic 'drop-MIPSpro'
214fcefa52 Remove now-unused code once used for MIPSpro on IRIX

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3004
2019-02-25 08:13:44 -05:00
Brad King
a6cb73b97f Merge topic 'deprecate-policy-old'
02587d80cf Add deprecation warnings for policies CMP0066 and below

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3003
2019-02-25 08:12:54 -05:00
Brad King
a4d99e4dec Merge topic 'cmrange-improvements'
b8031308f3 cmRange: Add unit tests
a8d51ef8b7 cmRange: Add functions filter and transform
da4773e8b8 cmRange: Add functions all_of, any_of, none_of
17a367e77f cmRange: Stylistic cleanup
9eb0e73f46 cmRange: Move to dedicated header file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Artur Ryt <artur.ryt@gmail.com>
Merge-request: !2972
2019-02-25 08:03:01 -05:00
Brad King
94970cd042 Merge topic 'error-consolidate'
9dd255548d cmSystemTools::Error: consolidate parameters into single std::string

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2995
2019-02-25 08:02:07 -05:00
Brad King
ac419931ee Merge topic 'swift-partials'
001446126e Ninja: add final placeholders to merge Swift partials

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2998
2019-02-25 08:00:59 -05:00
Brad King
0476d16589 Merge topic 'systools-stdstring3'
4e315e9449 cmSystemTools: More functions accept `std::string` params

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2999
2019-02-25 07:59:59 -05:00
Brad King
c068236bb9 Merge topic 'link-options'
98a2d42301 PIE link options: No warning when policy CMP0083 is not set.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2996
2019-02-25 07:51:01 -05:00
Brad King
90323ff051 Merge topic 'remove-exclude-from-all-warning'
d3b765d451 EXCLUDE_FROM_ALL: Don't warn if installing target excluded from all

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3002
2019-02-25 07:49:53 -05:00
Brad King
283b8c2ae6 Merge topic 'fix-implicit-includes-fortran'
3dc81a48ff Fortran: Do not suppress explicit use of implicit include directories

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Michael Hirsch, Ph.D. <michael@scivision.co>
Merge-request: !2994
2019-02-25 07:48:35 -05:00
Regina Pfeifer
b5a69c6279 cmcompress: Delete unused 3rdParty module 2019-02-25 09:36:27 +01:00
Kitware Robot
3fff09096a CMake Nightly Date Stamp 2019-02-25 00:01:05 -05:00
Kitware Robot
d930e8c043 CMake Nightly Date Stamp 2019-02-24 00:01:05 -05:00
Kitware Robot
e4ad054e49 CMake Nightly Date Stamp 2019-02-23 00:01:05 -05:00
Brad King
6ebe40c6ae Merge branch 'remove-exclude-from-all-warning' into release-3.14
Merge-request: !3002
2019-02-22 11:19:09 -05:00
Ben Boeckel
c7f3663b10 cmServerConnection: make return conversions explicit
GCC 9 warns that `std::move` is not necessary, but in fact it is
necessary to call the proper conversion constructor.  Make that call
explicit.
2019-02-22 11:02:13 -05:00
Brad King
3f685ac3e1 Use shorter names in internal TARGET_PROPERTY expressions
The change in commit 2f708f5d65 (Make internal TARGET_PROPERTY generator
expressions more robust, 2018-09-07, v3.13.0-rc1~94^2~4) introduced
globally unique names in synthesized `$<TARGET_PROPERTY:...>` generator.
We used the pattern `<target-name>::T<pointer-to-generator-target>` to
guarantee uniqueness.  However, in projects that require many such
expressions to be generated there was a measurable increase in runtime.

We had included the target name in the synthesized genex only for human
reference during debugging.  It is not necessary.  Switch to the pattern
`:<pointer-to-generator-target>` to shorten the name.  Also hand-roll a
hex-print loop instead of using sprintf.  Together these optimizations
get at least some of the time back.

Issue: #18964
2019-02-22 09:14:27 -05:00
Sebastian Holtermann
2d29166758 Autogen: Use cm::make_unique to allocate jobs 2019-02-22 10:10:42 +01:00
Sebastian Holtermann
8182c21d2d Autogen: Use std::unordered_set instead of std::set for skip lists 2019-02-22 10:10:42 +01:00
Kitware Robot
63928f0868 CMake Nightly Date Stamp 2019-02-22 00:01:05 -05:00
Craig Scott
d3b765d451 EXCLUDE_FROM_ALL: Don't warn if installing target excluded from all
The original warning pre-dates support for install components.
There are now legitimate scenarios where an install(TARGETS)
command may list a target that is excluded from all, e.g.
hierarchical projects that will never install the component such a
target belongs to.

Fixes: #18938
2019-02-22 07:55:56 +11:00
Sebastian Holtermann
84819c79e7 Autogen: Refactor cmQtAutoGenInitializer::AddGeneratedSource method
In AUTOGEN pass the abstract cmQtAutoGenInitializer::GenVarsT to methods
to identify the generator (moc/uic/rcc).
2019-02-21 18:27:21 +01:00
Sebastian Holtermann
d9893fb594 Autogen: Refactor Qt executable name computation
In AUTOGEN a common new  base class cmQtAutoGenInitializer::GenVarsT for
mo/uic/rcc generator variables allows to generalize variable computation
functions.
2019-02-21 18:27:10 +01:00