Commit Graph

26742 Commits

Author SHA1 Message Date
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
Kitware Robot
e2414ee13d CMake Nightly Date Stamp 2019-06-07 00:01:07 -04: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
Robert Maynard
2d4787fc4d Genex: Add more extensive support for an unbounded number of parameters
Previously genex support for unbounded number of parameters required
at least 1 parameter. We now support zero or more parameters, and two
or more parameters.
2019-06-03 10:20:22 -04:00
Marek Antoniak
fec441ec17 Teach CROSSCOMPILING_EMULATOR to support arguments
Fixes: #19321
2019-06-03 10:17:17 -04:00
Bartosz Kosiorek
3475e2728b cmListFileCache: When missing ending ) print starting line instead of last one
Fixes: #19301
2019-06-03 10:03:53 -04:00
Saleem Abdulrasool
7456739e24 Swift: avoid CMAKE_{EXE,SHARED}_LINKER_FLAGS
Avoid the use of `CMAKE_{EXE,SHARED}_LINKER_FLAGS` when linking with the
Swift language.  This required hoisting the executable flags of
`CMAKE_CREATE_WIN32_EXE`, `CMAKE_CREATE_CONSOLE_EXE`, and
`CMAKE_EXE_EXPORTS_*_FLAG` earlier to avoid a second clause which checks
the language.  This allows for mixed-language Swift projects to properly
link on Windows.

Fixes #19298
2019-06-03 09:59:39 -04:00
Robert Maynard
619416f8a3 The error message for VISIBILITY_PRESET now documents valid options.
Rather than just state the value for VISIBILITY_PRESET was invalid,
we additionally list the accepted values.
2019-06-03 09:56:03 -04:00
Kitware Robot
7dae93b405 CMake Nightly Date Stamp 2019-06-03 00:01:05 -04:00
Kitware Robot
51e7488c03 CMake Nightly Date Stamp 2019-06-02 00:01:04 -04:00
Kitware Robot
7f4a1d8379 CMake Nightly Date Stamp 2019-06-01 00:01:07 -04:00
Brad King
187928875d Merge topic 'vs-add-package-reference'
42e14d90b1 VS: Added support for VS package references for nuget

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Leonid Pospelov <pospelovlm@yandex.ru>
Merge-request: !3389
2019-05-31 13:18:31 -04:00
Brad King
ec4d70b564 Merge topic 'update-kwsys'
3a7f493b7b Merge branch 'upstream-KWSys' into update-kwsys
9ef1e13bcc KWSys 2019-05-30 (f892bacf)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3401
2019-05-31 09:09:30 -04:00
Brad King
82fec3784b Merge topic 'vs-depends-dedup'
42bc67bd43 VS: De-duplicate custom command dependencies
d03a6fc857 VS: Clarify name of custom commands AdditionalInputs variable
fcedf8e552 VS: Isolate custom command input/output generation scopes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3388
2019-05-31 09:04:47 -04:00
Brad King
0d025f75c1 Merge topic 'implicit-includes-CPATH'
2d0b0e2b9d Do not exclude include directories made implicit by CPATH

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3395
2019-05-31 09:03:28 -04:00
Kitware Robot
ebee9ff160 CMake Nightly Date Stamp 2019-05-31 00:01:06 -04:00