Commit Graph

39924 Commits

Author SHA1 Message Date
Brad King 3c0bfb596f libuv: do not require PATH_MAX to be defined
Some platforms (e.g. GNU/Hurd) do not define PATH_MAX.  Add a few other
variants and a fallback constant.  Also use alternatives where possible:

* For readlink(), use lstat() to read the length of the link first.
  If it is not a symlink, report EINVAL before trying to allocate.
  If the size reports as zero, fall back one of the PATH_MAX variants.

* For realpath(), POSIX 2008 allows us to pass a NULL buffer
  to tell it to malloc() internally.

This patch was inspired by downstream patches in Debian packaging
for issues 897061 and 909011.

Issue: #18337
2018-10-01 08:22:38 -04:00
Brad King f478fa633d CMake 3.12.2 v3.12.2 2018-09-07 06:40:49 -04:00
Brad King 3dd926f4a8 Merge branch 'FindMatlab-no-CMAKE_CL_64' into release-3.12
Merge-request: !2354
2018-09-05 15:20:03 -04:00
Raffi Enficiaud bfe883af60 FindMatlab: Remove erroneous duplicate code
This was left accidentally when resolving merge conflicts between
previous changes.

Fixes: #18221
2018-09-05 15:19:50 -04:00
Brad King 925b95fbad Merge branch 'vs-CMakeLists.txt' into release-3.12
Merge-request: !2349
2018-09-05 14:33:06 -04:00
Brad King 0b82e68f2f VS: Restore CMakeLists.txt references in each target
The custom command de-duplication added by commit v3.12.0-rc1~171^2 (VS:
Generate a custom command only in the least dependent target,
2018-03-23) accidentally also applied to the `CMakeLists.txt` file
reference we put in each target.  This file reference comes with a
custom command that has no dependencies and that is safe to run
repeatedly across multiple targets (via internal stamp checking).
Therefore it should be excluded from the de-duplication so that
`CMakeLists.txt` references appear in all targets for human reference.

Fixes: #18310
2018-09-05 14:32:45 -04:00
Brad King 6be7097dbe Merge branch 'FindBoost-old-context' into release-3.12
Merge-request: !2348
2018-09-04 12:43:12 -04:00
Igor Kostenko 9a800c12fc FindBoost: Fix context discovery for 1.60 and below
* `all.hpp` was removed in 1.68:
  https://github.com/boostorg/context/commit/2e37599461912cc1679f106a25456a493f7f0b27
* `fcontext.hpp` was moved to detail in 1.61:
  https://github.com/boostorg/context/commit/c2f0dfdf2608c1ebaa2229fa6f358fe6aa103561

Fixes: #18126
2018-09-04 12:41:36 -04:00
Brad King 80bb9214dd Merge branch 'CheckIPOSupported-output-backslashes' into release-3.12
Merge-request: !2331
2018-08-30 11:53:40 -04:00
Brad King 4e1ea02bb8 CheckIPOSupported: Tolerate backslashes in output of failed checks
Avoid passing the output of our `try_compile` through a macro argument.
Macro invocations re-parse their arguments and so should not be given
arbitrary content that may contain backslashes and such.

Instead pass a simple message.  This is also more readable in the case
that the macro generates a message itself.  After the macro returns,
report the real output directly to the variable named by our caller.
Also record the output in a log file as other checks do on failure.

Fixes: #18244
2018-08-30 11:46:19 -04:00
Brad King b7dbb25a0a CheckIPOSupported: Simplify result reporting logic
Simplify the test for whether a `RESULT` argument was given to the
`check_ipo_supported` call.  Also do not set an empty variable name
if `OUTPUT` was not given.
2018-08-30 11:45:13 -04:00
Brad King 0e764082fe Merge branch 'android-ndk-r18' into release-3.12
Merge-request: !2319
2018-08-28 09:44:03 -04:00
Brad King ca97d4cb5f Android: Add support for NDK r18
NDK r18 drops GCC toolchains and some STL types.  We need to choose a
clang toolchain by default when no gcc toolchains are available.  Switch
the STL type default to `c++_static` when the old `gnustl_static`
default is not available.

Update the test suite to not run tests for STL types that do not exist.
Also do not expect the gcc toolchain `cpp` tool to be available because
r18 does not provide it.  Also teach it to tolerate `gcc -dumpmachine`
output like `arm--linux-android` that differs from the toolchain prefix.

Fixes: #18301
2018-08-28 09:27:26 -04:00
Brad King fef24e72a9 Merge branch 'doc-clang-tidy-typo' into release-3.12
Merge-request: !2303
2018-08-24 13:39:06 -04:00
David Demelier 85432f4898 Help: Fix typo in clang-tidy example -checks option 2018-08-24 13:37:24 -04:00
Brad King d515112906 Merge branch 'FindCUDA-deprecate-cublas_device' into release-3.12
Merge-request: !2298
2018-08-23 14:51:47 -04:00
Brad King a173118f8c Merge branch 'cuda-no-cublas_device' into release-3.12
Merge-request: !2296
2018-08-23 14:51:33 -04:00
Kenta Kubo bdf1f36135 FindCUDA: Do not find cublas_device on CUDA >= 9.2
The `cublas_device` has been deprecated and will be removed in
future versions of CUDA.

Issue: #18290
2018-08-23 14:49:46 -04:00
Robert Maynard 122c79748c CUDA: Avoid using deprecated cublas_device to identify device lib dirs
Use `curand_static` to identify directories containing device libraries
because `cublas_device` is deprecated and will be removed in the future.

Issue: #18290
2018-08-23 14:43:31 -04:00
Brad King 8a3cba5257 Merge branch 'state-reset-glob' into release-3.12
Merge-request: !2278
2018-08-23 14:17:31 -04:00
Craig Scott 7e919ace31 Merge branch 'export-properties-undefined' into release-3.12
Merge-request: !2294
2018-08-18 10:54:47 +10:00
Craig Scott dbd3e2c53d EXPORT_PROPERTIES: Prevent null dereference for undefined property
Fixes: #18260
2018-08-16 22:22:13 +10:00
Craig Scott b88bf6796e EXPORT_PROPERTIES: Add test for an undefined property
The added test verifies that a property listed in EXPORT_PROPERTIES
can be undefined. It confirms the crash recorded in issue #18260.
2018-08-16 22:21:25 +10:00
Shane Parris 6f3b9e8b95 cmState: Clear GlobVerificationManager state on Reset
It should not persist across multiple configure rounds.

Fixes: #18208
2018-08-09 13:03:50 -04:00
Brad King c4ab098097 CMake 3.12.1 v3.12.1 2018-08-09 08:06:18 -04:00
Brad King c7769867d6 Merge branch 'cuda-arch-version' into release-3.12
Merge-request: !2251
2018-08-01 13:47:56 -04:00
Brad King 37ba34c0b0 FindCUDA/select_compute_arch: Restore two-component CUDA_VERSION
Since commit v3.12.0-rc1~332^2 (FindCUDA/select_compute_arch: Add
support for CUDA as a language, 2018-03-15) this module sets
`CUDA_VERSION` based on `CMAKE_CUDA_COMPILER_VERSION` when the language
is enabled.  Limit it to two components for consistency with the
normal `FindCUDA` documentation and behavior.

Fixes: #18231
2018-08-01 13:42:13 -04:00
Brad King 3bab41f8f2 Merge branch 'UseSWIG-legacy-user-flags' into release-3.12
Merge-request: !2245
2018-07-31 14:01:14 -04:00
Marc Chevrier 2f88c177d0 UseSWIG: restore legacy behavior for SWIG_MODULE_<name>_EXTRA_FLAGS
Fixes: #18226
2018-07-31 19:33:35 +02:00
Craig Scott 2af5307317 Merge branch 'cpack-default-package-version-zero' into release-3.12
Merge-request: !2239
2018-07-29 19:44:24 +10:00
Brad King ed015bde2b CPack: Restore support for 0-valued version components
In commit v3.12.0-rc1~136^2 (CPack: Use project version as default for
`CPACK_PACKAGE_VERSION`, 2018-04-29) we did not account for the value of
`CMAKE_PROJECT_VERSION_{MAJOR,MINOR,PATCH}` having `0`.  Fix the logic
to distinguish between unprovided version components and `0` components.

While at it, add a test case covering the behavior described in the
documentation by the original commit.  The number of version components
in the package name should match those provided to the `project()`
command `VERSION` option.

Fixes: #18199
2018-07-27 10:01:29 -04:00
Brad King 8442d9fc3f Merge branch 'googletest_policy_settings' into release-3.12
Merge-request: !2237
2018-07-25 10:42:14 -04:00
Craig Scott 5041298893 Merge branch 'project-injected-no-cmp0048' into release-3.12 2018-07-25 22:24:29 +10:00
Craig Scott 7ddc2a110c GoogleTest: Ensure policy settings allow use of IN_LIST
If policy settings at the time the GoogleTest module is included are
such that CMP0057 is unset or set to OLD, the use of IN_LIST with
if() will lead to an error. Therefore, explicitly specify the policy
settings for the whole file to ensure the function implementations
have access to the required CMake features.

Fixes: #18198
2018-07-25 21:30:51 +10:00
Brad King 6646771b0f project: Do not issue CMP0048 warnings on injected call
Fixes: #18202
2018-07-24 13:14:10 -04:00
Brad King 08eb157c03 Tests: Add case showing CMP0048 warning on injected project command
Issue: #18202
2018-07-24 13:14:09 -04:00
Brad King b5061e02f8 Merge branch 'FindPython-fix-multiple-calls' into release-3.12
Merge-request: !2228
2018-07-23 11:08:40 -04:00
Marc Chevrier 50921cc04e FindPython*: fix erroneous behavior on multiple 'find_package' calls
Fixes: #18192
2018-07-23 11:08:16 -04:00
Brad King f478176236 Merge branch 'doc-find_package-root' into release-3.12
Merge-request: !2225
2018-07-20 09:45:04 -04:00
Brad King 492ade276b Help: Add explicit <PackageName>_ROOT variable documentation
Add documentation for both the CMake variable and environment variable
of this name pattern.  Update references to these names to link to their
documents.  Clarify the pattern used to construct their names.
2018-07-20 09:43:08 -04:00
Brad King 8cefa2cba4 Merge branch 'tcl-8.7' into release-3.12
Merge-request: !2223
2018-07-18 13:10:12 -04:00
Dima Panov bec3be11b9 FindTCL: Add support for version 8.7
Fixes: #18186
2018-07-18 13:08:34 -04:00
Brad King 4436be337d Merge branch 'UseSWIG-csharp-conditional' into release-3.12
Merge-request: !2219
2018-07-18 09:03:50 -04:00
Brad King 59af434946 Merge branch 'csharp-compiler-loaded' into release-3.12
Merge-request: !2220
2018-07-18 09:03:37 -04:00
Brad King ed289e0577 UseSWIG: Use CSharp language only if it is enabled
In commit v3.12.0-rc1~2^2 (UseSWIG: Add CSHARP variant for wrapper
files, 2018-06-08) we explicitly marked swig-generated `.cs` files as
`LANGUAGE` CSharp so that the resulting sources can be compiled.
However, this works only when the CSharp language has been enabled.

Fixes: #18184
2018-07-18 08:53:32 -04:00
Brad King c3ea50ede1 CSharp: Set CMAKE_CSharp_COMPILER_LOADED variable when language is enabled
We already do this for C, CXX, Fortran, etc.
2018-07-18 08:53:32 -04:00
Brad King f84c15ef2f CMake 3.12.0 v3.12.0 2018-07-17 07:18:36 -04:00
Brad King d240bb9a41 Merge branch 'doc-add_library-IMPORTED_OBJECTS' into release-3.12
Merge-request: !2216
2018-07-16 08:19:35 -04:00
Brad King 62b4df1e84 Help: Mention IMPORTED_OBJECTS in add_library docs
The `IMPORTED_OBJECTS` is to object libraries as `IMPORTED_LOCATION`
is to normal libraries.

Fixes: #18176
2018-07-16 08:17:51 -04:00
Brad King e109dc0b2a Merge branch 'intel-std-fix' into release-3.12
Merge-request: !2206
2018-07-12 09:36:30 -04:00