Commit Graph

39409 Commits

Author SHA1 Message Date
Henry Schreiner
1fb2812d5b CUDA: Add compiler detection for CUDA < 7.5
If the CUDA version macros are not defined, run `nvcc --version` and
extract the version from its output.

Fixes: #17920
2018-04-23 11:26:56 -04:00
Brad King
b0610e4c95 Merge topic 'cuda-arch-repair'
61b222f3ae CUDA/select_compute_arch: Fix detection on old CUDA with new card/driver

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1987
2018-04-23 10:19:27 -04:00
Brad King
b74a49d326 Merge topic 'doc-help-spelling'
20d90a9482 Help: Some spelling corrections for commands.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1994
2018-04-23 10:18:26 -04:00
Brad King
3d6bedb903 Merge topic 'cmake-install-doc'
a4f71b4ba8 Help: Document existence of cmake_install.cmake
fcf64866da Help: move DESTDIR into a separate page

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1979
2018-04-23 10:17:42 -04:00
Brad King
ba234392b1 Merge topic 'add_compile_definitions'
cb83314e65 add_compile_definitions: add new command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1988
2018-04-23 10:16:24 -04:00
Brad King
c74539aad7 Merge topic 'doc-CMP0060'
d512825b64 Help: Mention CMP0060 in CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1990
2018-04-23 10:14:51 -04:00
Kitware Robot
1f372ac4e5 CMake Nightly Date Stamp 2018-04-23 00:01:12 -04:00
Kitware Robot
1fa4e8abca CMake Nightly Date Stamp 2018-04-22 00:01:04 -04:00
Kitware Robot
1a207ccc99 CMake Nightly Date Stamp 2018-04-21 00:01:06 -04:00
Yee Fan
20d90a9482 Help: Some spelling corrections for commands. 2018-04-21 00:37:09 +08:00
Henry Schreiner
61b222f3ae CUDA/select_compute_arch: Fix detection on old CUDA with new card/driver
Fix version comparisons to handle patch components.  List and check
known archs for each version of CUDA so mismatching versions are not
suggested.

Fixes: #17921
2018-04-20 09:43:50 -04:00
Marc Chevrier
cb83314e65 add_compile_definitions: add new command
This command manages preprocessor definitions at directory level and
supports generator expressions.

Fixes: #15374
2018-04-20 09:28:13 -04:00
Brad King
d512825b64 Help: Mention CMP0060 in CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES
Behavior described for this variable is actually dependent on the
`CMP0060` policy setting.  Update the documentation accordingly.
2018-04-20 09:17:33 -04:00
Kyle Edwards
a4f71b4ba8 Help: Document existence of cmake_install.cmake
This file, which is currently undocumented, is useful for external
packaging programs that wish to install only a single component at a
time. This change adds documentation for the file.
2018-04-20 08:39:52 -04:00
Kyle Edwards
fcf64866da Help: move DESTDIR into a separate page 2018-04-20 08:39:02 -04:00
Brad King
fe0082875a Merge topic 'vs-sdk-dirs'
6ec3e880e7 VS: Add variables to set SDK directories in vcxproj files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1965
2018-04-20 07:52:02 -04:00
Brad King
293bb0f475 Merge topic 'ninja-simplify-paths'
5650ba1d6a Ninja: Drop unnecessary ident encoding logic for paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1983
2018-04-20 07:49:57 -04:00
Brad King
3fa423bbc1 Merge topic 'FindPython-debian-cross-comp'
7855e4d6b7 FindPython: Add cross-compilation support for Debian-based systems.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Marc Chevrier <marc.chevrier@sap.com>
Merge-request: !1961
2018-04-20 07:48:29 -04:00
Brad King
f6da392609 Merge topic 'doc-drop-faq'
0055d50667 Help: Drop direct link to Wiki/FAQ page

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1986
2018-04-20 07:10:52 -04:00
Craig Scott
1121be24cc Merge topic 'doc-xref-envvar'
63e0c16e3d Help: Link from CMAKE_<LANG>_FLAGS to <LANG>FLAGS environment variables
8acf46caf1 Utilities/Sphinx: Add role and directive for 'envvar' in CMake domain
7e532abc78 Utilities/Sphinx: Fix QtHelp generator identifiers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1985
2018-04-20 07:06:55 -04:00
Kitware Robot
38d854dccf CMake Nightly Date Stamp 2018-04-20 00:01:09 -04:00
Brad King
0055d50667 Help: Drop direct link to Wiki/FAQ page
Instead mention that community resources are available on the general
documentation landing page.
2018-04-19 11:44:22 -04:00
Bastien Schatt
6ec3e880e7 VS: Add variables to set SDK directories in vcxproj files
Create `CMAKE_VS_SDK_*_DIRECTORIES` variables to tell the VS generator
how to populate fields in `.vcxproj` files that specify SDK directories.

Fixes: #17908
2018-04-19 09:39:34 -04:00
Brad King
63e0c16e3d Help: Link from CMAKE_<LANG>_FLAGS to <LANG>FLAGS environment variables 2018-04-19 09:03:32 -04:00
Brad King
8acf46caf1 Utilities/Sphinx: Add role and directive for 'envvar' in CMake domain
This enables cross-reference syntax for CMake environment variables:

    :envvar:`SOMEVAR`

and definition of CMake environment variables via a directive:

    .. envvar:: SOMEVAR

It also adds environment variables defined by the directive and by
`Help/envvar/SOMEVAR.rst` documents to the index.

This `envvar` role and directive is defined in our `cmake` domain
and overrides the equivalent `envvar` role and directive provided
by Sphinx in its default domain.  This is okay because we build
CMake documents in the `cmakd` domain.

This follows up the work from commit v3.10.0-rc1~43^2 (Help: Document
CMake's environment variables, 2017-09-01) that originally added
`envvar` documentation.
2018-04-19 09:02:44 -04:00
Brad King
7e532abc78 Utilities/Sphinx: Fix QtHelp generator identifiers
Add missinge entry in `create_identifiers.py` helper.
2018-04-19 08:48:28 -04:00
Brad King
c14497191b Merge topic 'FindJPEG-imported-targets'
87f2cf3b1c FindJPEG: Add imported target support and full test
13952a3b7f FindJPEG: Add multi config support and associated docs
1f6649b7d1 FindJPEG: Add version detection and associated test update and docs
8d07408a62 FindJPEG: Cleanup documentation formatting
e70da3f0f3 FindJPEG: Clean up whitepaces and lowercase function names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1974
2018-04-19 08:26:34 -04:00
Brad King
1a2eb62105 Merge branch 'release-3.11' 2018-04-19 08:25:05 -04:00
Brad King
423de692f9 Merge topic 'InstallRequiredSystemLibraries-mfcm'
bdf660cab5 InstallRequiredSystemLibraries: Check for existence of mfcm dlls

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1980
2018-04-19 08:24:40 -04:00
Brad King
c4a2059eae Merge topic 'depfile-flag'
d67962c55a SunPro,XL: Add depfile flags to support Ninja generator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1969
2018-04-19 08:23:52 -04:00
Brad King
3c6388553a Merge topic 'CheckIncludeFile-required-libs'
a61ae3fb80 CheckIncludeFiles: Honor CMAKE_REQUIRED_LIBRARIES
391a5837ee cmake_policy: Add undocumented PARENT_SCOPE option to GET
3c47ac5b25 OpenWatcom: Add workaround for lack of error on missing library

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1978
2018-04-19 08:23:08 -04:00
Brad King
6c13ddd6cb Merge topic 'doc-synopsis-markup'
909ab169eb Help: Fix command-line synopsis markup syntax

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1981
2018-04-19 08:21:00 -04:00
Brad King
541b53375d Merge topic '17870-effective-system-name'
4597396784 Apple: Use include_guard() within compiler config
e95b3fd9bb Apple: Use CMAKE_EFFECTIVE_SYSTEM_NAME to share compiler info
84f9f63fcc Modules: Introduce CMAKE_EFFECTIVE_SYSTEM_NAME to lookup compiler info
9fa0f2eb56 CMakeFindPackageMode: Perform platform-specific initialization

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1964
2018-04-19 08:20:15 -04:00
Brad King
5650ba1d6a Ninja: Drop unnecessary ident encoding logic for paths
The only uses of `EncodeIdent` are surrounding `EncodePath`, but the
special ident encoding is not needed for path contexts in a ninja build
manifest.
2018-04-19 08:17:39 -04:00
Kitware Robot
67752aece3 CMake Nightly Date Stamp 2018-04-19 00:01:04 -04:00
Yee Fan
7855e4d6b7 FindPython: Add cross-compilation support for Debian-based systems.
Debian-based Linux distributions locate their architecture-specific
pythonX.Y-config tool at /usr/bin/<arch>-python<X.Y>-config.

We first attempt to find and use the architecture-specific
pythonX.Y-config tool. If the pythonX.Y-config tools are absent, then we
proceed to find the architecture-specific Python libraries.

Fixes: #17912
2018-04-19 02:53:46 +08:00
Brad King
c86386caa3 Merge branch 'InstallRequiredSystemLibraries-mfcm' into release-3.11
Merge-request: !1980
2018-04-18 09:19:36 -04:00
Christof Krüger
bdf660cab5 InstallRequiredSystemLibraries: Check for existence of mfcm dlls
Previously, only existence of `mfc${v}.dll` and `mfc${v}d.dll` variants
was checked and it was assumed that the managed variants `mfcm*.dll`
also existed.  This assumption doesn't hold with Visual Studio 2017.
Check each file separately.

Fixes: #17913
2018-04-18 09:18:57 -04:00
Mateusz Loskot
87f2cf3b1c FindJPEG: Add imported target support and full test 2018-04-18 08:59:06 -04:00
Brad King
48b5daaf7c Merge topic 'android-ndk-r17'
da294a039d Android: Add support for NDK r17

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1976
2018-04-18 08:30:00 -04:00
Brad King
909ab169eb Help: Fix command-line synopsis markup syntax
Use `{}` to surround required parts instead of `()`.

Fixes: #17917
2018-04-18 08:28:32 -04:00
Brad King
a61ae3fb80 CheckIncludeFiles: Honor CMAKE_REQUIRED_LIBRARIES
Other check modules honor this variable, so include file checks should
too.  Add policy `CMP0075` to enable the behavior in a compatible way.

This change was originally made by commit v3.11.0-rc1~108^2
(CheckIncludeFiles: Honor CMAKE_REQUIRED_LIBRARIES, 2017-12-24) but it
was reverted by commit v3.11.1~9^2 (Revert "CheckIncludeFiles: Honor
CMAKE_REQUIRED_LIBRARIES", 2018-04-04) because the behavior change could
affect checks in existing projects in an incompatible way.

Fixes: #9514
2018-04-18 08:09:56 -04:00
Brad King
391a5837ee cmake_policy: Add undocumented PARENT_SCOPE option to GET
Policies affecting the behavior of CMake-provided macros and functions
need to be able to get the policy setting as of the call site rather
than the definition site.  Add an undocumented option to do this.
2018-04-18 08:09:56 -04:00
Brad King
3c47ac5b25 OpenWatcom: Add workaround for lack of error on missing library
The OpenWatcom tools do not fail to link when a library is missing if no
symbols were needed from it.  This can break `try_compile` checks.
Teach `cmGlobalGenerator::Build` to pretend that the build tool returned
non-zero if the output contains the corresponding warning.
2018-04-18 08:09:56 -04:00
Gregor Jasny
4597396784 Apple: Use include_guard() within compiler config 2018-04-18 07:41:44 -04:00
Gregor Jasny
e95b3fd9bb Apple: Use CMAKE_EFFECTIVE_SYSTEM_NAME to share compiler info
Apple platforms macOS, iOS, tvOS, and watchOS can all share the same
compiler information.  Rename `Darwin-*` modules to `Apple-*` and load
them all through `CMAKE_EFFECTIVE_SYSTEM_NAME`.  This saves duplication
of 4 * 21 compiler information modules.

Issue: #17870
2018-04-18 07:41:42 -04:00
Gregor Jasny
84f9f63fcc Modules: Introduce CMAKE_EFFECTIVE_SYSTEM_NAME to lookup compiler info
Create a `CMAKE_EFFECTIVE_SYSTEM_NAME` variable to use for looking
up compiler information modules instead of using `CMAKE_SYSTEM_NAME`
directly.  This will allow multiple platforms to share the same set
of compiler information modules without spelling out all of them.

Issue: #17870
2018-04-18 07:41:25 -04:00
Christian Pfeiffer
9260dedfd2 Merge topic 'fix-findmpi-lib-regex'
bab4bc5f32 FindMPI: Fix libname regex to not match the compiler executable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1952
2018-04-18 07:33:07 -04:00
Brad King
9fa0f2eb56 CMakeFindPackageMode: Perform platform-specific initialization
Since commit v3.1.0-rc1~565^2~3 (Add platform-specific initialization
step when enabling languages, 2014-04-29) the main enable-language logic
includes the `CMakeSystemSpecificInitialize` module to perform
platform-specific initialization based on `CMAKE_SYSTEM_NAME`.  This
should be done during `cmake --find-package` mode too.
2018-04-18 07:31:35 -04:00
Kitware Robot
4591cdd72c CMake Nightly Date Stamp 2018-04-18 00:01:05 -04:00