Commit Graph

8283 Commits

Author SHA1 Message Date
Brad King
020be379f4 Merge topic 'fortran-compiler'
965f977c Fortran: Adjust compiler candidates based on host platform

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1780
2018-02-22 11:37:10 -05:00
Brad King
fef001884f Merge topic 'FindLua-tolerate-var'
6cced787 FindLua: Fix error when LUA_INCLUDE_PREFIX is set as a variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1778
2018-02-21 10:44:08 -05:00
Brad King
fcae625f48 Merge topic 'FindwxWidget/fix-eating-minusL-in-path'
67db3ff9 Fix eating "-L" in path names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1775
2018-02-21 10:43:40 -05:00
Brad King
283562624c Merge topic 'find-linker'
e936b6bb CMakeFindBinUtils: Find linker in PATH

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1720
2018-02-21 10:43:09 -05:00
xoviat
e936b6bb5a CMakeFindBinUtils: Find linker in PATH
Fixes: #17693
2018-02-21 10:42:15 -05:00
xoviat
965f977c7c Fortran: Adjust compiler candidates based on host platform
Typical Fortran compiler command-line tool names differ on Windows and
non-Windows platforms.  Also, the name `ifc` should not be used on
Windows because there is an `ifc.exe` tool in Visual Studio that is
unrelated.

Fixes: #17752
2018-02-21 10:23:38 -05:00
Frank Benkstein
6cced78725 FindLua: Fix error when LUA_INCLUDE_PREFIX is set as a variable
We use `LUA_INCLUDE_PREFIX` for the result of an internal `find_path`
call and unset the cache entry before each use.  Unset a plain variable
of this name too in case it was set by project code.  Otherwise the
`find_path` call may be skipped and the wrong value used, leading to
errors.
2018-02-20 16:13:45 -05:00
Brad King
a8d182fbbf Merge topic 'ti-depfile-flag-fix'
cab9af7e Compiler/TI: Fix depfile generation for C++

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1774
2018-02-20 11:54:15 -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
Brad King
3bc3762c7c Merge topic 'findzlib-folder-priority'
c01eede8 FindZLIB: Search names per directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1769
2018-02-20 11:42:23 -05:00
Brad King
1fbd5f4a7e Merge topic 'CheckCSourceRuns-log-run-output'
b25b39ad CheckCSourceRuns: Teach CHECK_C_SOURCE_RUNS to log run output

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1772
2018-02-20 11:41:50 -05:00
Brad King
088c1876ef Merge topic 'follow-up-misc-typos'
287e7a17 Maint: misc. typos

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1771
2018-02-20 11:41:15 -05:00
Raffi Enficiaud
67db3ff958 Fix eating "-L" in path names
When the path containing the wxLibraries contains a "-L", a "string(REPLACE "-L" ...)
replaces the content and results in a wrong path. The regex fixes this.
2018-02-17 16:15:57 +01:00
Edward Z. Yang
b25b39ad76 CheckCSourceRuns: Teach CHECK_C_SOURCE_RUNS to log run output
Signed-off-by: Edward Z. Yang <ezyang@fb.com>
Fixes: #17745
2018-02-16 09:51:26 -05:00
luz.paz
287e7a175c Maint: misc. typos
Found via `codespell`
2018-02-16 09:47:17 -05:00
Stefan Hacker
c01eede894 FindZLIB: Search names per directory
FindZLIB accepts various names for zlib (e.g. "z", "zlib", ...) in
various search locations. Before this patch zlib ignored the priority
implied by the search locations and instead prioritized based on the
library name. Consequently ensuring the pick of a zlib from e.g. a
CMAKE_PREFIX_PATH was not possible if it didn't have the highest
priority name ("z").

This unexpected behavior led to bugs in third party projects (e.g.
https://github.com/Microsoft/vcpkg/issues/1939). A common way to
encounter the issue in the wild is on Windows with the popular
Anaconda python distribution which puts a "z.lib" in a lib/
subdirectory reachable from a bin/ path in PATH. From then on cmake
will always pick up this library instead of the one intended by the
user.

This patch adds the NAMES_PER_DIR option to the find_library calls made
by FindZLIB making it search each directory for all names before
considering lower priority directory names resolving these issues.
2018-02-15 21:38:48 +01:00
Shane Parris
e78e24f68c Replaces execute_process calls to touch files with file(TOUCH) calls 2018-02-15 10:54:38 -05:00
Marc Chevrier
0bef9eb410 UseSWIG: modernize module 2018-02-14 08:35:04 +01:00
Marc Chevrier
d6048bd153 UseSWIG: Re-work test framework 2018-02-14 08:35:04 +01:00
Brad King
58c637643d Merge topic 'more-misc-typos'
193082a3 MAINT: Misc. typos

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1758
2018-02-13 11:28:31 -05:00
luz.paz
193082a3c8 MAINT: Misc. typos
Found via `codespell -q 3 -I ../cmake-whitelist.txt`.
2018-02-13 11:24:30 -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