Commit Graph

7045 Commits

Author SHA1 Message Date
Brad King
eee51e24d2 Merge topic 'cpack-deb-package-version-override-fix'
2f4e5ed6 CPackDeb: use CPACK_DEBIAN_PACKAGE_VERSION
2017-01-09 16:27:31 -05:00
Daniel Pfeifer
2f4e5ed66d CPackDeb: use CPACK_DEBIAN_PACKAGE_VERSION 2016-12-20 14:09:20 +01:00
Daniel Carrera
4087d0ae85 PGI: Add support for Fortran with the Ninja generator
The PGI documentation says that `-Mpreprocess` "instructs the compiler
to perform cpp-like preprocessing on assembly and Fortran input source
files".  The `-E` flag causes the compiler to spit the result to stdout
instead of saving it to a file.
2016-12-16 08:33:21 -05:00
Brad King
0a9e4e08b5 Merge topic 'FindGit-fix-cross-compile'
caeb6d1d FindGit: Fix check for Windows host
2016-12-16 08:26:23 -05:00
Brad King
58dc3745ec Merge topic 'FindPythonLibs-tolerate-components'
a12d8a03 FindPythonLibs: Tolerate call with PYTHON_LIBRARY already a list
2016-12-16 08:26:16 -05:00
Brad King
4a06479874 Merge topic 'csharp_support_compiler_detection'
5c6c0344 C# support: add compiler detection for MSVC
2016-12-16 08:26:06 -05:00
José Simões
caeb6d1dfb FindGit: Fix check for Windows host
When cross-compiling to or from a Windows platform we should still
find a Git for the host environment.
2016-12-15 09:57:30 -05:00
Maxime Morel
9fdad82c48 FindPNG: Fix small typo fix in module help 2016-12-15 09:38:51 -05:00
Francois Budin
a12d8a03af FindPythonLibs: Tolerate call with PYTHON_LIBRARY already a list
`PYTHON_LIBRARY` may contain a list because of `SelectLibraryConfigurations`.
If it is the case, the list can be:

    optimized;<FILEPATH_TO_RELEASE_LIBRARY>;debug;<FILEPATH_TO_DEBUG_LIBRARY>

Instead of directly using the value of `PYTHON_LIBRARY` in the CMake
function `get_filename_component()`, we loop over the content of the
relevant parts of `PYTHON_LIBRARY` and `PYTHON_DEBUG_LIBRARY` whether
they are lists or not.

Suggested-by: Brad King <brad.king@kitware.com>
2016-12-15 09:34:48 -05:00
Michael Stürmer
5c6c0344d3 C# support: add compiler detection for MSVC 2016-12-15 09:16:30 -05:00
Brad King
858081c2f9 Merge topic 'cuda-implicit-libs'
e3f404fe CUDA: Implement nvcc implicit link line extraction more robustly
2016-12-14 09:52:08 -05:00
Brad King
2674818ee1 Merge topic 'GNUInstallDirs-cache-type'
53b5d634 GNUInstallDirs: Set UNINITALIZED cache properties to type PATH
c968213d GNUInstallDirs: Unify path logic into helper macros
2016-12-14 09:51:59 -05:00
Brad King
e3f404fe29 CUDA: Implement nvcc implicit link line extraction more robustly
Do not assume that the implicit link line is the last line of the output
from `nvcc -v`.  Instead first find the `LIBRARIES=` line, and then look
for that content on a later line.  It appears twice.  First on a call to
`nvlink`, which we ignore.  Later it appears on the implicit link line.
Extract the latter line.  On failure, abort with a `FATAL_ERROR` so that
the user does not try to build without proper link information.

Once we have the line, parse it with `separate_arguments` using the
`UNIX_COMMAND` option just like `CMakeParseImplicitLinkInfo` already
does.  This robustly parses the command line and removes quoting.
Then extract the first argument as the host link launcher.
2016-12-13 11:01:40 -05:00
Brad King
c241679956 Merge topic 'GetPrerequisites-fix-find_program-call'
1d1f29f4 GetPrerequisites: Fix call to find_program for `ri` tool
2016-12-13 08:45:50 -05:00
Roger Leigh
53b5d6345d GNUInstallDirs: Set UNINITALIZED cache properties to type PATH
Also convert the path to a cmake path
2016-12-12 22:23:26 +00:00
Roger Leigh
c968213d2e GNUInstallDirs: Unify path logic into helper macros
- Unify path handling: Rather than repeat the same logic for each
  individual path create two macros which can be used throughout
  the module.
- Capitalise helpstrings to match the conventions used by the
  standard CMake properties
2016-12-12 22:22:44 +00:00
Martin Koegler
1d1f29f435 GetPrerequisites: Fix call to find_program for ri tool
`find_program` does not work with `${a};${b}` as a search path.
Use separate arguments to `PATHS`.
2016-12-12 14:27:21 -05:00
Brad King
3d3d3f9470 Merge topic 'cuda-fixups'
c1a55079 CUDA: Fix Cuda.Complex test case extern function signatures
7552d16d CUDA: Fix default compiler flag initialization
2016-12-12 14:21:33 -05:00
Brad King
c7cd379179 Merge topic 'FindBoost-vs15'
c3b6b5ba FindBoost: Add support for VS 2017
2016-12-09 14:23:50 -05:00
Brad King
7552d16d1a CUDA: Fix default compiler flag initialization
Since commit v3.7.0-rc1~392^2 (Honor CMAKE_<LANG>_FLAGS[_<CONFIG>]_INIT
set in toolchain files, 2016-07-05) our convention is to initialize
compiler flag variables via `string(APPEND)` rather than `set()`.
Fix the convention for `CMAKE_CUDA_FLAGS[_<CONFIG>]_INIT`.
2016-12-09 14:19:22 -05:00
Vic Luo
c3b6b5babc FindBoost: Add support for VS 2017 2016-12-08 08:20:08 -05:00
Henning Meyer
e326d8cf3e CPack/DEB shlibdep options depend on file utility
Missing or missconfigured file utility should not
skip adding dependencies. Instead it should print
out a fatal error message.

Fixes #16486
2016-12-07 22:25:06 +01:00
Sebastian Holtermann
9d9c68e21a QtAutogen: Rename variable templates in config template 2016-12-06 15:59:27 +01:00
Sebastian Holtermann
48180401d3 QtAutogen: Rename config AM_RELAXED_MODE to AM_MOC_RELAXED_MODE 2016-12-06 15:59:26 +01:00
Brad King
0f37cd228e Merge topic 'FindOpenGL-imported-targets'
027ce359 FindOpenGL: Provide imported targets for GL and GLU
2016-12-06 09:26:25 -05:00
Brad King
41f1125931 Merge topic 'features-c++17'
97c1e569 Help: Add release note for C++ 17 support
85c8e652 Features: Activate C++ 17 support for AppleClang 6.1+
8084f7a6 Features: Activate C++ 17 support for Clang 3.5+
24e29d41 Features: Activate C++ 17 support for GNU 5.1+
ae1a6815 Features: Add infrastructure for C++ 17 language standard
684e4d20 Features: Make feature recording conditions more consistent
2016-12-05 10:56:32 -05:00
Brad King
76444957c1 Merge topic 'cpack-rpm-user-file-list-with-multiple-directives'
4e4b786e CPack/RPM CPACK_RPM_USER_FILELIST change release note
a5a6f61b CPackRPM now supports multiple directives in CPACK_RPM_USER_FILELIST
2016-12-05 09:23:26 -05:00
Harry Mallon
a5a6f61be3 CPackRPM now supports multiple directives in CPACK_RPM_USER_FILELIST
* In older version "%dir %attr(-, root, root) foo" would put "%dir foo"
  in the final spec file.
* Also added comment to describe this and advise not not to add trailing
  slashes to directories in USER_FILELIST.
* Includes test in RunCMake CPack which now passes.
2016-12-03 20:39:05 +01:00
Brad King
027ce359ff FindOpenGL: Provide imported targets for GL and GLU
Create OpenGL::GL and OpenGL::GLU imported targets using the locations
found.

This feature was originally added by commit v3.1.0-rc1~420^2~2
(FindOpenGL: Provide imported targets for GL and GLU, 2014-05-31) but
had to be reverted by commit v3.1.0-rc3~10^2 (FindOpenGL: Revert support
for imported targets, 2014-12-01) due to issue #15267.  Since then we
added support for `IMPORTED_LIBNAME` to interface libraries, so use it
to handle the case where we have only the library name without an
absolute path.

Inspired-by: Philipp Möller <bootsarehax@googlemail.com>
Closes: #15267
2016-12-02 15:11:49 -05:00
Brad King
85c8e652b1 Features: Activate C++ 17 support for AppleClang 6.1+ 2016-12-02 11:22:47 -05:00
Brad King
8084f7a6c9 Features: Activate C++ 17 support for Clang 3.5+ 2016-12-02 11:22:46 -05:00
Brad King
24e29d4190 Features: Activate C++ 17 support for GNU 5.1+ 2016-12-02 11:22:46 -05:00
Brad King
ae1a6815b6 Features: Add infrastructure for C++ 17 language standard
Issue: #16468
2016-12-02 11:22:46 -05:00
Brad King
684e4d205d Features: Make feature recording conditions more consistent
Condition all calls to `_record_compiler_features_{c,cxx}` on
`_result EQUAL 0` so that adding new language standards later does
not need to update them.  Avoid some duplicate compiler version
checks by conditioning C11 and CXX14 feature recording on the
existence of `CMAKE_{C11,CXX14}_STANDARD_COMPILE_OPTION` (whose
setting already used the version check).
2016-12-02 11:22:43 -05:00
Michał Górny
dd153de4f0 CMakeDetermineASMCompiler: arg-split ASM* env var like CC
Split the arguments off of the `ASM${ASM_DIALECT}` environment variable
as is done for `CC` and other compiler variables. This fixes using CMake
when `ASM*` is used to pass additional target flags, e.g. when one uses
`ASM=${CC}`.
2016-12-02 10:00:34 -05:00
Brad King
36588f7b16 Merge topic 'pgi-macos-flags'
571721c5 PGI: Pass macOS-specific link flags directly to linker
2016-12-01 08:50:55 -05:00
Brad King
571721c562 PGI: Pass macOS-specific link flags directly to linker
The PGI compiler on macOS does not support some macOS-specific flags so
pass them through `-Wl,` to the linker directly.

Issue: #16457
2016-11-30 13:34:50 -05:00
Brad King
12823faa72 Merge topic 'CMakeGraphVizOptions-docs'
f7c2a803 CMakeGraphVizOptions: Minor improvements to docs.
2016-11-30 08:37:41 -05:00
Brad King
a53a2f1e7e Merge topic 'FindPythonLibs-tolerate-relative-exe'
9db0dfd7 FindPythonLibs: Tolerate a non-absolute PYTHON_EXECUTABLE
2016-11-30 08:37:34 -05:00
Brad King
2036639b55 Merge topic 'cpack-ifw-options'
88ecfd8b CPackIFW: Add some options
2016-11-30 08:37:30 -05:00
Brad King
d5ab04f065 Merge topic 'UseSWIG-java-outputs'
62c4cb4b UseSWIG: Record generated java files as custom command outputs
2016-11-30 08:37:18 -05:00
caryoscelus
62c4cb4b6f UseSWIG: Record generated java files as custom command outputs
When another target depends on the generated files CMake must know which
custom command generates them in order to hook up the dependency
properly.  We already do this for Python.  Add the Java files too.
2016-11-29 10:21:05 -05:00
Harry Mallon
f7c2a803a8 CMakeGraphVizOptions: Minor improvements to docs.
* Add `GRAPHVIZ_GRAPH_TYPE` options.
* Correct inaccurate usage info.
2016-11-29 10:05:02 -05:00
Brad King
325e452ea2 Merge topic 'find-module-cleanup-sweep'
745b56f5 Find*.cmake: drop the comments before including FPHSA
0ab9cb46 FindLibArchive: do not set LibArchive_FOUND explicitly
703d1943 FindLibArchive: use CMAKE_CURRENT_LIST_DIR to find FPHSA
2016-11-29 08:59:20 -05:00
Brad King
9e8f74fbb0 Merge topic 'FindDevIL-updates'
7abb12c8 FindDevIL: Make the ILUT library optional
d3f9f512 FindDevIL: fail properly when library is not found.
2016-11-29 08:59:17 -05:00
Brad King
2ee5eac366 Merge topic 'FindPkgConfig-fix-print-errors'
cbccebba FindPkgConfig: Fix missing error text when library version is specified
2016-11-29 08:59:14 -05:00
Brad King
4838ca14df Merge topic 'initial_cuda_language_support'
4cc601f2 Help: Add release note for CUDA support
7b9131da CUDA: Add tests to verify CUDA compiler works properly.
9cf5b98d CUDA: Prefer environment variables CUDACXX and CUDAHOSTCXX.
a5e806b3 CUDA: Add support for CMAKE_CUDA_COMPILE_OPTIONS_VISIBILITY
d038559e CUDA: Add separable compilation support to the makefile generator.
43ce4414 CUDA: Add separable compilation support to the ninja generator.
4b316097 CUDA: Add support for the CUDA_SEPARABLE_COMPILATION target property
ae05fcc6 CUDA: Add LinkLineComputer that computes cuda dlink lines.
115269a8 CUDA: Refactor cmLinkLineComputer to allow for better derived children.
5dec4031 CUDA: Refactor CMakeCUDAInformation to prepare for separable compilation.
5b20d0ab CUDA: C++ compile features now enable cuda c++11 support.
489c52ce CUDA: Use the host compiler for linking CUDA executables and shared libs.
bbaf2434 CUDA: add support for specifying an explicit host compiler.
a92f8d96 CUDA: Enable header dependency scanning.
ec6ce623 CUDA: State that cuda has preprocessor output and can generate assembly.
4f5155f6 CUDA: We now properly perform CUDA compiler identification.
...
2016-11-29 08:59:03 -05:00
Rolf Eike Beer
745b56f58c Find*.cmake: drop the comments before including FPHSA
No need to explain this over and over again.  While at it, do some other
minor cleanups to whitespace and comments (i.e. delete them).
2016-11-28 16:40:13 -05:00
Rolf Eike Beer
0ab9cb4699 FindLibArchive: do not set LibArchive_FOUND explicitly
FPHSA already does this.
2016-11-28 16:39:24 -05:00
Rolf Eike Beer
703d194338 FindLibArchive: use CMAKE_CURRENT_LIST_DIR to find FPHSA
The version of CMake required to build CMake is now new enough to have
that variable.
2016-11-28 16:38:42 -05:00