Commit Graph

26081 Commits

Author SHA1 Message Date
Felix Schwitzer
aa68ce6bd4 ccmake: fix curses dialog broken by refactoring
During refactoring in commit f6291eee25 (cmCursesMainForm: Modernize
with STL and ranged-for loops, 2019-02-10) a transformation of a loop
went wrong and editing the cmake cache with ccmake no longer works.
Make ccmake work again.

Fixes: #19008
2019-03-04 09:12:41 -05:00
Kitware Robot
033728e867 CMake Nightly Date Stamp 2019-03-03 00:01:05 -05:00
Kitware Robot
26068d2db8 CMake Nightly Date Stamp 2019-03-02 00:01:09 -05:00
Brad King
980d9a987d Merge topic 'cuda_device_link_handle_frameworks'
d5d1b15654 CUDA: Filter out -framework arguments during device linking

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3039
2019-03-01 09:08:56 -05:00
Brad King
8b1716a62a Merge topic 'vs2019'
c9a7f3135e Help: Update VS 2019 generator release note for preview 4
00c1120837 VS: Drop workaround needed only for VS 2019 preview 2 and 3

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Egor Pugin <egor.pugin@gmail.com>
Merge-request: !3044
2019-03-01 09:07:29 -05:00
Kitware Robot
2f59cd6371 CMake Nightly Date Stamp 2019-03-01 00:01:07 -05:00
Robert Maynard
d5d1b15654 CUDA: Filter out -framework arguments during device linking
The filter in commit e768d96c74 (CUDA: Filter out host link flags during
device linking, 2018-10-22, v3.13.0-rc2~4^2~2^2) removes `-framework`
but not the framework name that comes after it.  Revise the logic to
remove both.

Fixes: #18911
2019-02-28 14:56:11 -05:00
Brad King
d0a328c9f6 Merge topic 'refactor-handle-path-command'
9636b03cca cmFileCommand: Refactor HandleCMakePathCommand

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2960
2019-02-28 11:43:39 -05:00
Brad King
6066aa471e Merge topic 'optimize_ge_node_lookup'
a490ea4a28 cmGeneratorExpressionNode: Initialize node key map in class constructor

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3031
2019-02-28 11:42:32 -05:00
Brad King
bfd71fc05c Merge topic 'features-from-default-standard'
c7213ca870 Features: Do not use a lower-than-default standard for requested features

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3023
2019-02-28 11:41:43 -05:00
Brad King
00c1120837 VS: Drop workaround needed only for VS 2019 preview 2 and 3
A temporary workaround added by commit 626c51f47b (VS: Update for Visual
Studio 2019 Preview 2, 2019-01-24, v3.14.0-rc1~74^2) is no longer needed
as of VS 2019 preview 4.

Fixes: #18898
2019-02-28 11:04:29 -05:00
Brad King
a4f2dd9577 Merge topic 'check-std-size-cbegin-cend'
e6195989c7 Merge branch 'backport-check-std-size-cbegin-cend'
a605bf438e Extend C++17/C++14 feature checks to cover more standard library APIs
e17deb7ad4 Extend C++17/C++14 feature checks to cover more standard library APIs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3030
2019-02-28 11:00:13 -05:00
Kitware Robot
0df31d99ae CMake Nightly Date Stamp 2019-02-28 00:01:08 -05:00
Mathieu Garaud
a605bf438e Extend C++17/C++14 feature checks to cover more standard library APIs
Make sure `std::cbegin`, `std::cend`, and `std::size` work in C++17 or
C++14 mode before choosing the corresponding standard level for
compiling CMake itself.  This helps in cases that the compiler is using
a standard library too old to support the full standard level chosen.
2019-02-27 11:27:17 -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
Sebastian Holtermann
a490ea4a28 cmGeneratorExpressionNode: Initialize node key map in class constructor
By initializing the node map in the class constructor of the static instance
we avoid an if-empty check.
2019-02-27 13:25:22 +01: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
Artur Ryt
9636b03cca cmFileCommand: Refactor HandleCMakePathCommand
Make use of cmJoin and fresh cmRange::transform
to reduce function complexity.
Move conversion logic to named functions.
2019-02-26 21:39:10 +01:00
Kyle Edwards
4b95e7fe63 CMAKE_ROLE: Fix value in --build for Visual Studio generators
Fixes: #18990
2019-02-26 14:52:17 -05:00
Zsolt Parragi
c7213ca870 Features: Do not use a lower-than-default standard for requested features
`AddRequiredTargetC(xx)` feature didn't take the default compiler
standard into account, which possibly resulted in the use of an older
standard when some features requested it.

Fixes: #18686
2019-02-26 14:35:55 -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