Commit Graph

26755 Commits

Author SHA1 Message Date
Brad King c1580ecc13 Merge topic 'cmPropertyMap_unordered_map'
00d265e3c8 cmPropertyMap: Use std::unordered_map as container instead of std::map
1b945f95ba cmPropertyMap: Add RemoveProperty method
e0a8ff3148 cmPropertyMap: Use std::string as value container class
8d934d861b cmPropertyMap: Make std::map container private
026f65d284 cmPropertyMap: Add GetList method
9e64e617eb cmPropertyMap: Rename GetPropertyList method to GetKeys

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3435
2019-06-12 12:46:18 -04:00
Brad King 1af08229a7 Merge topic 'language-dependent-linker-flags'
a982916304 Support per-language library link flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3429
2019-06-12 12:45:15 -04:00
Brad King 1492dc8301 Merge topic 'capabilities-fileapi'
c932f49842 cmake: Teach -E capabilities to report supported fileapi requests
6696855f72 cmake: Simplify implementation of -E capabilities
6b815e58ba fileapi: Factor out helper to construct a version object

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3433
2019-06-12 11:40:47 -04:00
Kitware Robot b7d72db89d CMake Nightly Date Stamp 2019-06-12 00:01:08 -04:00
Kyle Edwards 14254e9ea8 Merge topic 'get-runtime-dependencies'
54ec4c1e79 GetPrerequisites: Add deprecation notice
1f9ef25130 file: Add GET_RUNTIME_DEPENDENCIES mode

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3335
2019-06-11 12:03:38 -04:00
Kitware Robot 7c0a542cf1 CMake Nightly Date Stamp 2019-06-11 00:01:05 -04:00
Kyle Edwards 1f9ef25130 file: Add GET_RUNTIME_DEPENDENCIES mode
Co-Authored-by: Bryon Bean <bryon.bean@kitware.com>
2019-06-10 14:35:28 -04:00
Kitware Robot f36719111d CMake Nightly Date Stamp 2019-06-10 00:01:05 -04:00
Kitware Robot d443b86e58 CMake Nightly Date Stamp 2019-06-09 00:01:05 -04:00
Sebastian Holtermann 00d265e3c8 cmPropertyMap: Use std::unordered_map as container instead of std::map 2019-06-08 12:25:35 +02:00
Sebastian Holtermann 1b945f95ba cmPropertyMap: Add RemoveProperty method
The new `cmPropertyMap::RemoveProperty` allows to remove a property from the
map.
2019-06-08 12:25:35 +02:00
Sebastian Holtermann e0a8ff3148 cmPropertyMap: Use std::string as value container class 2019-06-08 12:25:35 +02:00
Sebastian Holtermann 8d934d861b cmPropertyMap: Make std::map container private 2019-06-08 12:25:35 +02:00
Sebastian Holtermann 026f65d284 cmPropertyMap: Add GetList method 2019-06-08 12:25:35 +02:00
Sebastian Holtermann 9e64e617eb cmPropertyMap: Rename GetPropertyList method to GetKeys 2019-06-08 12:25:35 +02:00
Kitware Robot 0e96fdbc15 CMake Nightly Date Stamp 2019-06-08 00:01:06 -04:00
Brad King 8be4b173f1 Merge topic 'autogen_header_in_symbolic_path_fix'
00e6b67e0c Autogen: Fix header detection for paths with symbolic links

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3431
2019-06-07 11:14:20 -04:00
Brad King c932f49842 cmake: Teach -E capabilities to report supported fileapi requests
Fixes: #19339
2019-06-07 11:08:38 -04:00
Brad King 6696855f72 cmake: Simplify implementation of -E capabilities
The `cmake -E capabilities` command-line tool is implemented only in a
full-featured (non-bootstrap) CMake, and server mode is now always
available in this case.
2019-06-07 11:08:38 -04:00
Brad King 6b815e58ba fileapi: Factor out helper to construct a version object 2019-06-07 11:08:38 -04:00
Kitware Robot e2414ee13d CMake Nightly Date Stamp 2019-06-07 00:01:07 -04:00
Saleem Abdulrasool a982916304 Support per-language library link flags
This changes the behaviour of the generators to use a per-language
library search path flag.  This is needed for multi-language projects
with different compilers (e.g. cl + gfortran).  Since the adjusted
variable has been part of the user settings, we control this based on a
policy.

Fixes: #19307
2019-06-06 15:28:43 -07:00
Sebastian Holtermann 00e6b67e0c Autogen: Fix header detection for paths with symbolic links
When Autogen searches the header for a source files in a target,
the expanded real path is used and not the (possibly symbolic) original path
of the source file.  If the source file path contains symbolic links, then the
correct `cmSourceFile` instance of the header won't be found, but a new one
will be generated.  This way all header source file properties get lost, which
is problematic especially for the `SKIP_AUTOMOC/UIC/GEN` properties.

This patch changes the header detection in Autogen to use the original source
file path instead of the expanded real source file path.

Fixes: #19346
2019-06-06 14:14:19 -04:00
Brad King 0b3ba05a9b Merge topic 'cmTarget_cleanups'
0e4493ec67 cmOutputConverter: Initialize static std::set on construction
f1bdfdf242 cmAddCustomCommand: Initialize static std::unordered_set on construction
8af4b31b8a cmTargetPropertyComputer: Initialize static std::unordered_set on construction
537ea119b9 cmTarget: Initialize static std::unordered_set on construction
c4826787d5 cmTarget: Property initialization cleanup

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3416
2019-06-06 14:07:23 -04:00
Kitware Robot 9ef92b7d7d CMake Nightly Date Stamp 2019-06-06 00:01:06 -04:00
Kitware Robot 6ca497365a CMake Nightly Date Stamp 2019-06-05 00:01:09 -04:00
Sebastian Holtermann 0e4493ec67 cmOutputConverter: Initialize static std::set on construction 2019-06-04 18:11:19 +02:00
Sebastian Holtermann f1bdfdf242 cmAddCustomCommand: Initialize static std::unordered_set on construction 2019-06-04 18:11:19 +02:00
Sebastian Holtermann 8af4b31b8a cmTargetPropertyComputer: Initialize static std::unordered_set on construction 2019-06-04 18:11:19 +02:00
Sebastian Holtermann 537ea119b9 cmTarget: Initialize static std::unordered_set on construction 2019-06-04 18:11:19 +02:00
Sebastian Holtermann c4826787d5 cmTarget: Property initialization cleanup 2019-06-04 18:11:19 +02:00
Brad King 98004612f6 Begin post-3.15 development 2019-06-04 10:56:45 -04:00
Brad King 9d78ce0293 CMake 3.15.0-rc1 version update 2019-06-04 10:55:08 -04:00
Brad King 842f70c493 Merge topic 'emulator-arguments'
fec441ec17 Teach CROSSCOMPILING_EMULATOR to support arguments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3402
2019-06-04 08:37:55 -04:00
Brad King a7d2efc15b Merge topic 'remove_directories'
07a80c7002 cmake: Teach -E remove_directory to remove multiple directories
013bee698e Tests: Add RunCMake.CommandLine make_directory test checks
3eb16de327 Tests: Fix RunCMake.CommandLine make_directory test name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3411
2019-06-04 08:37:04 -04:00
Brad King 36140d864e Merge topic 'ninja-nvcc-rsp'
d91b5a72cd Ninja: Add support for CUDA nvcc response files
5efac09bed Ninja: Compute linker response file flag earlier

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3399
2019-06-04 08:35:47 -04:00
Brad King 65f5df7d08 Merge topic 'executables-are-consoled'
b06f4c8a74 Swift: disallow WIN32_EXECUTABLE properties

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3410
2019-06-04 08:34:21 -04:00
Brad King 9ba901eb3c Merge topic 'swift-linker-flags'
7456739e24 Swift: avoid `CMAKE_{EXE,SHARED}_LINKER_FLAGS`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3406
2019-06-04 08:33:14 -04:00
Brad King 4b68baa776 Merge topic 'compiler_id_gen_exp_supports_multiple_ids'
162555d7ec Help: Add release notes for updated generator expressions
808b818063 Genex: CompileLang and CompileLangAndId now match against a list of ids
9fd602bfd3 Genex: PlatformId now can match against a list of ids.
ec66af2026 Genex: CompilerId now can match against a list of ids.
2d4787fc4d Genex: Add more extensive support for an unbounded number of parameters

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3405
2019-06-04 08:32:19 -04:00
Brad King 99b9b01c02 Merge topic 'print-correct-line-number'
3475e2728b cmListFileCache: When missing ending ) print starting line instead of last one

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3398
2019-06-04 08:28:09 -04:00
Brad King e591e22d4c Merge topic 'better_error_message_for_visibility_preset_property'
619416f8a3 The error message for VISIBILITY_PRESET now documents valid options.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3409
2019-06-04 08:25:47 -04:00
Kitware Robot 99496f5776 CMake Nightly Date Stamp 2019-06-04 00:01:06 -04:00
John Freeman 07a80c7002 cmake: Teach -E remove_directory to remove multiple directories
The `make_directory` command can make multiple directories in a single
invocation.  Make `remove_directory` mirror that behavior.
2019-06-03 14:20:00 -04:00
Saleem Abdulrasool b06f4c8a74 Swift: disallow WIN32_EXECUTABLE properties
Currently, the compiler does not synthesize the correct entry point for
the application and passing the subsystem flag does not work the same
way with the Swift linker language.  Add a check to prevent the
application of `WIN32_EXECUTABLE` to Swift executables until they can be
properly supported.  This will prevent the need for a future policy
change.

Closes: #19325
2019-06-03 14:05:10 -04:00
Francisco Facioni d91b5a72cd Ninja: Add support for CUDA nvcc response files 2019-06-03 11:53:27 -04:00
Francisco Facioni 5efac09bed Ninja: Compute linker response file flag earlier 2019-06-03 11:52:28 -04:00
Brad King 73472408c5 Merge topic 'ninja_build_class'
7d9e66a405 Ninja: Remove non cmNinjaBuild based WriteBuild method
ccf9507956 Ninja: Use cmNinjaBuild class for WriteBuild
df06c8d792 Ninja: Use cmNinjaBuild class for WriteBuild
409922f695 Ninja: Use cmNinjaBuild class for WriteBuild
7fd3811400 Ninja: Use cmNinjaBuild class for WriteBuild
834ec4ebfe Ninja: Use cmNinjaBuild class for WriteBuild
465d6d7f9b Ninja: Use cmNinjaBuild class for WriteBuild
4c9e99e1f9 Ninja: Use cmNinjaBuild class for WriteBuild
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3403
2019-06-03 11:51:23 -04:00
Robert Maynard 808b818063 Genex: CompileLang and CompileLangAndId now match against a list of ids
This allows for expressions such as:

 $<COMPILE_LANG_AND_ID, CXX, GNU, Clang>
2019-06-03 10:20:23 -04:00
Robert Maynard 9fd602bfd3 Genex: PlatformId now can match against a list of ids. 2019-06-03 10:20:23 -04:00
Robert Maynard ec66af2026 Genex: CompilerId now can match against a list of ids.
This allows for expressions like:
 $<$<CXX_COMPILER_ID:Clang,GNU>:-DMY_PRIVATE_DEFINE>
2019-06-03 10:20:23 -04:00