Commit Graph

8270 Commits

Author SHA1 Message Date
Jean-Christophe Fillion-Robin
7ad981c8f7 ExternalProject: Fix cache generation when last args ends with "-NOTFOUND" 2018-03-12 13:45:50 -04:00
Brad King
57f35bba84 Merge branch 'cuda-no-device-link-rsp' into release-3.11
Merge-request: !1831
2018-03-07 10:52:54 -05:00
Brad King
f64732f59b CUDA: Do not pass unsupported @rspfile arguments to NVCC
The nvcc compiler does not support `@<rspfile>` arguments.  It does
offer a `--options-file` argument that can be investigated later.

Fixes: #17797
2018-03-07 10:30:35 -05:00
Brad King
eb1a9be4b6 XL: Recognize compilers identified by __ibmxl__
IBM XL C/C++ for Linux versions 13.1.6 and above no longer define
`__IBMC__` or `__IBMCPP__` by default (see `-qxlcompatmacros`).
Instead `__ibmxl__` now identifies the compiler along with some
related new version macros.

Fixes: #17784
2018-03-06 07:43:04 -05:00
Brad King
e708dac65f Merge branch 'modules-restore-path-suffixes' into release-3.11
Merge-request: !1802
2018-02-26 10:53:16 -05:00
Brad King
7b1c14241d Modules: Restore recently removed search path suffixes
Refactoring in commit v3.11.0-rc1~293^2~4 (Modules: Remove paths set as
global Unix prefixes, 2017-11-20) removed `PATH_SUFFIXES` options that
appeared to be used to cover subdirectories of the `PATHS` options that
were also removed.  However, the path suffixes also apply to other
search paths and so should not be removed.  Restore them.

Fixes: #17760
2018-02-26 10:52:11 -05:00
Brad King
82c23d6afc Merge branch 'ti-depfile-flag-fix' into release-3.11
Merge-request: !1774
2018-02-20 11:52:30 -05:00
Grzegorz Dobinski
cab9af7e97 Compiler/TI: Fix depfile generation for C++
In commit v3.11.0-rc1~466^2 (Compiler/TI: Add support for depfile
generation for Ninja, 2017-10-16) the flag for C++ was added in a
variable with a typo in its name.  Fix the spelling.

Issue: #17360
2018-02-20 11:52:11 -05:00
Roman Wüger
9178523968 FindImageMagick: Add 7.0 library names
For ImageMagick 7.0.x we need to consider `CORE_RL_MagickWand_` and
`CORE_RL_MagickCore_`.
2018-02-06 14:54:33 -05:00
Brad King
213ecf05d6 Merge topic 'autogen-improve-multi-config'
a8ee7406 Autogen: Improved multi-config include scheme

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1735
2018-02-05 08:43:05 -05:00
Marc Chevrier
bc3697fa51 UseSWIG: Restore support for like-named .i files in different modules
Fix logic added by commit 2ee10119ea (swig: fix incremental build in
case of removed interface files, 2017-11-06).  Name the extra targets
added for Makefile generators using both the module name and .i base
name to avoid collisions across modules.  Also make sure the extra
targets added for all .i files in a module are added as dependencies
instead of just the last one.

Fixes: #17704
2018-02-02 07:41:44 -05:00
Sebastian Holtermann
a8ee7406a7 Autogen: Improved multi-config include scheme
For multi configuration generators AUTOMOC generates the
moc files that are included in `mocs_compilation.cpp`
in `AUTOGEN_BUILD_DIR/include_$<CONFIG>/`. By doing so each
configuration reads different moc files when compiling
`mocs_compilation.cpp`. Since we do not (need to) rewrite
`mocs_compilation.cpp` on a configuration change anymore,
the files also does not need to be recompiled anymore.
Not having to rewrite and recompile `mocs_compilation.cpp`
on a configuration change anymore was the main objective of
this patch.

In a similar fashion AUTORCC generates a `qrc_BASE_CMAKE.cpp`
file below `AUTOGEN_BUILD_DIR/include_$<CONFIG>/` and
`qrc_BASE.cpp` becomes a mere wrapper that includes this
actuall rcc output file (when using multi configuration
generators).

The template files `Modules/AutoRccInfo.cmake.in` and
`Modules/AutogenInfo.cmake.in` were removed in favor
of writing the info `.cmake` files manually.

Closes #17230
2018-02-02 09:10:40 +01:00
Brad King
3ffc9b99bb Merge topic 'UseSWIG-doc-clarify'
b844a414 UseSWIG: Clarify documentation of SWIG_OUTFILE_DIR
315b0927 UseSWIG: Improve documentation markup
ce130c7a UseSWIG: Convert docs to a bracket comment

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1733
2018-02-01 08:04:52 -05:00
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
Noel Eck
b844a414c7 UseSWIG: Clarify documentation of SWIG_OUTFILE_DIR
The `SWIG_OUTFILE_DIR` variable provides the option to specify an output
directory location.  This commit removes portion stating that this is
equal to the `swig -o` option since it does not set the output filename.

Fixes: #17703
Signed-off-by: Noel Eck <noel.eck@intel.com>
2018-01-31 14:22:24 -05:00
Brad King
315b0927e9 UseSWIG: Improve documentation markup 2018-01-31 14:20:17 -05:00
Brad King
ce130c7a6b UseSWIG: Convert docs to a bracket comment 2018-01-31 13:55:22 -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