Commit Graph

42036 Commits

Author SHA1 Message Date
Brad King
a5f7652fb9 Merge topic 'revert-file-alt-httpauth'
646eedcfcb Revert "file: Allow DOWNLOAD/UPLOAD using alternate authentication methods"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2858
2019-01-25 07:51:25 -05:00
Brad King
29fbd3c9a0 Merge topic 'aarch64-no-std-move-function'
8f56f22b84 cmListCommand: Avoid std::function move constructor on aarch64

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2857
2019-01-25 07:50:23 -05:00
Marc Chevrier
0d8d7a6896 Merge topic 'FindPython-numpy'
513e77550d FindPython: Introduce NumPy component

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2734
2019-01-25 04:18:11 -05:00
Kitware Robot
d47aa71b39 CMake Nightly Date Stamp 2019-01-25 00:01:06 -05:00
Brad King
646eedcfcb Revert "file: Allow DOWNLOAD/UPLOAD using alternate authentication methods"
Revert commit 31301b46a7 (file: Allow DOWNLOAD/UPLOAD using alternate
authentication methods, 2018-08-28, v3.13.0-rc1~155^2).  It regressed
support for password-protected redirects.

Fixes: #18691
2019-01-24 14:14:40 -05:00
Brad King
8f56f22b84 cmListCommand: Avoid std::function move constructor on aarch64
Since commit 5a0784ddea (clang-tidy: Pass by value, 2019-01-21), some of
the `RunCMake.{list,PositionIndependentCode}` cases have crashed on an
aarch64 build with GCC 6.  Avoiding use of the `std::function` move
constructor avoids the crash.  Use a strict preprocessor condition to
use this workaround only where needed.
2019-01-24 14:07:05 -05:00
Hiroshi Miura
513e77550d FindPython: Introduce NumPy component
Fixes: #18678
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
2019-01-25 01:26:48 +09:00
Brad King
378473f9f1 Merge topic 'fortran-docs'
3d63d3ce2f Help: Add examples to CheckFortranSource{Runs,Compiles}

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2843
2019-01-24 10:36:40 -05:00
Marc Chevrier
1d02491950 Merge topic 'findgit-note'
f2d7ed1cda Help: Add note about CMAKE_ROLE to FindGit documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2847
2019-01-24 05:38:08 -05:00
Marc Chevrier
02f5caf487 Merge topic 'findpython-script'
e4541b0e3d FindPython: Support script mode
8ef1916c82 FindPython: Test existence of imported targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2844
2019-01-24 05:34:27 -05:00
Kitware Robot
a578922467 CMake Nightly Date Stamp 2019-01-24 00:01:08 -05:00
Kyle Edwards
e4541b0e3d FindPython: Support script mode
Fixes: #18827
2019-01-23 13:51:09 -05:00
Kyle Edwards
f2d7ed1cda Help: Add note about CMAKE_ROLE to FindGit documentation 2019-01-23 13:45:12 -05:00
Kyle Edwards
8ef1916c82 FindPython: Test existence of imported targets 2019-01-23 11:53:54 -05:00
Michael Hirsch, Ph.D
3d63d3ce2f Help: Add examples to CheckFortranSource{Runs,Compiles} 2019-01-23 08:28:13 -05:00
Brad King
a7f5cd45e1 Merge topic 'tidy-pass-by-value'
5a0784ddea clang-tidy: Pass by value

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2836
2019-01-23 08:17:49 -05:00
Brad King
22893baed1 Merge topic 'update-kwsys'
405d9cb4b5 Merge branch 'upstream-KWSys' into update-kwsys
3068a0d0dc KWSys 2019-01-22 (4fecfe6f)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2833
2019-01-23 08:17:04 -05:00
Brad King
e898f48bbc Merge topic 'getmodulesfile-string'
2993fc347a cmMakefile: GetModulesFile() accepts std::string param

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2838
2019-01-23 08:16:15 -05:00
Brad King
c1247d861a Merge topic 'cmake_build_jobs_supports_no_space'
f2fca92686 cmake: --build supports '-jN'
e463133cd2 Tests: Remove unused files from RunCMake.CommandLine test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2819
2019-01-23 08:15:36 -05:00
Brad King
877eed30c7 Merge branch 'release-3.13' 2019-01-23 08:13:29 -05:00
Brad King
d8788faa66 Merge topic 'cmake-warn-no-src-build-dir'
20861d758b Merge branch 'backport-cmake-warn-no-src-build-dir'
68b51fb19a cmake: Convert no source/build dir error to warning
6b85eea365 Help: Add 3.13.4 release note for no source/build dir error/warning
2395b1b244 cmake: Convert no source/build dir error to warning

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2839
2019-01-23 08:13:02 -05:00
Kitware Robot
fd54b85937 CMake Nightly Date Stamp 2019-01-23 00:01:05 -05:00
Brad King
845a46fb74 Merge branch 'backport-cmake-warn-no-src-build-dir' into release-3.13
Merge-request: !2839
2019-01-22 14:47:47 -05:00
Brad King
20861d758b Merge branch 'backport-cmake-warn-no-src-build-dir' 2019-01-22 14:46:56 -05:00
Craig Scott
68b51fb19a cmake: Convert no source/build dir error to warning
Temporarily restore previous behavior that allowed specifying
no source or build directory to work, even though it was
neither documented nor supported. This commit is expected
to eventually be reverted to restore the fatal error for such
cases.

Relates: #18817
2019-01-22 14:46:03 -05:00
Craig Scott
6b85eea365 Help: Add 3.13.4 release note for no source/build dir error/warning 2019-01-22 14:07:20 -05:00
Regina Pfeifer
5a0784ddea clang-tidy: Pass by value 2019-01-22 13:03:04 -05:00
Brad King
fa5bf870df Merge topic 'implicit-includes'
5990ecb741 Compute implicit include directories from compiler output
d751d2d2ed CMakeDetermineCompilerABI: set locale to C for try_compile()
c765ae495a CMakeDetermineCompilerABI: pass verbose flag during compilation
8c5221fb1f try_compile: Preserve special characters in COMPILE_DEFINITIONS
15ad830062 Refactor exclusion of -I/usr/include to avoid per-language values

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2716
2019-01-22 11:37:49 -05:00
Brad King
a1f65014a3 Merge topic 'help-mark-default-generator'
dfd5ae7da7 Help: Mark default CMake generator with asterisk
6023fe7ff2 ccmake: Append rather than replace Generators section of docs
7408cd3929 cmake: Return generator docs directly

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2682
2019-01-22 11:37:01 -05:00
Brad King
405d9cb4b5 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2019-01-22 (4fecfe6f)
2019-01-22 11:29:56 -05:00
KWSys Upstream
3068a0d0dc KWSys 2019-01-22 (4fecfe6f)
Code extracted from:

    https://gitlab.kitware.com/utils/kwsys.git

at commit 4fecfe6f29be07ec165bcc87a20666425d928aa6 (master).

Upstream Shortlog
-----------------

Brad King (1):
      7a5e5af8 SystemTools: Revert "Fix FileIsSymlink with Windows data deduplication"

Tobias Kloss (1):
      ef373416 SystemTools: Fix FileIsSymlink with Windows data deduplication

Wouter Klouwen (1):
      8e9970fb SystemInformation: support BSD platforms for GetProcessId
2019-01-22 11:29:56 -05:00
Brad King
bcc9ea2b3d Merge topic 'crosscompiling_emulator-fix'
ab3b549ee0 CROSSCOMPILING_EMULATOR: Fix test generation for empty value

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2834
2019-01-22 09:41:23 -05:00
Brad King
ad2ed96a85 Merge topic 'findgit-imported-target'
97700e9f5b FindGit: Add imported target

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2790
2019-01-22 09:40:39 -05:00
Brad King
4b017d579d Merge topic 'Wcomma'
5ff7fb592e Fixed all but one clang -Wcomma warning

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2828
2019-01-22 09:38:30 -05:00
Brad King
cb7fbf1dbb Merge topic 'stdout-string'
3132ea801c cmSystemTools: Stdout(),Stderr() accept std::string argument

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2829
2019-01-22 09:32:58 -05:00
Brad King
acaf9801d0 Merge topic 'depends-string'
2c50a72576 cmDepends: all members accept std::string arguments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2827
2019-01-22 09:32:06 -05:00
Brad King
17e12a9fa9 Merge topic 'cmake-gui-generator-platform'
67bced8a26 cmake-gui: Improve label for default platform
48ec0bc140 cmake-gui: Add field for generator platform selection
8bba458ea5 Add global generator factory method to get default platform name
818df52c48 Add global generator factory method to get list of known platforms
8144b00e32 Split global generator factory list with and without platforms
b70c0aed5c VS: Factor out helper function to compute host platform name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2832
2019-01-22 09:28:18 -05:00
Robert Maynard
f2fca92686 cmake: --build supports '-jN' 2019-01-22 08:27:04 -05:00
Brad King
e463133cd2 Tests: Remove unused files from RunCMake.CommandLine test
Drop `-stderr.txt` files for cases that do not exist.
2019-01-22 08:24:23 -05:00
Craig Scott
2395b1b244 cmake: Convert no source/build dir error to warning
Temporarily restore previous behavior that allowed specifying
no source or build directory to work, even though it was
neither documented nor supported. This commit is expected
to eventually be reverted to restore the fatal error for such
cases.

Relates: #18817
2019-01-22 21:33:54 +11:00
Kitware Robot
05e4fa4773 CMake Nightly Date Stamp 2019-01-22 00:01:06 -05:00
Vitaly Stakhovsky
2993fc347a cmMakefile: GetModulesFile() accepts std::string param 2019-01-21 12:56:51 -05:00
Chuck Cranor
5990ecb741 Compute implicit include directories from compiler output
- CMakeParseImplicitIncludeInfo.cmake: new parser that extracts the
   compiler's include path from verbose output.  If the parser cannot
   parse the output, we fall back to the old behavior.  On osx we skip
   over framework directories (handled elsewhere).

 - CMakeDetermineCompilerABI.cmake:
     - use verbose flag in try_compile for ${src}
     - use new cmake_parse_implicit_include_info() to attempt extract
       implicit include directory path and if successful set
        CMAKE_${LANG}_IMPLICIT_INCLUDE_DIRECTORIES

 - CMakeCCompiler.cmake.in and CMakeCXXCompiler.cmake.in - preserve
   CMAKE_${LANG}_IMPLICIT_INCLUDE_DIRECTORIES value between runs in
   the same way CMAKE_${LANG}_IMPLICIT_LINK_DIRECTORIES is preserved

 - Tests/RunCMake/ParseImplicitIncludeInfo: tests for parse
   based on the older Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in.
   The test runs a set of verbose compiler outputs collected from
   various machines through the parser and checks the results.  New
   compiler files can be added by dropping input/output files in the
   ParseImplicitIncludeInfo/data subdirectory and then adding the new set
   of files to the ${targets} list in ParseImplicitIncludeInfo.cmake.
   There is a helper CMakeLists.txt in ParseImplicitIncludeInfo/data
   that can help with the generation of test input files.
   NOTE: the standard cmake pre-commit hook rejects verbose compiler
   output with trailing spaces... you have to manually edit them out.
   This shouldn't impact the test.

Note that both the parser and the test code can use CMAKE_${LANG}_COMPILER_*
variables such as ${CMAKE_CXX_COMPILER_ID} to decide how to parse
verbose compiler output.  For the test code, this requires us to
save the variables values in the test input files.

Fixes: #16291
2019-01-21 11:14:08 -05:00
Chuck Cranor
d751d2d2ed CMakeDetermineCompilerABI: set locale to C for try_compile()
Have CMakeDetermineCompilerABI set the locale to C before calling
try_compile().  This is for the implicit include path parser to
keep all the verbose compiler messages in English so we can parse
it.   See #18784 for discussion.
2019-01-21 11:14:08 -05:00
Brad King
c765ae495a CMakeDetermineCompilerABI: pass verbose flag during compilation
Default to the same flag that is used for verbose link information, but
provide another internal platform information variable to use a
compilation-specific variant.  Populate it for CUDA where we use a
different compiler for compilation and linking and therefore need
different flags.

Co-Author: Chuck Cranor <chuck@ece.cmu.edu>
2019-01-21 11:14:08 -05:00
Brad King
8c5221fb1f try_compile: Preserve special characters in COMPILE_DEFINITIONS
When generating the `CMakeLists.txt` file, we pass the values given
to our `COMPILE_DEFINITIONS` option in an `add_definitions` call.
Pass them as bracket arguments to preserve special characters
like `#`.
2019-01-21 11:14:08 -05:00
Brad King
15ad830062 Refactor exclusion of -I/usr/include to avoid per-language values
Add a `CMAKE_PLATFORM_IMPLICIT_INCLUDE_DIRECTORIES` to contain the
hard-coded list of paths to be excluded from `-I` arguments so that the
values remain excluded even if the per-language
`CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES` variants change.

This is needed to preserve our historical exclusion of `-I/usr/include`
even when it is not a real implicit include directory.  A policy may be
needed to remove it later.
2019-01-21 11:14:07 -05:00
Kyle Edwards
97700e9f5b FindGit: Add imported target 2019-01-21 10:01:56 -05:00
Kyle Edwards
ab3b549ee0 CROSSCOMPILING_EMULATOR: Fix test generation for empty value
If CROSSCOMPILING_EMULATOR was set to an empty string, and a test
was generated with the executable as the command, CMake would segfault
upon trying to generate the test file. Fix this.

Fixes: #18819
2019-01-21 09:57:25 -05:00
Brad King
02f7e997e9 Merge topic 'ExternalProject-non-cmake-source-subdir'
c09ec79981 ExternalProject: support SOURCE_SUBDIR for BUILD_IN_SOURCE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2823
2019-01-21 07:58:10 -05:00