Commit Graph

42268 Commits

Author SHA1 Message Date
Brad King
2ad14ef4ea cmAlgorithms: Add cmHasPrefix to match existing cmHasSuffix 2019-02-13 09:52:20 -05:00
Brad King
557b2d6e65 Fix regression in -I/usr/include exclusion logic
The change in commit 15ad830062 (Refactor exclusion of -I/usr/include to
avoid per-language values, 2019-01-21, v3.14.0-rc1~108^2~4) caused the
exclusion to apply to Fortran, but it was only meant for C, CXX, and
CUDA.  The purpose of the change was to prepare for the value of
`CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES` to be computed from the
actual compiler instead of hard-coded.  We need to preserve exclusion of
`-I/usr/include` if the compiler has any implicit include directory that
looks intended to replace it, e.g. `<sdk>/usr/include` on macOS.

Fixes: #18914
2019-02-13 09:52:20 -05:00
Brad King
017598a444 macOS: Fix addition of <sdk>/usr/include to default implicit include dirs
In commit 1293ed8507 (ParseImplicitIncludeInfo: keep implicit incl.
consistent when rerunning cmake, 2019-01-30, v3.14.0-rc1~26^2) the
`Platform/UnixPaths` module was updated to add `/usr/include` to
`CMAKE_{C,CXX,CUDA}_IMPLICIT_INCLUDE_DIRECTORIES` through an
initialization variable used by `CMakeDetermineCompilerABI` instead of
directly.  This approach makes it only a default that can be overridden
by detection of the implicit include directories really used by the
compiler.

The addition of `<sdk>/usr/include` to default implicit include
directories by the `Platform/Darwin` module needs the same update but
was accidentally left out of the original commit.
2019-02-13 09:52:19 -05:00
Brad King
6f23321d40 Merge topic 'doc-3.14-relnotes'
aa9161fd57 Help: Organize and revise 3.14 release notes
0d1a9282c4 Help: Consolidate 3.14 release notes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2925
2019-02-06 10:04:49 -05:00
Brad King
aa9161fd57 Help: Organize and revise 3.14 release notes
Add section headers similar to the 3.13 release notes and move each
individual bullet into an appropriate section.  Revise a few bullets.
2019-02-06 09:52:35 -05:00
Brad King
0d1a9282c4 Help: Consolidate 3.14 release notes
Run the `Utilities/Release/consolidate-relnotes.bash` script to move
notes from `Help/release/dev/*` into `Help/release/3.14.rst`.
2019-02-06 09:16:59 -05:00
Brad King
d423192062 Merge topic 'deprecate-xcode-4'
75a75d2754 Xcode: deprecate support for Xcode 4

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2922
2019-02-06 06:54:52 -05:00
Gregor Jasny
75a75d2754 Xcode: deprecate support for Xcode 4 2019-02-06 06:53:42 -05:00
Brad King
d6729505cb Merge topic 'relax_CUDA_RESOLVE_DEVICE_SYMBOLS_constraints'
850ef90a66 CUDA: Honor CUDA_RESOLVE_DEVICE_SYMBOLS for more target types

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2900
2019-02-06 06:51:30 -05:00
Brad King
4400ac07f7 Merge topic 'autogen_same_name_different_extension'
a28caabf45 Autogen: AUTOMOC support for files with the same name but different extensions
1f802295f2 Autogen: Extend the SameName test with same name but different extension files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2920
2019-02-06 06:50:36 -05:00
Kitware Robot
3a2387bce7 CMake Nightly Date Stamp 2019-02-06 00:01:07 -05:00
Robert Maynard
850ef90a66 CUDA: Honor CUDA_RESOLVE_DEVICE_SYMBOLS for more target types
`CUDA_RESOLVE_DEVICE_SYMBOLS` can be used with shared, module, and
executable target types.  This relaxation is to allow for better
interoperability with linkers that automatically do CUDA device symbol
resolution and have no way to disable it.
2019-02-05 11:09:48 -05:00
Sebastian Holtermann
a28caabf45 Autogen: AUTOMOC support for files with the same name but different extensions
This adds support for AUTOMOC to moc header files with the same but different
extensions (e.g `obj.h`, `obj.hpp`, `obj.hxx`).  If a moc file would appear
multiple times in `mocs_compilation.cpp`, a number suffix is appended
to the name to make it unique.

Closes #14489
2019-02-05 15:51:53 +01:00
Sebastian Holtermann
1f802295f2 Autogen: Extend the SameName test with same name but different extension files 2019-02-05 15:51:53 +01:00
Brad King
f47d980f73 Merge topic 'update-kwsys'
9ddbf4c6e6 Merge branch 'upstream-KWSys' into update-kwsys
8372c05472 KWSys 2019-02-05 (65802a20)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2918
2019-02-05 07:49:07 -05:00
Brad King
ab01ce91ee Merge topic 'autogen_single_all_sources_iteration'
b6cf086267 Autogen: Iterate over makefile sources only once
ed0fa784eb cmSystemTools: Let `GetFileFormat` accept a `std::stding const&`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2909
2019-02-05 07:47:14 -05:00
Brad King
c6d679f0d9 Merge topic 'vs-fortran-target-check'
d3d2c3cd49 VS: Fix Fortran target type selection when linking C++ targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2913
2019-02-05 07:36:36 -05:00
Brad King
c03072f2f7 Merge topic '17870-iphone-friendly-cmake'
e8ee8cab97 Xcode: Completely disable code signing for compiler id detection
11da882a12 Apple: Introduce separate system name for iOS, tvOS, and watchOS
36cf44a7a3 Tests: Isolate RunCMake.XcodeProject per-device cases from host arch

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2392
2019-02-05 07:33:04 -05:00
Brad King
25e616862d Merge topic 'swift-xcode-10.2'
96dece6dc1 Xcode: Update default Swift language version for Xcode 10.2

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2912
2019-02-05 07:29:59 -05:00
Brad King
9ddbf4c6e6 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2019-02-05 (65802a20)
2019-02-05 07:20:34 -05:00
KWSys Upstream
8372c05472 KWSys 2019-02-05 (65802a20)
Code extracted from:

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

at commit 65802a20ec4b9a774518151c3f8772e082163601 (master).

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

Nicolae Vartolomei (1):
      d1536b02 macOS: Better approximation for AvailablePhysicalMemory
2019-02-05 07:20:29 -05:00
Kitware Robot
762a41fd19 CMake Nightly Date Stamp 2019-02-05 00:01:05 -05:00
Brad King
d3d2c3cd49 VS: Fix Fortran target type selection when linking C++ targets
Since commit 2c9f35789d (VS: Decide project type by linker lang as
fallback, 2017-03-30, v3.9.0-rc1~340^2) we consider the linker language
when detecting whether to generate a `.vfproj` or `.vcxproj` file.
However, this could cause C-only projects to become `.vfproj` files if
they link to Fortran projects.  Instead we should consider only the
`LINKER_LANGUAGE` property on the target itself.  This approach is
already used for CSharp.  It allows project code to specify the project
file type for a target with no sources but does not allow linked targets
to affect it.

Fixes: #18687
2019-02-04 14:13:46 -05:00
Brad King
96dece6dc1 Xcode: Update default Swift language version for Xcode 10.2
Xcode 10.2 no longer supports Swift language versions before 4.0.

Fixes: #18871
2019-02-04 13:26:10 -05:00
Gregor Jasny
e8ee8cab97 Xcode: Completely disable code signing for compiler id detection
Issue: #17870
2019-02-04 09:03:35 -05:00
Gregor Jasny
11da882a12 Apple: Introduce separate system name for iOS, tvOS, and watchOS
- Remove code signing requirements for non-macOS
- Do not set deployment target for non-macOS
- Build static library for compiler feature detection for non-macOS
- Use framework to run CompilerId tests for watchOS
- Port tests to new SDK handling
- Add new Apple cross-compiling section to toolchain documentation

Closes: #17870
2019-02-04 09:03:35 -05:00
Brad King
36cf44a7a3 Tests: Isolate RunCMake.XcodeProject per-device cases from host arch
Run all host cases before per-device cases.  Do not expose the host
`CMAKE_OSX_ARCHITECTURES` environment value to the per-device tests.
2019-02-04 09:02:47 -05:00
Brad King
6e91f5d620 Merge topic 'cmSourceFile_refactor'
254b7260f4 cmSourceFile: Check if a file is GENERATED first in the full path computation
cd8a930d61 cmSourceFile: Refactor FindFullPath method
6d407ae439 Use cmSourceFile::GetIsGenerated
2ddf3f4467 cmSourceFile: Add IsGenerated method
b9d44fc350 cmSourceFile: Additional static property strings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2908
2019-02-04 08:04:31 -05:00
Brad King
a5ec7f868f Merge topic 'vs-wince-deployment'
f5d72be57a VS: Fix deployment for WinCE projects

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2907
2019-02-04 07:49:01 -05:00
Brad King
40e1288260 Merge topic 'winrtrefs'
cff026dbc0 VS: Fix WinRT component references
6c21722adb Tests: Fix VSWinStorePhone test with Windows 10 SDK 17763

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2906
2019-02-04 07:47:15 -05:00
Brad King
dc4a2749a5 Merge topic 'set-env-warning'
cb01b8c8ba set: warn of extra arguments after ENV value.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2903
2019-02-04 07:46:29 -05:00
Kitware Robot
d401c10db5 CMake Nightly Date Stamp 2019-02-04 00:01:05 -05:00
Kitware Robot
149402898c CMake Nightly Date Stamp 2019-02-03 00:01:05 -05:00
Sebastian Holtermann
b6cf086267 Autogen: Iterate over makefile sources only once
In QtAutoGen we used to iterate over all makefile source two times to
extract file parameters for moc and uic respectively.  This patch merges both
iterations into one loop. This makes the code easier to understand and likely
faster to execute as well.
2019-02-02 18:42:08 +01:00
Sebastian Holtermann
ed0fa784eb cmSystemTools: Let GetFileFormat accept a std::stding const&
The `const char*` used formerly was converted to a `std::string`
internally anyway.
2019-02-02 18:42:08 +01:00
Sebastian Holtermann
254b7260f4 cmSourceFile: Check if a file is GENERATED first in the full path computation
In `cmSourceFile::FindFullPath` check first if the file is GENERATED before
aborting on `FindFullPathFailed`.  This allows recomputation of the full path
when the GENERATED property was set after the file path was computed with an
error.
2019-02-02 18:39:22 +01:00
Sebastian Holtermann
cd8a930d61 cmSourceFile: Refactor FindFullPath method
Refactors the cmSourceFile::FindFullPath method to
use lambdas.
2019-02-02 18:39:22 +01:00
Kitware Robot
dfec0f4a11 CMake Nightly Date Stamp 2019-02-02 00:01:06 -05:00
Wil Stark
f5d72be57a VS: Fix deployment for WinCE projects
Fixes: #18868
2019-02-01 13:59:09 -05:00
Gilles Khouzam
cff026dbc0 VS: Fix WinRT component references
WinRT components need to be referenced in a similar way that managed
code libraries are referenced.  Validate that the library reference is a
WinRT component and reference it through the project.

Add test coverage for `VS_WINRT_COMPONENT`.  While at it, fix the IOT
reference failing on Win10 SDK 17763 which doesn't include it anymore.

Fixes: #18846
2019-02-01 13:04:52 -05:00
Gilles Khouzam
6c21722adb Tests: Fix VSWinStorePhone test with Windows 10 SDK 17763
The Windows 10 SDK no longer includes IOT.
2019-02-01 13:02:16 -05:00
Sebastian Holtermann
6d407ae439 Use cmSourceFile::GetIsGenerated 2019-02-01 17:02:53 +01:00
Sebastian Holtermann
2ddf3f4467 cmSourceFile: Add IsGenerated method
All cmSourceFiles are checked at least once whether they're `GENERATED` or not.
This adds a convenience method `GetIsGenerated` that returns a private
boolean cache variable `IsGenerated`.  `IsGenerated` is updated every time the
`GENERATED` property is written.
2019-02-01 16:55:35 +01:00
Sebastian Holtermann
b9d44fc350 cmSourceFile: Additional static property strings 2019-02-01 16:21:32 +01:00
Brad King
0c61b8699c Merge branch 'release-3.13' 2019-02-01 09:54:23 -05:00
Brad King
30c3effa89 CMake 3.13.4 2019-02-01 08:23:58 -05:00
Brad King
13c550aabc Merge branch 'release-3.13' 2019-02-01 08:23:21 -05:00
Brad King
0479ae492a Merge topic 'implicit-incs-cleanup'
1293ed8507 ParseImplicitIncludeInfo: keep implicit incl. consistent when rerunning cmake
eaf53158f4 CrayPrgEnv/ParseImplicitIncludes: simplify for new implict include parser
ef8f237686 ParseImplicitIncludeInfo: add SunPro Fortran and PGI compiler, Cray fix

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2894
2019-02-01 08:12:42 -05:00
Brad King
a906d7b41c Merge topic 'document-list'
f45d8b2f23 Help: improve details on `CMAKE_LANG_CREATE_SHARED_*`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2899
2019-02-01 08:12:09 -05:00
Brad King
cf3af44af2 Merge topic 'server-normalize-paths'
1c6c2bae28 cmake-server: Normalize build and source directories

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2898
2019-02-01 08:11:19 -05:00