Commit Graph

38559 Commits

Author SHA1 Message Date
Christian Pfeiffer
0def36043f FindMPI: Discard IMPI boilerplate text
Intel MPI on Windows prefixes all outputs with some boilerplate
copyright text. By discarding it, we should prevent any potential
clashes with our regex parsing.
2018-01-31 17:43:30 +01:00
Christian Pfeiffer
9ecbec5e01 FindMPI: Support for IMPI's compiler check
Intel MPI has an optional feature to check compatibility with the
compiler, given by I_MPI_CHECK_COMPILER.
This commit adds support for executing that check.
2018-01-31 17:27:38 +01:00
Christian Pfeiffer
767553674e FindMPI: Set up environment variables for wrapper
For MPICH derivates and Intel MPI, we can improve the compiler wrapper
behavior and accuracy by defining certain environment variables if they
haven't been set otherwise.
2018-01-31 17:27:37 +01:00
Christian Pfeiffer
e7c0298d5c FindMPI: Retain unused link paths
If our ``find_library`` step hasn't used a particular link directory at
all, it's best to retain it in order to prevent issues from secondary
dependencies not being found.
2018-01-30 18:23:45 +01:00
Christian Pfeiffer
8cddc89926 FindMPI: Use more CMake variables
This replaces hardcoded expectations of flags like -l and -L with a
dynamical solution based on CMake platform variables.

Furthermore, the linker flag parsing is dynamified to support more forms
and given linker paths are now removed properly from the linker flags.
2018-01-30 18:23:45 +01:00
Christian Pfeiffer
8b79107add FindMPI: Improve link information parsing
The parsing of link information coming from the compiler wrapper has been improved:

- Support MSVC /link argument separation properly and add support for potential VC++ link flags
- Rely on the global import/static/shared library suffixes instead of hardcoded special values.
This should improve compatibility with Cygwin and MinGW should any MPI implementation there need this behavior.
- Don't use ``find_library`` if the full path of a library is known anyways.
2018-01-25 16:31:10 +01:00
Kitware Robot
5c3c70201d CMake Nightly Date Stamp 2018-01-22 00:01:08 -05:00
Kitware Robot
17c3e418b0 CMake Nightly Date Stamp 2018-01-21 00:01:06 -05:00
Craig Scott
eae7718440 Merge topic 'docs_cmake_lang_compiler_external_toolchain'
f3e9bedd Help: CMAKE_<LANG>_COMPILER_EXTERNAL_TOOLCHAIN typo removal

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1679
2018-01-20 17:56:05 -05:00
Craig Scott
11c4ea7f11 Merge topic 'reword-cmake-E-time-help'
73bb781d Help: Reword misleading docs for cmake -E time

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1677
2018-01-20 17:54:24 -05:00
Craig Scott
f3e9beddfb Help: CMAKE_<LANG>_COMPILER_EXTERNAL_TOOLCHAIN typo removal 2018-01-20 17:17:28 +11:00
Kitware Robot
ab1be08913 CMake Nightly Date Stamp 2018-01-20 00:01:11 -05:00
Taylor Braun-Jones
73bb781df0 Help: Reword misleading docs for cmake -E time 2018-01-19 16:07:39 -05:00
Brad King
927c603574 Merge topic 'FindOpenGL-fix-typo'
c2aec683 FindOpenGL: remove duplicate OpenGL::GL reference

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1668
2018-01-19 10:08:42 -05:00
Brad King
e68a269cd2 Merge topic 'cache-truncate-newlines'
c42b377c cmCacheManager: Test and document newline truncation behavior
a9c48307 cmCacheManager: Truncate values containing newlines

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1652
2018-01-19 10:08:06 -05:00
Kitware Robot
be2f050903 CMake Nightly Date Stamp 2018-01-19 00:01:23 -05:00
Ben Boeckel
c2aec68333 FindOpenGL: remove duplicate OpenGL::GL reference 2018-01-18 11:10:13 -05:00
Brad King
cbe7314bb0 Merge branch 'release-3.10' 2018-01-18 10:59:17 -05:00
Brad King
c1e087a9d3 CMake 3.10.2 2018-01-18 09:53:18 -05:00
Brad King
c1ea96d04c Merge topic 'autogen-parallel'
9cfa213a Autogen: Rename cmQtAutogeneratorInitializer to cmQtAutoGenInitializer
79908ae4 Autogen: Add release notes for (CMAKE_)AUTOGEN_PARALLEL
45ee4979 Autogen: Add documentation for (CMAKE_)AUTOGEN_PARALLEL
6f4b6613 Autogen: Tests: Add AUTOGEN_PARALLEL tests
a008578d Autogen: Process files concurrently in AUTOMOC and AUTOUIC
488baaf0 Autogen: Tests: Fix MocInclude test(s)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1632
2018-01-18 09:46:29 -05:00
Brad King
84e2a7e58a Merge topic 'ctest-libuv-output-decode'
a6e9b9c9 CTest: Fix process output read error cases
c10119df CTest: Fix decoding of MBCS character split by buffering

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1667
2018-01-18 09:43:08 -05:00
Brad King
d0b00a848f Merge topic 'FindTCL-thread-suffix'
c9f66540 FindTCL: Find 8.6 libraries with 't' suffix

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1663
2018-01-18 09:42:11 -05:00
Brad King
1c681f9200 Merge topic 'fix_ninja_cuda'
2bd232b5 Ninja: Fixes CUDA device link in Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1662
2018-01-18 09:41:39 -05:00
Brad King
bffdc2e2e1 Merge topic 'msvc_cuda_8_explicitly_specify_cuda_language'
46abfedb CUDA: MSVC will now state files are cuda files when needed

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1658
2018-01-18 09:41:01 -05:00
Kitware Robot
2868019b2f CMake Nightly Date Stamp 2018-01-18 00:01:26 -05:00
Craig Scott
b1fd313826 Merge topic 'FindDoxygen-macos-utils'
2489e5af FindDoxygen: On macOS search in '/Applications/Utilities' too

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1661
2018-01-17 15:08:22 -05:00
Craig Scott
657898ecad Merge topic 'cmSourceGroup-modern-cxx'
969c1f94 cmSourceGroup: code improvements; use std::string and C++11 loops

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1656
2018-01-17 15:06:02 -05:00
Sebastian Holtermann
9cfa213aa6 Autogen: Rename cmQtAutogeneratorInitializer to cmQtAutoGenInitializer 2018-01-17 17:23:49 +01:00
Sebastian Holtermann
79908ae4ae Autogen: Add release notes for (CMAKE_)AUTOGEN_PARALLEL 2018-01-17 17:23:49 +01:00
Sebastian Holtermann
45ee4979fb Autogen: Add documentation for (CMAKE_)AUTOGEN_PARALLEL 2018-01-17 17:23:49 +01:00
Sebastian Holtermann
6f4b661383 Autogen: Tests: Add AUTOGEN_PARALLEL tests 2018-01-17 17:23:49 +01:00
Sebastian Holtermann
a008578dee Autogen: Process files concurrently in AUTOMOC and AUTOUIC
This introduces concurrent thread processing in the `_autogen`
target wich processes AUTOMOC and AUTOUIC.
Source file parsing is distributed among the threads by
using a job queue from which the threads pull new parse jobs.
Each thread might start an independent ``moc`` or ``uic`` process.
Altogether this roughly speeds up the AUTOMOC and AUTOUIC build
process by the number of physical CPUs on the host system.

The exact number of threads to start in  the `_autogen` target
is controlled by the new AUTOGEN_PARALLEL target property which
is initialized by the new CMAKE_AUTOGEN_PARALLEL variable.
If AUTOGEN_PARALLEL is empty or unset (which is the default)
the thread count is set to the number of physical CPUs on
the host system.

The AUTOMOC/AUTOUIC generator and the AUTORCC generator are
refactored to use a libuv loop internally.

Closes #17422.
2018-01-17 17:23:49 +01:00
Sebastian Holtermann
488baaf0d6 Autogen: Tests: Fix MocInclude test(s) 2018-01-17 17:23:49 +01:00
Brad King
a6e9b9c9e4 CTest: Fix process output read error cases
The libuv documentation states that the stream read callback may
be called with `nread == 0` for EAGAIN.  Handle this gracefully.
It also states that the callee is responsible for closing the
stream on error.  Always close the stream for `nread < 0`.
2018-01-17 11:20:24 -05:00
Brad King
c10119df62 CTest: Fix decoding of MBCS character split by buffering
Use a single `cmProcessOutput` instance persistently to decode
all output of a test process so that partial character bytes
can be buffered.
2018-01-17 10:41:51 -05:00
Brad King
af30899cb4 Merge topic 'fix-documentation'
60216e15 Help: Improved MAIN_DEPENDENCY documentation of add_custom_command()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1665
2018-01-17 10:35:31 -05:00
Kitware Robot
8b49fc3c6f CMake Nightly Date Stamp 2018-01-17 00:01:18 -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