Commit Graph

38574 Commits

Author SHA1 Message Date
Kitware Robot
8b49fc3c6f CMake Nightly Date Stamp 2018-01-17 00:01:18 -05:00
Brad King
e8b57c2283 libuv: Teach import script to add missing newlines 2018-01-16 13:27:23 -05:00
Thomas Thielemann
2489e5af5b FindDoxygen: On macOS search in '/Applications/Utilities' too
`FindDoxygen` already searches in hard-coded `/Applications/Doxygen.app`
directories.  Search in the `Utilities` subdirectory too in case users
choose to put doxygen there.
2018-01-16 10:16:32 -05:00
lorenz
c9f6654059 FindTCL: Find 8.6 libraries with 't' suffix
Building Tcl with `makefile.vc` produces library files with a `t`
suffix to indicate threading support.  Since threading support is
on by default in 8.6 anyway, the libraries should be compatible.

Issue: https://github.com/conda-forge/tk-feedstock/issues/12
2018-01-16 09:52:24 -05:00
Brad King
b4dfe1d816 Merge topic 'extend-compile-language-genex'
506fda1c Genex: Enable COMPILE_LANGUAGE for INCLUDE_DIRECTORIES with VS and Xcode
c2f79c98 Genex: Enable COMPILE_LANGUAGE for COMPILE_DEFINITIONS with VS and Xcode
0795d25b cmVisualStudio10TargetGenerator: Factor out include dir computation
1ab4d186 cmLocalVisualStudio7Generator: Clarify variable name of compiled language
07e1a743 cmLocalVisualStudio7Generator: Clarify condition for target that compiles

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1657
2018-01-16 09:33:23 -05:00
Brad King
7accd7ebe2 Merge topic 'CheckIncludeFile-required-libs'
f74c2580 CheckIncludeFiles: Honor CMAKE_REQUIRED_LIBRARIES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1620
2018-01-16 09:27:02 -05:00
Brad King
47b8a421b0 Merge topic 'gnu-visibility-aix'
e1f0518d GNU: Use -fvisibility on AIX when supported
eae0a85d Tests: Remove redundant code from RunCMake.GenerateExportHeader case

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1659
2018-01-16 09:25:00 -05:00
Christoph Ruediger
60216e158f Help: Improved MAIN_DEPENDENCY documentation of add_custom_command() 2018-01-16 15:10:26 +01:00
Kitware Robot
27cbbf0ed0 CMake Nightly Date Stamp 2018-01-16 00:01:16 -05:00
Kyle Edwards
c42b377c29 cmCacheManager: Test and document newline truncation behavior 2018-01-15 09:28:32 -05:00
Kyle Edwards
a9c483071e cmCacheManager: Truncate values containing newlines
Fixes #16098.
2018-01-15 09:27:44 -05:00
Francisco Facioni
2bd232b536 Ninja: Fixes CUDA device link in Windows
nvcc in linker mode doesn't support response files

Fixes: #17644
2018-01-15 11:04:37 +00:00
Kitware Robot
675adaa4a4 CMake Nightly Date Stamp 2018-01-15 00:02:16 -05:00
Kitware Robot
7b78242d60 CMake Nightly Date Stamp 2018-01-14 00:01:10 -05:00
Kitware Robot
cfd338728b CMake Nightly Date Stamp 2018-01-13 00:03:35 -05:00
Robert Maynard
46abfedb83 CUDA: MSVC will now state files are cuda files when needed
The MSVC CUDA build customizations before CUDA 9 would not explicitly
add the -x cu option when building. This caused .cpp and .c files
invoked with CudaCompile to be compiled as host code and not
cuda. Now when we detect CUDA < 9 we will explicitly add this
option to correct this bug.
2018-01-12 15:17:03 -05:00
Brad King
506fda1cf0 Genex: Enable COMPILE_LANGUAGE for INCLUDE_DIRECTORIES with VS and Xcode
The set of compile flags used for a target's C and C++ sources is based
on the linker language.  By default this is always the C++ flags if any
C++ sources appear in the target, and otherwise the C flags.  Therefore
we can define the `COMPILE_LANGUAGE` generator expression in
`INCLUDE_DIRECTORIES` to match the selected language.

This is not exactly the same as for other generators, but is the best VS
and Xcode can do.  It is also sufficient for many use cases since the
set of include directories for C and C++ is frequently similar but may
be distinct from those for other languages like CUDA.

Fixes: #17435
2018-01-12 14:27:37 -05:00
Brad King
c2f79c9867 Genex: Enable COMPILE_LANGUAGE for COMPILE_DEFINITIONS with VS and Xcode
The set of compile flags used for a target's C and C++ sources is based
on the linker language.  By default this is always the C++ flags if any
C++ sources appear in the target, and otherwise the C flags.  Therefore
we can define the `COMPILE_LANGUAGE` generator expression in
`COMPILE_DEFINITIONS` to match the selected language.

This is not exactly the same as for other generators, but is the best VS
and Xcode can do.  It is also sufficient for many use cases since the
set of definitions for C and C++ is frequently similar but may be
distinct from those for other languages like CUDA.

Issue: #17435
2018-01-12 14:27:37 -05:00
Brad King
e1f0518de0 GNU: Use -fvisibility on AIX when supported
Revise the logic from commit v3.7.0-rc1~173^2~2 (GNU: Do not use
-fvisibility on AIX or HP-UX, 2016-09-03) to add a version check.
The GCC 7 release notes [1] state that visibility support has been
added for AIX 7.1 and above.

[1] https://gcc.gnu.org/gcc-7/changes.html
2018-01-12 11:50:10 -05:00
Brad King
eae0a85d84 Tests: Remove redundant code from RunCMake.GenerateExportHeader case
Drop extra `add_compiler_export_flags` calls from subdirectories because
it is already called in the top-level directory before entering them.
2018-01-12 11:01:37 -05:00
Brad King
46ad721597 Merge topic 'cuda_allow_G_to_device_debugging_on_msvc'
dcc606ad CUDA: Allow -G to control device debuging on MSVC.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1619
2018-01-12 09:51:42 -05:00
Brad King
af56d7f599 Merge topic 'avoid-ambiguous-extension-logic-for-known-paths'
d6dfde3c cmSourceFile: mark known locations as such
b0716fbc cmSourceFileLocation: allow skipping ambiguous extensions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1646
2018-01-12 09:50:44 -05:00
Kitware Robot
c4d75459db CMake Nightly Date Stamp 2018-01-12 00:01:25 -05:00
Brad King
4cf08c96f8 Merge topic 'ctest-libuv'
b5e21d7d CTest: Re-implement test process handling using libuv
fcebff75 cmProcess: Use explicit enum for process exit exception
3dd2edf4 cmProcess: Use explicit enum for process state
5238e6db cmProcess: Remove unused ReportStatus method
c13b68e6 cmCTestRunTest: Modernize constructor and destructor decls
4d6b0903 cmCTestRunTest: Drop unused members
05da65bc cmCTestMultiProcessHandler: Factor out duplicate test finish logic
dd945345 cmCTestMultiProcessHandler: Add helper to make libuv use SA_RESTART
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1455
2018-01-11 15:33:03 -05:00
Brad King
0795d25b78 cmVisualStudio10TargetGenerator: Factor out include dir computation 2018-01-11 15:03:02 -05:00
Robert Maynard
dcc606ad47 CUDA: Allow -G to control device debuging on MSVC.
Fixes #17551
2018-01-11 13:33:00 -05:00
Brad King
1ab4d186a7 cmLocalVisualStudio7Generator: Clarify variable name of compiled language 2018-01-11 10:55:20 -05:00
Brad King
07e1a74361 cmLocalVisualStudio7Generator: Clarify condition for target that compiles 2018-01-11 10:54:06 -05:00
Brad King
ae7c7b6db5 Merge branch 'release-3.10' 2018-01-11 10:30:45 -05:00
Brad King
8c450b316f Merge topic 'autogen-nexist-source-fix'
be304fb8 Merge branch 'backport-autogen-nexist-source-fix' into autogen-nexist-source-fix
d592bfc9 Autogen: Ignore not existing source files in cmMakefile
513eb014 Autogen: Ignore not existing source files in cmMakefile

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1651
2018-01-11 10:29:58 -05:00
Brad King
be304fb8c0 Merge branch 'backport-autogen-nexist-source-fix' into autogen-nexist-source-fix 2018-01-11 10:28:00 -05:00
Brad King
66335350a3 Merge topic 'msvc-asm'
6c3f374e MSVC: Avoid warning when enabling ASM language with C compiler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1655
2018-01-11 10:23:08 -05:00
Brad King
2d5fdc25df Merge topic 'specify-source-extensions'
efd279cd cmake: specify source file extensions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1645
2018-01-11 10:19:25 -05:00
Brad King
30fcb92576 Merge topic 'misc-typos'
d91b2d91 MAINT: Misc. typos

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1654
2018-01-11 10:18:54 -05:00
Brad King
fe8d74cc60 Merge topic 'cuda_msvc_support_complex_gencode_signatures'
a91fde13 CUDA: gencode signature that list multiple code types now supported.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1618
2018-01-11 10:18:11 -05:00
Brad King
3f4924aa60 Merge topic 'FindBoost-1.66'
6297d6c7 FindBoost: Generate imported targets for future Boost versions
d56deff7 FindBoost: Search for upstream-packaged libs next to includes
b044f69a FindBoost: Implement "Architecture and Address Model" tag
b1e9f671 FindBoost: Fix incorrect alphabetisation of headers list
433a2d49 FindBoost: Boost 1.66.0 dependency and release update

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Jason Juang <jasjuang@gmail.com>
Merge-request: !1625
2018-01-11 10:16:55 -05:00
Brad King
37a3738b1a Merge topic 'doc-fixes'
da3a329a Linkify target_link_libraries in DEBUG_CONFIGURATIONS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1649
2018-01-11 10:16:01 -05:00
Brad King
45f2872129 Merge topic 'doc-install-arg-order'
f09fda97 Help: improve install() documentation of argument ordering

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1641
2018-01-11 10:15:27 -05:00
Christian Pfeiffer
8f1666b207 Merge topic 'findmpi-new-mpiexec-search'
5e9512a3 FindMPI: Move MSMPI/MPICH2 mpiexec search

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1653
2018-01-11 07:01:00 -05:00
Kitware Robot
b2369ad409 CMake Nightly Date Stamp 2018-01-11 00:01:51 -05:00
Vitaly Stakhovsky
969c1f94ae cmSourceGroup: code improvements; use std::string and C++11 loops
Topic-rename: cmSourceGroup-modern-cxx
2018-01-10 19:01:49 -05:00
Don Hinton
f74c25802d CheckIncludeFiles: Honor CMAKE_REQUIRED_LIBRARIES
This is needed when cross compiling and the compiler requires a specific
linker different from the default, e.g., when cross compiling from
Darwin to Linux and passing `-fuse-ld=lld` to clang.

Fixes: #9514
2018-01-10 14:13:32 -05:00
Brad King
6c3f374e99 MSVC: Avoid warning when enabling ASM language with C compiler
The `CMakeASMInformation` module warns when no compiler-specific module
is found for the `ASM` language.  Add a minimal `Compiler/MSVC-ASM`
module to avoid the warning for MSVC.

Fixes: #17532
2018-01-10 14:04:04 -05:00
Brad King
ecfc729ad4 Merge branch 'backport-autogen-nexist-source-fix' into release-3.10
Merge-request: !1650
2018-01-10 13:53:59 -05:00
Sebastian Holtermann
d592bfc9f5 Autogen: Ignore not existing source files in cmMakefile
Until CMake 3.10 a list of source files that had the AUTOUIC_OPTIONS property
populated was kept in `cmMakefile::QtUiFilesWithOptions`.  In the process to
remove all AUTOUIC related code from `cmMakefile` for CMake 3.10, the pre
filtered list was replaced by a loop in `cmQtAutoGeneratorInitializer` over
all source files in the `cmMakefile`.  This loop introduced the problem that
file paths were computed for source files that weren't in the target's sources
and that might not even have existed.  If the path for an unused and not
existing file was computed a `cmake::FATAL_ERROR` with the error message
"Cannot find source file:" was thrown nevertheless.
This caused some projects to fail in CMake 3.10.

This patch adds a test for path errors in the loops in
`cmQtAutoGeneratorInitializer` that iterate over all source files in a
`cmMakefile`. If a path error appears, the file is silently ignored.
If the file is part of the target's sources, the path error will still be
caught in the loop over all the target's sources.

This is the fix for CMake 3.10.1.
2018-01-10 19:46:22 +01:00
Sebastian Holtermann
513eb014eb Autogen: Ignore not existing source files in cmMakefile
Until CMake 3.10 a list of source files that had the AUTOUIC_OPTIONS property
populated was kept in `cmMakefile::QtUiFilesWithOptions`.  In the process to
remove all AUTOUIC related code from `cmMakefile` for CMake 3.10, the pre
filtered list was replaced by a loop in `cmQtAutoGeneratorInitializer` over
all source files in the `cmMakefile`.  This loop introduced the problem that
file paths were computed for source files that weren't in the target's sources
and that might not even have existed.  If the path for an unused and not
existing file was computed a `cmake::FATAL_ERROR` with the error message
"Cannot find source file:" was thrown nevertheless.
This caused some projects to fail in CMake 3.10.

This patch adds a test for path errors in the loops in
`cmQtAutoGeneratorInitializer` that iterate over all source files in a
`cmMakefile`. If a path error appears, the file is silently ignored.
If the file is part of the target's sources, the path error will still be
caught in the loop over all the target's sources.

Closes #17573
Closes #17589
2018-01-10 18:57:08 +01:00
luz.paz
d91b2d9158 MAINT: Misc. typos
Found via `codespell`
2018-01-10 12:34:14 -05:00
Christian Pfeiffer
5e9512a358 FindMPI: Move MSMPI/MPICH2 mpiexec search
Move the logic to search mpiexec for MSMPI and MPICH2 guesses to their
respective guessing logic. This way, we can prevent mix ups between
their mpiexecs and other potential matches, for example from an Intel
MPI installation.
2018-01-10 18:20:49 +01:00
Ben Boeckel
d6dfde3cd3 cmSourceFile: mark known locations as such
Primarily, this includes:

  - the rule files generated for custom targets;
  - source files representing custom targets directly;
  - outputs of custom commands;
  - byproducts of custom commands; and
  - dependencies of custom commands.
2018-01-10 11:21:11 -05:00
Ben Boeckel
b0716fbcc5 cmSourceFileLocation: allow skipping ambiguous extensions
The ambiguous extension logic is an old behavior that ends up taking
lots of extra compute cycles to execute. This is triggered by various
CMake codepaths which pass extension-less paths down when CMake actually
knows that they are not ambiguous. These codepaths will be indicated in
upcoming changes.

Various APIs have gained a cmSourceFileLocationKind parameter, but they
are all optional and default to the existing behavior.
2018-01-10 11:21:11 -05:00