Commit Graph

37730 Commits

Author SHA1 Message Date
Brad King
fe4d6f1fd6 Merge topic 'omp-oacc-werror-return-type'
15da0ba3 Find{OpenMP,OpenACC}: Fix detection with -Werror=return-type

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1406
2017-10-25 08:12:30 -04:00
Brad King
b0207cec32 Merge topic 'findmpi-core-count'
1610f757 FindMPI: Use physical cores for MPIEXEC_MAX_NUMPROCS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1405
2017-10-25 08:12:07 -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
Christian Pfeiffer
15da0ba3a2 Find{OpenMP,OpenACC}: Fix detection with -Werror=return-type
Explicitly return a value from `main` in our test sources.

Fixes: #17391
2017-10-24 10:55:06 -04:00
Christian Pfeiffer
1610f757ac FindMPI: Use physical cores for MPIEXEC_MAX_NUMPROCS
Since commit v3.9.0-rc1~224^2~1 (FindMPI: MPIEXEC handling improvements,
2017-04-21) the `ProcessorCount` module is being used to initialize
`MPIEXEC_MAX_NUMPROCS`.  However, this leads to the logical cores being
counted rather than the physical ones, and some MPI implementations like
OpenMPI will error if mpiexec is called with that number.  Switch it to
the number of physical cores using `cmake_host_system_information`.

This ensures that if `MPIEXEC_MAX_NUMPROCS` is being used to set up MPI
tests with CTest or similar that the tests won't spuriously fail due to
OpenMPI refusing to start the application.
2017-10-24 10:41:02 -04:00
Brad King
7519594000 Merge branch 'release-3.10' 2017-10-24 08:50:09 -04:00
Brad King
d93b8009f9 Merge topic 'FindCUDA-doc-format'
17ddf126 FindCUDA: Improve documentation formatting markup

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1403
2017-10-24 08:48:45 -04:00
Brad King
047af6e94e Merge topic 'FindOpenCL-more-versions'
55f7930f FindOpenCL: Add detection of OpenCL 2.1 and 2.2

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1398
2017-10-24 08:48:28 -04:00
Brad King
4edcf4f169 Merge topic 'help_parse_arguments'
546a3289 Help: Fix cmake_parse_arguments behavior for not found arguments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1397
2017-10-24 08:47:59 -04:00
Brad King
07253b8919 Merge topic 'gnuid-cmp54-fix'
a8be8b1b GNUInstallDirs: Enable CMP0054

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1400
2017-10-24 08:47:27 -04:00
Brad King
ef6ccfda60 Merge topic 'doc-cxx-std-msvc'
e0587669 Help: Correct <LANG>_STANDARD help w.r.t. MSVC

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1401
2017-10-24 08:47:05 -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
Brad King
6e4e7c6547 Tests: Exclude bad RunCMake.add_executable case on multi-arch Xcode
The `NoSourcesButLinkObjects` case would not be expected to work under
Xcode with multiple architectures even if the target objects were listed
directly as sources.  Exclude it.  We already exclude similar cases in
`RunCMake.add_library`.
2017-10-24 08:11:29 -04:00
Kitware Robot
48c713d324 CMake Nightly Date Stamp 2017-10-24 00:01:07 -04:00
Henry Schreiner
17ddf126f0 FindCUDA: Improve documentation formatting markup 2017-10-23 12:17:38 -04:00
Brad King
d9430d1739 Merge branch 'FindOpenCL-more-versions' into release-3.10
Merge-request: !1398
2017-10-23 11:40:34 -04:00
Henry Schreiner
55f7930f0e FindOpenCL: Add detection of OpenCL 2.1 and 2.2 2017-10-23 11:39:53 -04:00
Brad King
0f016fae3e Merge branch 'help_parse_arguments' into release-3.10
Merge-request: !1397
2017-10-23 10:35:31 -04:00
Brad King
3d35c3d1a3 Merge branch 'gnuid-cmp54-fix' into release-3.10
Merge-request: !1400
2017-10-23 09:03:10 -04:00
Christian Pfeiffer
a8be8b1b54 GNUInstallDirs: Enable CMP0054
Fixes: #17381
2017-10-23 09:02:54 -04:00
Brad King
cd80eb2c50 Merge branch 'doc-cxx-std-msvc' into release-3.10
Merge-request: !1401
2017-10-23 08:24:04 -04:00
Christian Pfeiffer
e058766953 Help: Correct <LANG>_STANDARD help w.r.t. MSVC
Fixes: #17380
2017-10-23 08:23:53 -04:00
Brad King
f86f3e21d0 Merge branch 'release-3.10' 2017-10-23 08:21:50 -04:00
Brad King
9ded2fad79 Merge topic 'flang-remove-boundscheck'
3aeff21d Flang: Remove unsupported fbounds-check flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1393
2017-10-23 08:21:23 -04: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
Sylvain Joubert
546a328978 Help: Fix cmake_parse_arguments behavior for not found arguments
Value keywords are actually UNDEFINED rather than set to the empty
string when they are not found in the argument list.
2017-10-20 09:05:13 +02:00
Kitware Robot
fa501bc826 CMake Nightly Date Stamp 2017-10-20 00:01:09 -04:00
Brad King
51b4f12773 Merge branch 'flang-remove-boundscheck' into release-3.10
Merge-request: !1393
2017-10-19 13:05:15 -04:00
Christian Pfeiffer
3aeff21df7 Flang: Remove unsupported fbounds-check flag
The Flang compiler neither supports nor documents -fbounds-check leading
to -Wunused-command-line-argument warnings with the default Debug flags.
2017-10-19 13:04:50 -04:00
Brad King
054a47c46d Merge branch 'release-3.10' 2017-10-19 11:13:51 -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
a19b811363 CheckLanguage: Pass generator instance into check
Otherwise we do not check for support for the language with the same
generator instance as the caller.
2017-10-19 10:20:11 -04:00
Brad King
6b3cd64d42 ExternalProject: Propagate the generator instance
When the `CMAKE_GENERATOR` option is given to `ExternalProject_Add`,
look also for option `CMAKE_GENERATOR_INSTANCE` to pass on to cmake as a
cache definition.  When no `CMAKE_GENERATOR` option is given explicitly
then use the current project's `CMAKE_GENERATOR_INSTANCE` (since we
already use its CMAKE_GENERATOR).
2017-10-19 10:20:11 -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
d209275330 Merge topic 'ti-compiler-depfile-support'
ad9327d9 Compiler/TI: Add support for depfile generation for Ninja

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1389
2017-10-19 09:27:09 -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
d45aa38a06 Add dev notes for topic 'curl_netrc_options' 2017-10-18 15:21:43 -04:00
Shane Parris
60c272b69a ExternalProject: Add support for NETRC and NETRC_FILE suboption 2017-10-18 15:21:43 -04:00
Shane Parris
754e39dd36 Add testcases for file(DOWNLOAD|UPLOAD) netrc options 2017-10-18 15:21:42 -04:00
Shane Parris
5d67e9025d file(DOWNLOAD|UPLOAD): Add 'NETRC' and 'NETRC_FILE' suboption 2017-10-18 15:21:42 -04:00
Brad King
344d149ae4 VS,Xcode: Add CMakeLists.txt sources without mutating targets
Rather than injecting `CMakeLists.txt` files into each target's
`SOURCES`, teach the generators to add them during generation using
dedicated code.  This avoids mutating the original targets, and avoids
polluting `$<TARGET_PROPERTY:foo,SOURCES>` with generator-specific
content.

This also avoids listing the `CMakeLists.txt` sources in the results of
`CMAKE_DEBUG_TARGET_PROPERTIES==SOURCES` so the `RunCMake.TargetSources`
test no longer needs a separate case for IDEs.
2017-10-18 14:24:07 -04:00
Nico Müller
ad9327d936 Compiler/TI: Add support for depfile generation for Ninja
TI C/C++ compiler are now able to generate dependency files during
compilation.

Fixes: #17360
2017-10-18 09:43:22 -04:00