Commit Graph

40734 Commits

Author SHA1 Message Date
Brad King 0c709cb2a2 Add deprecation warnings for policies CMP0063 and below
The OLD behaviors of all policies are deprecated, but only by
documentation.  Add an explicit deprecation diagnostic for some policies
to encourage projects to port away from setting policies to OLD.
2018-09-17 14:16:48 -04:00
Gilles Khouzam 83ddc4d289 VS: Do not select a Windows SDK too high for current VS version
Add an internal API for the maximum Windows 10 SDK version supported by
a toolset.  For Visual Studio 14 2015 that would be the version
"10.0.14393.0".

Fixes: #17788
2018-09-17 13:07:40 -04:00
Brad King e7fcd3b8eb Merge topic 'cmake_rule_messages_doc'
17e581af4c Help: Document CMAKE_RULE_MESSAGES variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2383
2018-09-17 11:27:29 -04:00
Brad King bef80e6623 VS: Do not specify incremental linking if LTCG is enabled
Otherwise the linker may warn:

    LNK4075: ignoring '/INCREMENTAL' due to '/LTCG' specification
2018-09-17 10:53:27 -04:00
Niels Dekker 567fabe88e IPO: INTERPROCEDURAL_OPTIMIZATION (LTCG) for Visual Studio
Add IPO support for Visual Studio (which is referred to by VS as
"Link Time Code Generation" and "Whole Program Optimization"), for
VS version >= 10.  This allows CMake/VS users to enable IPO by setting
property `INTERPROCEDURAL_OPTIMIZATION`.

Fixes: #16748
2018-09-17 10:53:10 -04:00
Marc Chevrier 53ad52d66d LINK_OPTIONS: Add missing initialization actions 2018-09-17 16:42:37 +02:00
Zack Galbreath 7f530cc54e ctest_submit: pass additional info to CDash
Specify buildname, site, and buildstamp to CDash upon submission.
CDash will use this extra info to assign and report back a buildid.
2018-09-17 10:38:33 -04:00
Brad King 2af106a43a Merge topic 'link-options'
6da8b67c3f target_link_options: fix erroneous handling of BEFORE keyword.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2384
2018-09-17 09:25:40 -04:00
Brad King 7bf9796f3d Merge topic 'docs/gen-see-also'
e3f9ea8616 docs: add some 'see also' helper texts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2381
2018-09-17 09:25:03 -04:00
Brad King a6ae99ebbe Merge topic 'FindCUDA-doc-typo'
6209434b44 FindCUDA: Fix "alphabetical" typo

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2387
2018-09-17 09:24:10 -04:00
Brad King b3f1e65486 Merge topic 'update-kwsys'
49e7a82c90 Merge branch 'upstream-KWSys' into update-kwsys
b13c8526b1 KWSys 2018-09-14 (1809bedd)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2385
2018-09-17 09:22:38 -04:00
Craig Scott 2a2f0ac231 Help: Clarify handling of non-integer components in if() version tests 2018-09-17 18:12:08 +08:00
Julien Schueller 17e581af4c Help: Document CMAKE_RULE_MESSAGES variable
Fixes: #18368
2018-09-17 10:05:30 +02:00
Kitware Robot 19daeda516 CMake Nightly Date Stamp 2018-09-17 00:01:10 -04:00
Gregor Jasny 6b7b54d476 bootstrap: Add missing libraries for kFreeBSD
Closes #18375
2018-09-16 14:35:44 +02:00
Kitware Robot e173c25f19 CMake Nightly Date Stamp 2018-09-16 00:01:06 -04:00
Robert Maynard 638f00117a Add release note for the -S and -B options. 2018-09-15 11:25:47 -04:00
Robert Maynard de962cc00d CMake: Internally uses -S instead of -H to specify source directory 2018-09-15 11:25:47 -04:00
Robert Maynard a10d63d578 cmake: -S and -B can be used to specify source and build directories
Document the previously internal option of '-B' and provide a
matching source directory option with '-S'. Both '-B', and '-S'
can be used independently of each other.
2018-09-15 11:25:47 -04:00
Kitware Robot 18eb4c637a CMake Nightly Date Stamp 2018-09-15 00:01:15 -04:00
Nikolaus Wittenstein 6209434b44 FindCUDA: Fix "alphabetical" typo 2018-09-14 14:53:03 -04:00
KWSys Upstream b13c8526b1 KWSys 2018-09-14 (1809bedd)
Code extracted from:

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

at commit 1809bedde0491d078ad42200bf2834c345e65398 (master).

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

Ben Boeckel (2):
      b5b294c1 SystemTools::Split: fix copy-pasta comments
      ab0d44c9 SystemTools::Split: use str.find_first_of(char)

Roger Leigh (1):
      bdd39241 Process: On Windows do not open stdin file with write permission
2018-09-14 13:25:53 -04:00
Brad King 49e7a82c90 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2018-09-14 (1809bedd)
2018-09-14 13:25:53 -04:00
Brad King 333804fa0e Merge topic 'out-of-dir-linking'
a1ad0a699b target_link_libraries: Allow use with targets in other directories
9bbae5ae28 cmTarget: Future-proof AddLinkLibrary target lookup scope
f9cb6f618a cmExportFileGenerator: Use cmGeneratorTarget::ResolveTargetReference
18441a6269 cmGeneratorTarget: Factor target name resolution out of link item resolution
2f708f5d65 Make internal TARGET_PROPERTY generator expressions more robust
94a75801c8 Android.mk: De-duplicate link libraries logic during export
8a63b23d16 cmGlobalGenerator: Remove unused FindLocalGenerator method

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Patrick Stotko <stotko@cs.uni-bonn.de>
Merge-request: !2370
2018-09-14 13:25:07 -04:00
Brad King 88e6e35358 Merge topic 'module_policy_protection'
8ede35523e IN_LIST: Ensure policy allows if(IN_LIST) if used by a module
e549e31f79 CMakeIOSInstallCombined: Prevent policy leakage

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2375
2018-09-14 13:23:10 -04:00
Brad King cff5151822 Merge topic 'boost-notfound'
ee300dc25d FindBoost: Suppress imported targets warning if Boost was not found

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2376
2018-09-14 13:22:18 -04:00
Brad King 14a4f9a361 Merge topic 'ctest-stop-time-test'
ed71ec7579 CTest: Improve stop-time implementation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2378
2018-09-14 13:21:26 -04:00
Brad King 7c94434351 Merge topic 'test-ninja-sub-build-fs-delay'
bdd0e2d709 Tests: Extend RunCMake.Ninja filesystem delays

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2310
2018-09-14 13:20:27 -04:00
Marc Chevrier 6da8b67c3f target_link_options: fix erroneous handling of BEFORE keyword. 2018-09-14 18:10:58 +02:00
Kitware Robot f0c84346ed CMake Nightly Date Stamp 2018-09-14 00:01:04 -04:00
Brian Heim e3f9ea8616 docs: add some 'see also' helper texts
in cmake-generator-expressions
2018-09-13 00:32:01 -05:00
Kitware Robot 98e6877d1e CMake Nightly Date Stamp 2018-09-13 00:01:06 -04:00
Brad King a1ad0a699b target_link_libraries: Allow use with targets in other directories
Previously the command did not allow naming targets on the LHS that
were not created in the calling directory.  Lift this restriction to
enable more flexible use by projects.

Targets named on the RHS will need to be looked up during generation in
the scope of the call site rather than the scope of the LHS target.
Introduce an internal syntax in `[INTERFACE_]LINK_LIBRARIES` properties
to specify target names that need to be looked up in a directory other
than that containing the target on which the property is set.  Add
minimal documentation of the syntax to help users that encounter it.

Unfortunately CMake previously did allow such calls in the case that
only `INTERFACE` libraries are specified, but those libraries would be
looked up in the target's directory rather than the caller's.  Add
policy `CMP0079` to enable the new behavior with new lookup scope in a
compatible way.

Fixes: #17943
2018-09-12 13:06:36 -04:00
Brad King 9bbae5ae28 cmTarget: Future-proof AddLinkLibrary target lookup scope
The `AddLinkLibrary` method takes a `cmMakefile` pointer to represent
the scope of the caller that wants to link to the named library.
Currently in all call sites this is the same as the target's `Makefile`
member, but in principle the library named by the caller is visible in
its scope so we should use the `cmMakefile` it provided to look up the
library target.
2018-09-12 12:46:51 -04:00
Brad King f9cb6f618a cmExportFileGenerator: Use cmGeneratorTarget::ResolveTargetReference
Avoid calling `FindGeneratorTargetToUse` directly.
2018-09-12 12:46:51 -04:00
Brad King 18441a6269 cmGeneratorTarget: Factor target name resolution out of link item resolution 2018-09-12 12:46:51 -04:00
Brad King 2f708f5d65 Make internal TARGET_PROPERTY generator expressions more robust
While collecting usage requirements from the `INTERFACE_*` properties of
directly linked targets, we internally generate `TARGET_PROPERTY:` and
`TARGET_OBJECTS:` generator expressions to refer to those properties on
those targets.  At the point we generate these expressions we already
have a pointer to an exact `cmGeneratorTarget` instance.

Switch from using the target name in these generator expressions to
using an internal unique name generated for each `cmGeneratorTarget`
instance to be referenced.  This avoids depending on the user-facing
target name to find the same target we already have.
2018-09-12 12:46:25 -04:00
Brad King ed71ec7579 CTest: Improve stop-time implementation
The CTestTestStopTime test has been failing sporadically because the
stop time causes the first internal test to have a timeout short enough
that we might hit it and start the second test just before the stop time
is reached.  Instead we should track when a timeout is shortened in
order to stay within the stop time.  If a test times out for this reason
then we should consider the stop time reached and not start any more
tests.
2018-09-12 10:59:55 -04:00
Brad King bdd0e2d709 Tests: Extend RunCMake.Ninja filesystem delays
On filesystems with 1s resolution the `run_sub_cmake` cases fail
occasionally when the 1 second sleep does not cause files to have
a different time.  Use 3 seconds instead.
2018-09-12 10:22:22 -04:00
Roger Leigh ee300dc25d FindBoost: Suppress imported targets warning if Boost was not found
Fixes: #18330
2018-09-12 14:44:57 +01:00
Brad King 42212f7539 Merge topic 'rule-launch-custom-extra-space'
3e125c0c01 Ninja,Makefile: Drop extra space after RULE_LAUNCH_CUSTOM value

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2372
2018-09-12 09:39:46 -04:00
Brad King 708b3fecfe Merge topic 'gicv-stdstring'
13d10ee616 cmState::GetInitializedCacheValue: Return as const std::string*

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2365
2018-09-12 09:38:37 -04:00
Brad King 1c1a1e08e8 Merge topic 'IAR_6_50_6_fix'
8fdf08c097 IAR: Fix compiler id, version, and arch detection on 6.50.6

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2371
2018-09-12 09:37:58 -04:00
Brad King 920ac301b5 Merge branch 'release-3.12' 2018-09-12 09:36:46 -04:00
Brad King 8bf5c2326e Merge topic 'FindDoxygen-CMP0057'
e8213404ce FindDoxygen: Ensure policy settings allow use of IN_LIST

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2373
2018-09-12 09:35:45 -04:00
Craig Scott e7a45e3ec3 Merge topic 'unused-variables-cleanup'
2c154fec6b Warnings: Remove unused variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2364
2018-09-12 09:32:19 -04:00
Marc Chevrier 329f6aeca5 FindPython*: Windows: add facility to select lookup order for registry.
Fixes: #18302
2018-09-12 10:04:05 +02:00
Marc Chevrier ffb560adc9 FindPython*: MacOS: Fix erroneous handling of Frameworks.
Fixes: #18204
2018-09-12 10:04:04 +02:00
Marc Chevrier b0b53921ce FindPython: clean-up lookup names strategy 2018-09-12 10:04:04 +02:00
Craig Scott 8ede35523e IN_LIST: Ensure policy allows if(IN_LIST) if used by a module 2018-09-12 14:50:16 +08:00