Commit Graph

23653 Commits

Author SHA1 Message Date
Brad King 41d796be15 Merge topic 'vs-diagnostics-flag'
82f95c95 VS generator: support /diagnostics compiler flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1411
2017-10-30 09:04:37 -04:00
Brad King 9bfc43a5e5 Merge topic 'autogen-qrc-file-name'
a8bf0b2b Autogen: RCC: Append checksum suffix to wrapped file name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1422
2017-10-30 08:58:26 -04:00
Brad King a7b770686a Merge topic 'fix-co-compile'
197b4e18 Merge branch 'backport-fix-co-compile' into fix-co-compile
992962c7 cmcmd: Restore support for running multiple lint tools
a5197eea cmcmd: Convert lint handlers to file-static functions
1c075ffd cmcmd: Rename loop iteration variable for clarity

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1418
2017-10-30 08:46:59 -04:00
Brad King 9bec6afa7a Merge topic 'autogen-static-library-cycles'
3a4db861 Autogen: Tests: Add test for STATIC_LIBRARY cycles
798e4f2f Autogen: Don't add STATIC_LIBRARY cycle targets to the _autogen dependencies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1408
2017-10-30 08:45:49 -04:00
Kitware Robot 20f462dffc CMake Nightly Date Stamp 2017-10-30 00:01:03 -04:00
Kitware Robot 4d7fedf8a2 CMake Nightly Date Stamp 2017-10-29 00:01:04 -04:00
Sebastian Holtermann a8bf0b2b37 Autogen: RCC: Append checksum suffix to wrapped file name
Closes #17404
2017-10-29 03:28:20 +01:00
Kitware Robot ced94bcbd9 CMake Nightly Date Stamp 2017-10-28 00:01:04 -04:00
Brad King 8ffc1c3d89 Merge topic 'generalize-importedtargets-behavior'
fb88d2b5 Help: Add notes for topic 'generalize-importedtargets-behavior'
494906a8 Add support for IMPORTED GLOBAL targets to be aliased
fe4b25ec Teach target_* commands to set INTERFACE properties of IMPORTED targets
e40fd9fd cmTargetPropCommandBase: Fix typo in error message

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Henry Schreiner <henryschreineriii@gmail.com>
Merge-request: !1264
2017-10-27 09:47:31 -04:00
Brad King dcca130bb0 Merge topic 'cmdparser-strcpy'
576c079f cmCommandArgumentParser: remove the variable tokens from the class
98cb9f3e cmCommandArgumentParserHelper: constify some char* values

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1410
2017-10-27 09:43:09 -04:00
Brad King b779b8e85f Merge topic 'cmp0040-wording'
a1b1f1a2 CMP0040: Clarify policy warning to match documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1415
2017-10-27 09:42:37 -04:00
Sebastian Holtermann 798e4f2fad Autogen: Don't add STATIC_LIBRARY cycle targets to the _autogen dependencies
When a STATIC_LIBRARY cycle is detected we don't add any STATIC_LIBRARY target
from the cycle to the `_autogen` target dependencies.

Closes #17389
2017-10-27 09:37:15 -04:00
Brad King 197b4e18d4 Merge branch 'backport-fix-co-compile' into fix-co-compile
Resolve a logical conflict by replacing `cmArray{Begin,End}` from
the their side with `cm::{cbegin,cend}` from our side.
2017-10-27 09:31:04 -04:00
Brad King 992962c76d cmcmd: Restore support for running multiple lint tools
Refactoring in commit v3.10.0-rc1~115^2 (Clean up iwyu code to not be
one big if statement, 2017-08-28) incorrectly changed the logic to run
only one lint tool at a time.  Restore support for running all tools
specified on the command-line.
2017-10-27 09:26:50 -04:00
Brad King a5197eeac7 cmcmd: Convert lint handlers to file-static functions
These do not need to be declared in the header.
2017-10-27 08:36:28 -04:00
Brad King 1c075ffd60 cmcmd: Rename loop iteration variable for clarity 2017-10-27 08:36:28 -04:00
Kitware Robot 971b8c3c80 CMake Nightly Date Stamp 2017-10-27 00:01:10 -04:00
Brad King a1b1f1a282 CMP0040: Clarify policy warning to match documentation
In commit v3.5.0-rc1~8^2~2 (Help: Clarify policy `CMP0040`
documentation, 2016-01-28) the documentation was clarified to indicate
that the target must be defined in the current directory.  Do the same
for the text of the policy warning itself.

Fixes: #17399
2017-10-26 09:47:29 -04:00
Deniz Bahadir 494906a8a2 Add support for IMPORTED GLOBAL targets to be aliased
Issue: #15569
Issue: #17197
2017-10-26 09:11:04 -04:00
Deniz Bahadir fe4b25ec2f Teach target_* commands to set INTERFACE properties of IMPORTED targets
Now, several `INTERFACE_*` properties can be set on `IMPORTED` targets,
not only via `set_property` and `set_target_properties` but also via
`target_compile_definitions`, `target_compile_features`,
`target_compile_options`, `target_include_directories`, `target_sources`
and `target_link_libraries`.

Fixes: #15689
Issue: #17197
2017-10-26 09:11:04 -04:00
Deniz Bahadir e40fd9fd19 cmTargetPropCommandBase: Fix typo in error message 2017-10-26 09:11:00 -04:00
Brad King 6a8c765c8f Merge topic 'cm-array-begins-size'
57132765 Replace cmArray{Begin,End,Size} by their standard counterparts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1352
2017-10-26 08:57:04 -04:00
Kitware Robot 6b829ff23d CMake Nightly Date Stamp 2017-10-26 00:02:39 -04:00
Justin Goshi 82f95c9584 VS generator: support /diagnostics compiler flag
Adding support for this flag so a user can specify it
via the CMAKE_CXX_FLAGS variable.
2017-10-25 12:09:48 -07:00
Rolf Eike Beer 576c079faa cmCommandArgumentParser: remove the variable tokens from the class
Make them local constants in the lexer file.
2017-10-25 19:56:33 +02:00
Rolf Eike Beer 98cb9f3ee9 cmCommandArgumentParserHelper: constify some char* values 2017-10-25 19:56:33 +02:00
Brad King cec4b86f0a Merge topic 'server-codemodel-install-dest'
296eb9ad cmake-server: Add target install destinations to codemodel

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1382
2017-10-25 08:17:03 -04:00
Brad King e419a67a56 Merge topic 'windows_symlinks'
393e0fbe cmTimestamp: For symlinks switch to timestamp of resolved path
640709e7 cmSystemTools: Implement GetRealPath on Windows
d41582fc Call GetRealPath through cmSystemTools instead of KWSys directly

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1202
2017-10-25 08:14:55 -04:00
Brad King b5dd256d94 Merge topic 'defer-target-source-check'
4e7f6738 Defer check for sources within a target until generation.
6e4e7c65 Tests: Exclude bad RunCMake.add_executable case on multi-arch Xcode

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1242
2017-10-25 08:11:19 -04:00
Kitware Robot 53d8be4118 CMake Nightly Date Stamp 2017-10-25 00:01:14 -04:00
Justin Goshi 296eb9ad4c cmake-server: Add target install destinations to codemodel
Protocol version is updated to 1.2 since this is a change
to what was released in cmake version 3.10.
2017-10-24 14:58:07 -04:00
Manuel Núñez 393e0fbe63 cmTimestamp: For symlinks switch to timestamp of resolved path
ModifiedTime uses stat on UNIX which does resolve symlinks, however Windows implementation relies on GetFileAttributesExW which does not. Getting real file path before calling ModifiedTime will not change UNIX semantic and will fix Windows behavior.

Fixes: #17206
2017-10-24 11:04:25 -04:00
Manuel Núñez 640709e7db cmSystemTools: Implement GetRealPath on Windows
Override the KWSys GetRealPath on Windows and use uv_fs_realpath first
to resolve symbolic links.

Fixes: #17206
2017-10-24 11:04:23 -04:00
Manuel Núñez d41582fc94 Call GetRealPath through cmSystemTools instead of KWSys directly
This will allow a wrapper to be added to extend functionality.
2017-10-24 11:04:21 -04:00
Brad King 11dcf81c44 Merge topic 'generator-instance'
9ffb3538 VS: Select and save a VS 2017 instance persistently
17edfa41 cmVSSetupHelper: Add option to specify an instance
a19b8113 CheckLanguage: Pass generator instance into check
6b3cd64d ExternalProject: Propagate the generator instance
314613d1 Add infrastructure for generators to select a build tool instance

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1394
2017-10-24 08:22:25 -04:00
Deniz Bahadir 4e7f67383f Defer check for sources within a target until generation.
The `add_library` and `add_executable` commands can now be called with
no source-files and won't generate a warning or error message, as long
as source-files will be added later via the `target_sources` command.
If during the generation step still no sources are associated with
targets created by such calls a useful error message will be generated
and generation fails.

Targets of type `INTERFACE_LIBRARY`, `UTILITY` or `GLOBAL_TARGET` are
excluded from this check because we do not need sources for these target
types during generation.

Fixes: #16872
2017-10-24 08:14:47 -04:00
Kitware Robot 48c713d324 CMake Nightly Date Stamp 2017-10-24 00:01:07 -04:00
Matthias Maennich 57132765e0 Replace cmArray{Begin,End,Size} by their standard counterparts
std::{begin,end} are part of C++11, std::{cbegin,cend} are part of C++14
and an standard compliant implementation has been introduced within the
'cm' namespace: cm::{cbegin,cend}.

std::size is only part of C++17, hence exposing a compliant implementation
within namespace cm (cm::size).

where possible, the standard implementations are reused.
2017-10-23 17:51:35 +02:00
Kitware Robot 685d69ad29 CMake Nightly Date Stamp 2017-10-23 00:01:03 -04:00
Kitware Robot 6b0328f24b CMake Nightly Date Stamp 2017-10-22 00:01:08 -04:00
Kitware Robot 3e0441d877 CMake Nightly Date Stamp 2017-10-21 00:01:04 -04:00
Kitware Robot fa501bc826 CMake Nightly Date Stamp 2017-10-20 00:01:09 -04:00
Brad King 319622a49f CMake 3.10.0-rc3 2017-10-19 10:20:40 -04:00
Brad King 9ffb35386f VS: Select and save a VS 2017 instance persistently
Visual Studio 2017 supports multiple instances installed on a single
machine.  We use the Visual Studio Installer tool to enumerate instances
and select one.  Once we select an instance for a given build tree, save
the result in `CMAKE_GENERATOR_INSTANCE` so we can re-configure the tree
with the same instance on future re-runs of CMake.

Fixes: #17268
2017-10-19 10:20:12 -04:00
Brad King 17edfa4198 cmVSSetupHelper: Add option to specify an instance 2017-10-19 10:20:12 -04:00
Brad King 314613d1af Add infrastructure for generators to select a build tool instance
Add cache entry `CMAKE_GENERATOR_INSTANCE` to hold the instance location
persistently across re-runs of CMake in a given build tree.

For now we reject the option by default if explicitly set.  It will be
implemented on a per-generator basis.  Pass the setting into try_compile
project generation.  Add a RunCMake.GeneratorInstance test to cover
basic use cases for the option.  Verify that `CMAKE_GENERATOR_INSTANCE`
is empty by default, and that it is rejected when the generator does not
support a user setting.

Issue: #17268
2017-10-19 10:20:08 -04:00
Brad King 358ceee5d8 Merge topic 'curl_netrc_options'
d45aa38a Add dev notes for topic 'curl_netrc_options'
60c272b6 ExternalProject: Add support for NETRC and NETRC_FILE suboption
754e39dd Add testcases for file(DOWNLOAD|UPLOAD) netrc options
5d67e902 file(DOWNLOAD|UPLOAD): Add 'NETRC' and 'NETRC_FILE' suboption

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ruslan Baratov <ruslan_baratov@yahoo.com>
Merge-request: !1376
2017-10-19 09:27:43 -04:00
Brad King ec0dbd044a Merge topic 'ide-direct-CMakeLists.txt'
344d149a VS,Xcode: Add CMakeLists.txt sources without mutating targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1392
2017-10-19 09:26:33 -04:00
Kitware Robot c412f40b5a CMake Nightly Date Stamp 2017-10-19 00:01:36 -04:00
Shane Parris 5d67e9025d file(DOWNLOAD|UPLOAD): Add 'NETRC' and 'NETRC_FILE' suboption 2017-10-18 15:21:42 -04:00