Commit Graph

8254 Commits

Author SHA1 Message Date
Brad King f04cc45850 Merge topic 'findmpi-linker-parsing-enh'
0def3604 FindMPI: Discard IMPI boilerplate text
9ecbec5e FindMPI: Support for IMPI's compiler check
76755367 FindMPI: Set up environment variables for wrapper
e7c0298d FindMPI: Retain unused link paths
8cddc899 FindMPI: Use more CMake variables
8b79107a FindMPI: Improve link information parsing

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1694
2018-02-01 08:04:08 -05:00
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
Brad King 174693dafe Merge topic 'CheckIPOSupported-doc-Fortran'
9e341f05 CheckIPOSupported: Document existing Fortran support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1727
2018-01-31 08:33:29 -05:00
Brad King 063684503b Merge topic 'adsp-asmembler-identification'
f83330ed ASM: ADSP assembler identification

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1723
2018-01-31 08:31:49 -05:00
Brad King 9e341f05b0 CheckIPOSupported: Document existing Fortran support
Support was added by commit v3.9.0-rc1~318^2 (CheckIPOSupported: Add
Fortran support, 2017-04-02) but the documentation was not updated.
2018-01-30 12:58:41 -05: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
Brad King 9f74aaeb7d FindCUDA: Fix regression in per-config flags
Changes in commit 48f7e2d300 (Unhardcode the CMAKE_CONFIGURATION_TYPES
values, 2017-11-27) accidentally left `CUDA_configuration_types`
undefined, but this is used in a few places to handle per-config flags.
Restore it.

Fixes: #17671
2018-01-30 08:18:11 -05:00
Anton Danielsson f83330ed6c ASM: ADSP assembler identification
Add support to identify the ADSP (Analog Devices) assembler
in CMakeDetermineASMCompiler.

Fixes: #17695
2018-01-30 10:06:01 +01:00
Brad King a271286f41 Merge topic 'intel-cxx17-flags'
c3d576f5 Intel: Add C++17 compiler options
4a5727d3 Intel: Correct the C11 ext flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1711
2018-01-29 08:04:28 -05:00
Christian Pfeiffer c3d576f5d6 Intel: Add C++17 compiler options
Since Intel C++ 18.0, some C++17 features are supported if the flags
-std=c++17, respectively /Qstd=c++17 are given.

Fixes: #17687
2018-01-27 15:09:58 +01:00
Christian Pfeiffer 4a5727d375 Intel: Correct the C11 ext flag
Intel does not support a 'gnu11' standard flag, only 'c11'.
2018-01-27 15:08:00 +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
Brad King fa3ac83af0 Merge topic 'CPackDeb-help-typo'
99ba188c CPackDeb: Fix typo in documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1697
2018-01-25 08:37:40 -05:00
Brad King d1d8daf15a Merge topic 'xl-qoptfile'
c4dc6485 XL: Enable use of response files for includes and objects
e342e410 Makefile,Ninja: Use tool-specific response file flag for include dirs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1691
2018-01-25 08:36:47 -05:00
Brad King 499e36d932 Merge topic 'fix-cray-pic'
b886b46c Cray: Add common PIC flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1692
2018-01-25 08:36:17 -05:00
Brad King aaf3c5b32c Merge topic 'RemoveKDevelop3'
551bd0b3 Generators: adjust error message for the removed KDevelop3 generator
9198e6a2 Generators: remove KDevelop3 generator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1688
2018-01-25 08:34:53 -05:00
Tobias Svehagen 99ba188c23 CPackDeb: Fix typo in documentation 2018-01-24 20:35:55 +01:00
Brad King c4dc6485eb XL: Enable use of response files for includes and objects
The IBM XL compiler supports response files via `-qoptfile=<file>`
instead of `@<file>`.
2018-01-24 14:31:53 -05:00
Chuck Atkins b886b46ccb Cray: Add common PIC flags
Fixes #17208
2018-01-24 09:09:08 -06:00
Brad King 05e9cdb81e Merge topic 'GenerateExportHeader-include-guard'
b1ae9aaf GenerateExportHeader: add release notes, tests for include guard changes
f4082b0e GenerateExportHeader: add INCLUDE_GUARD_NAME option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1643
2018-01-24 08:53:05 -05:00
Brad King 56fd8b3c72 Merge topic 'UseJava-native-headers-generation'
4829ea23 add_jar: add option GENERATE_NATIVE_HEADERS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1675
2018-01-24 08:51:32 -05:00
Brad King 52573b3239 Merge topic 'generic-inc-sep-typo-remove'
cd3e1600 GenericSystem: Remove misspelled flag default

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !1683
2018-01-24 08:49:17 -05:00
Alex Neundorf 9198e6a27b Generators: remove KDevelop3 generator
The last KDevelop3 release was many years ago, in 2008 I think.
I haven't seen or read about anybody using KDevelop 3 since a
long time, so I think it can safely be removed from CMake.
KDevelop 4 (first released in 2010) has its own proper CMake
support now, independent from this generator.

Alex
2018-01-24 08:30:02 -05:00
Kyle Edwards f4082b0e9b GenerateExportHeader: add INCLUDE_GUARD_NAME option
Fixes #16968.
2018-01-23 10:42:47 -05:00
Christian Pfeiffer cd3e160022 GenericSystem: Remove misspelled flag default
In CMakeGenericSystem, it should be ``CMAKE_INCLUDE_SEP_<LANG>`` and not
``CMAKE_INCLUDE_<LANG>_SEP``. However, if the flag is defined, include
behavior changes to Java-style non-repeating flags, which isn't
intended. Therefore, removing the (misspelled) default initialization
should help remove confusion and unintended side effects.
2018-01-23 12:46:08 +01:00
Marc Chevrier 4829ea239a add_jar: add option GENERATE_NATIVE_HEADERS 2018-01-22 17:15:59 +01:00
Brad King 5d13fa1010 Merge topic 'boost-optional-components'
2557cad5 FindBoost: support OPTIONAL_COMPONENTS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Paul "TBBle" Hampson <paul.hampson@pobox.com>
Merge-request: !1660
2018-01-22 10:20:53 -05:00
Brad King c81ace7ab7 Merge topic 'FindJava-jdk-10'
3c08d207 FindJava: ignore javah for JDK 10, it has been removed

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1637
2018-01-22 10:18:15 -05:00
Brad King 2a9614039e Merge topic 'FindPythonInterp-windows-current-user'
a7d344be FindPythonInterp: support single-user installs on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1674
2018-01-22 10:17:25 -05:00
Christian Pfeiffer c2bed75ebe Merge topic 'findopenmp-genex'
ffa6f875 FindOpenMP: Employ genex where possible

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1676
2018-01-22 09:17:06 -05:00
Stefan Brüns 3c08d2075f FindJava: ignore javah for JDK 10, it has been removed
The standalone javah tool has been removed, header generation happens
during execution of javac.  `javac -h` allows generation of headers
only.  See http://openjdk.java.net/projects/jdk/10/ and
http://openjdk.java.net/jeps/313 for details.

Fixes: #17613
2018-01-19 11:15:11 -05:00
Sergiu Deitsch 2557cad5ec FindBoost: support OPTIONAL_COMPONENTS 2018-01-19 17:00:44 +01:00
Christian Pfeiffer ffa6f8752b FindOpenMP: Employ genex where possible
Fixes: #17610
2018-01-19 16:38:52 +01: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
Werner Palfinger a7d344be71 FindPythonInterp: support single-user installs on Windows
CMake currently searches in HKEY_LOCAL_MACHINE. 
According to PEP 514, single-user installs are registered in HKEY_CURRENT_USER
See also FindPythonLibs.cmake
2018-01-19 06:13:03 -05:00
Ben Boeckel c2aec68333 FindOpenGL: remove duplicate OpenGL::GL reference 2018-01-18 11:10:13 -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 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
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
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
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 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 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 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 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 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