Commit Graph

25879 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
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
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
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
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
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
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
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
Taylor Holberton
cb01b8c8ba set: warn of extra arguments after ENV value.
Fixes: #18842
2019-02-01 06:10:34 -05:00
Kitware Robot
9512a58238 CMake Nightly Date Stamp 2019-02-01 00:01:07 -05:00
Gregor Jasny
1c6c2bae28 cmake-server: Normalize build and source directories
Fixes: #18862
2019-01-31 12:49:56 -05:00
Brad King
d526327079 Merge topic 'ninja-intel-depfile'
a624a3e1b3 Ninja: Use deps=gcc for Intel Compiler on Windows
f4f3b6b9af Ninja: Detect when ninja is new enough to support a multi-line depfile
699cd03212 Ninja: Drop unnecessary deptype customization infrastructure

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2893
2019-01-31 11:19:38 -05:00
Brad King
29368abde7 Merge topic 'install-strip-macos'
20291e8e72 install: Fix stripping on macOS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2892
2019-01-31 11:18:40 -05:00
Brad King
1b46f2f12a Merge topic 'xcode-object-dir'
8a7f93d000 Xcode: Fix object library builds with sanitizers enabled
eff9c69740 Xcode: Place object library artifacts outside Objects-normal directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2885
2019-01-31 11:17:40 -05:00
Brad King
ca0310b919 Merge topic 'set-validate-cache-type'
198650ae73 set: warn if CACHE type is not recognized

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2874
2019-01-31 11:16:53 -05:00
Brad King
0933707d5c Merge topic 'autogen-std-bind-to-lambdas'
d6fbd438c4 Autogen: Refactor std::bind calls to lambdas

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2766
2019-01-31 11:15:11 -05:00
Brad King
dc9f4f9eca Merge topic 'tidy-use-equals-default-fix'
3f9822ff6d clang-tidy: Silence use-equals-default warning

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2887
2019-01-31 11:14:21 -05:00
Brad King
fb82385515 Merge topic 'std-string-callback'
1180fc8780 OutputCallback: Accept std::string argument

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: vvs31415 <vstakhovsky@fastmail.com>
Merge-request: !2891
2019-01-31 11:13:34 -05:00
Brad King
24bee427b5 Merge topic 'update-kwsys'
a37614667d Configure KWSys to honor CMake_NO_CXX_STANDARD
e3b26f0004 Merge branch 'upstream-KWSys' into update-kwsys
c22e373a30 KWSys 2019-01-30 (ce89cada)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2886
2019-01-31 11:12:27 -05:00
Brad King
9eaa6aa599 Merge topic 'autogen-qt-version-from-dirprops'
91d98542d2 Merge branch 'autogen-qt-version-from-dirprops-release' into autogen-qt-version-from-dirprops-master
062d21c36a Autogen: Read the Qt version from directory properties as well
17ac7c4024 Tests: add cases for providing Qt5Core_VERSION manually
2df6d69014 AutoGen: query Qt5 version from directory properties
b598dfb65e Tests: add cases for providing Qt5Core_VERSION manually

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2883
2019-01-31 10:58:23 -05:00
Brad King
5107a84d46 Merge topic 'restore-install-late-framework'
f64099cf5e Merge branch 'backport-restore-install-late-framework'
95210d027a macOS: Restore compatibility for setting FRAMEWORK after install()
d9dd68cb60 macOS: Restore compatibility for setting FRAMEWORK after install()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kyle Edwards <kyle.edwards@kitware.com>
Merge-request: !2878
2019-01-31 10:50:38 -05:00
Vitaly Stakhovsky
0779bc9393 ReadListFile: Accept std::string argument 2019-01-31 09:27:54 -05:00
Brad King
8ea30a44d3 Merge topic 'unused-members'
ea9a376085 Remove unused 'class cmake' members

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2895
2019-01-31 09:27:06 -05:00
Brad King
ea9a376085 Remove unused 'class cmake' members
* The `InTryCompile` member has been unused since commit 62854e9966
  (cmState: Move try_compile state from cmake class., 2015-04-11,
  v3.3.0-rc1~196^2~9).

* The `ConvertMessageType` and `IsMessageTypeVisible` members have been
  unused since commit 421012a330 (cmMessenger: Extract from cmake class,
  2016-01-28, v3.7.0-rc1~222^2~1).

* The `InitializeProperties` member has been unused since commit
  de722d7d63 (Move property initialization to cmState., 2015-04-06,
  v3.3.0-rc1~196^2~1).

Co-Author: Vitaly Stakhovsky <vvs31415@gitlab.org>
2019-01-31 07:15:55 -05:00
Kitware Robot
de7eb1a3d0 CMake Nightly Date Stamp 2019-01-31 00:01:06 -05:00
Harry Mallon
20291e8e72 install: Fix stripping on macOS
On macOS the `strip` tool requires special arguments depending on the
type of binary to be stripped.

Fixes: #11367
Fixes: #16499
2019-01-30 22:00:16 +00:00