Commit Graph
47352 Commits
Author SHA1 Message Date
Chuck Atkins 5c58a7e4d2 ppc64: Work around TOC overflow with platform specific linker flags 2019-02-27 13:00:00 -06:00
NeroBurner c29a1d58d9 Help: Link from install(TARGET) to EXPORT_NAME to rename exported target 2019-02-27 11:53:02 -05:00
NeroBurner dac7e8b833 Help: Link from EXPORT_NAME to relevant export commands 2019-02-27 17:44:00 +01:00
Brad King 18731d60ac Merge branch 'backport-check-std-size-cbegin-cend' into release-3.14
Merge-request: !3030
2019-02-27 11:32:31 -05:00
Brad King e6195989c7 Merge branch 'backport-check-std-size-cbegin-cend' 2019-02-27 11:27:31 -05:00
Mathieu Garaud a605bf438e Extend C++17/C++14 feature checks to cover more standard library APIs
Make sure `std::cbegin`, `std::cend`, and `std::size` work in C++17 or
C++14 mode before choosing the corresponding standard level for
compiling CMake itself.  This helps in cases that the compiler is using
a standard library too old to support the full standard level chosen.
2019-02-27 11:27:17 -05:00
Mathieu Garaud e17deb7ad4 Extend C++17/C++14 feature checks to cover more standard library APIs
Make sure `std::cbegin`, `std::cend`, and `std::size` work in C++17 or
C++14 mode before choosing the corresponding standard level for
compiling CMake itself.  This helps in cases that the compiler is using
a standard library too old to support the full standard level chosen.
2019-02-27 11:24:43 -05:00
Kyle Edwards 258298f597 Help: Clarify ordering of list(REMOVE_DUPLICATES)
This also adds a test to enforce the order behavior of
list(REMOVE_DUPLICATES).
2019-02-27 11:22:57 -05:00
Brad King e0d7078f6f Merge branch 'FindThreads-revert-libc-check' into release-3.14
Merge-request: !3022
2019-02-27 09:04:11 -05:00
Zsolt Parragi 1a281a1acd RC: Pass output file in a way that llvm-rc 7 and below understand
Prior to LLVM 8.0, `llvm-rc` does not recognize `/fo` without a space
after it.  Add the space unconditionally because MS `rc` accepts it too.

Issue: #18957
2019-02-27 08:39:02 -05:00
Zsolt Parragi fa339ced67 CMakeVersion.rc: Avoid preprocessor definitions to support llvm-rc
`llvm-rc` does not support them as of version 8.
2019-02-27 08:31:46 -05:00
Brad King b13a8441cd Merge topic 'ninja-dyndep-lang-aware'
f22c18b1c1 ninja: name dyndep internal files using the object file
7c78adca8e cmNinjaTargetGenerator: remove "preprocessed" mentions in dyndep
933dd91642 ninja: do not assume explicit preprocessing uses that output
2c0a7bc770 ninja: pass language to cmake_ninja_depends
72f9bb2993 ninja: make dyndep generation language aware
2dd0cb7aeb Help: note that Ninja also uses OBJECT_OUTPUTS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2997
2019-02-27 08:21:32 -05:00
Brad King 07421e6785 Merge topic 'autogen_variable_names'
63191b169e Autogen: Use more readable variable names for static const AUTO* strings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3026
2019-02-27 08:20:42 -05:00
Brad King 23bcac5d58 Merge topic 'ctest-clean-compress'
b5a69c6279 cmcompress: Delete unused 3rdParty module

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3019
2019-02-27 08:20:03 -05:00
Brad King c3ce9cfe15 Merge branch 'release-3.14' 2019-02-27 08:19:05 -05:00
Brad King 557d4b5882 Merge topic 'cmake_role-vs-fix'
e795be115e Merge branch 'master' into cmake_role-vs-fix
4b95e7fe63 CMAKE_ROLE: Fix value in --build for Visual Studio generators

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3028
2019-02-27 08:09:42 -05:00
Brad King f369d59cdd Merge branch 'cmake_role-vs-fix' into release-3.14
Merge-request: !3028
2019-02-27 08:05:55 -05:00
Brad King c2c7b9605c Merge branch 'docs-rpath-origin-apple' into release-3.14
Merge-request: !3020
2019-02-27 07:59:19 -05:00
Brad King 8c3172e7c2 Merge topic 'docs-rpath-origin-apple'
bf10f02441 Help: Fix minor inaccuracies of what BUILD_RPATH_USE_ORIGIN affects

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3020
2019-02-27 07:59:17 -05:00
Brad King e994e1f9cd Merge branch 'FindOctave-remove' into release-3.14
Merge-request: !3027
2019-02-27 07:57:03 -05:00
Brad King ec033b5b80 Merge topic 'FindOctave-remove'
7a1f3fe041 FindOctave: Remove module pending further work

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3027
2019-02-27 07:57:01 -05:00
Brad King 624ce2c8be Merge branch 'include_external_msproject-exclude-from-all' into release-3.14
Merge-request: !3025
2019-02-27 07:56:11 -05:00
Brad King 9b075d9032 Merge topic 'include_external_msproject-exclude-from-all'
3106cf4e3d include_external_msproject: Restore support for EXCLUDE_FROM_ALL

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3025
2019-02-27 07:56:00 -05:00
Brad King 5833739c4a Merge branch 'vs-llvm-extension' into release-3.14
Merge-request: !3024
2019-02-27 07:55:28 -05:00
Brad King 72a6306454 Merge topic 'vs-llvm-extension'
8375c303e2 VS: Fix detection of clang-cl with -T llvm

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3024
2019-02-27 07:55:13 -05:00
Brad King 4570b5ae91 Merge branch 'restore-min-cmake-3.1' into release-3.14
Merge-request: !3021
2019-02-27 07:54:49 -05:00
Brad King 2645839a83 Merge topic 'restore-min-cmake-3.1'
a0d4430d66 Tests: Restore support for CMake 3.1 through 3.6 with MSVC

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3021
2019-02-27 07:54:25 -05:00
Brad King 18320230ec FindThreads: Revert libc symbol check to pthread_create
Since commit e9a1ddc594 (FindThreads: Replace the pthread symbol
checking in libc., 2018-11-18, v3.14.0-rc1~292^2) we check libc for
`pthread_kill` instead of `pthread_create`.  However, on FreeBSD
`pthread_kill` is in libc but not `pthread_create`.  Discussion in the
original merge request for the above commit also considered
`pthread_key_create`, `pthread_self`, and `pthread_attr_init`.  Every
symbol seems to have some reason it is not an appropriate choice.

Revert to the pre-3.14 behavior of using `pthread_create` pending
further investigation.
2019-02-27 07:33:31 -05:00
Sebastian Holtermann a490ea4a28 cmGeneratorExpressionNode: Initialize node key map in class constructor
By initializing the node map in the class constructor of the static instance
we avoid an if-empty check.
2019-02-27 13:25:22 +01:00
Sylvain Joubert f20eab9cdc ProcessorCount: Return the container CPU count instead of the host count
On Linux containers (tested with LXC and Docker) getconf returns the
host CPU count.
Use nproc with a higher priority if available to get the container's
allocated CPUs instead of the non-accessible host count.
2019-02-27 13:04:07 +01:00
Craig Scott bf10f02441 Help: Fix minor inaccuracies of what BUILD_RPATH_USE_ORIGIN affects 2019-02-27 21:07:36 +11:00
Kitware Robot b3191a0f57 CMake Nightly Date Stamp 2019-02-27 00:01:09 -05:00
Kyle Edwards e795be115e Merge branch 'master' into cmake_role-vs-fix 2019-02-26 17:28:04 -05:00
Artur Ryt 9636b03cca cmFileCommand: Refactor HandleCMakePathCommand
Make use of cmJoin and fresh cmRange::transform
to reduce function complexity.
Move conversion logic to named functions.
2019-02-26 21:39:10 +01:00
Kyle Edwards 4b95e7fe63 CMAKE_ROLE: Fix value in --build for Visual Studio generators
Fixes: #18990
2019-02-26 14:52:17 -05:00
Zsolt Parragi c7213ca870 Features: Do not use a lower-than-default standard for requested features
`AddRequiredTargetC(xx)` feature didn't take the default compiler
standard into account, which possibly resulted in the use of an older
standard when some features requested it.

Fixes: #18686
2019-02-26 14:35:55 -05:00
Brad King 7a1f3fe041 FindOctave: Remove module pending further work
The `FindOctave` module added by commit 170bcb6fdc (FindOctave: Add
module to find GNU octave, 2018-11-17, v3.14.0-rc1~283^2) has a few
problems in its implementation that need to be worked out before the
module can be included in a CMake release.  These were missed during
review.  Remove the module for now.  It can be restored later with a
fresh review.

Issue: #18991
2019-02-26 14:12:34 -05:00
Sebastian Holtermann 63191b169e Autogen: Use more readable variable names for static const AUTO* strings 2019-02-26 19:33:26 +01:00
Brad King 78ff8d5737 Merge topic 'cpack-rpm++'
d3ffe90598 CPackRPM: Fix packaging in folders with ++ in name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3008
2019-02-26 11:11:56 -05:00
Brad King 2621efac19 Merge topic 'vs-wince-no-deploy'
917c035ada VS: support suppressing deployment of selected targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2991
2019-02-26 11:10:08 -05:00
Brad King 28a296b6c4 Merge topic 'update-kwsys'
f6eebee194 Merge branch 'upstream-KWSys' into update-kwsys
11fe7c9063 KWSys 2019-02-25 (833b2470)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3018
2019-02-26 11:08:43 -05:00
Brad King 3c7662fd62 Merge topic 'add-xlclang'
d9d285c5ad jsoncpp: Fix include order for build within CMake
0d489fab19 libuv: fix atomic ops compilation with xlclang
1699f5c231 Utilities: Suppress warnings in third-party code when using XLClang
f709089d84 XLClang: Extract compiler implicit include directories
5c41386357 XLClang: Add policy CMP0089 to present as XL for compatibility
8278237933 XL: Remove overlap with the new XLClang compiler ID
6f5cf2d2c6 XL: Revert "Recognize compilers identified by __ibmxl__"
90c6156aa8 XLClang: Add a new compiler ID for the clang-based XL compiler
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2921
2019-02-26 11:07:54 -05:00
Brad King 5ac1c809f7 Merge topic 'autogen_headers_at_configure_time'
747463d1b3 Autogen: Move additional source header search to configuration stage
16c687825d Autogen: Refactor file lists computation
2d29166758 Autogen: Use cm::make_unique to allocate jobs
8182c21d2d Autogen: Use std::unordered_set instead of std::set for skip lists
84819c79e7 Autogen: Refactor cmQtAutoGenInitializer::AddGeneratedSource method
d9893fb594 Autogen: Refactor Qt executable name computation
5e36209f71 Autogen: Rename cmQtAutoGen::GeneratorT enum to cmQtAutoGen::GenT
14ae19c327 Autogen: cmQtAutoGen: Store generator names in class static const strings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3001
2019-02-26 11:06:10 -05:00
Brad King c24392eec1 Merge branch 'release-3.14' 2019-02-26 10:45:35 -05:00
Brad King 406e6efb39 Merge topic 'doc-ctest-build-and-test-summary'
02ba5d57df Help: Fix --build-and-test synopsis in ctest(1)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Bartosz <gang65@poczta.onet.pl>
Merge-request: !3017
2019-02-26 10:43:25 -05:00
Brad King 30fc5ecf23 Merge topic 'qcc-asm-detection'
be87ce43f0 Add ASM Compiler detection for QCC

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Bartosz <gang65@poczta.onet.pl>
Merge-request: !3016
2019-02-26 10:42:31 -05:00
Brad King 3106cf4e3d include_external_msproject: Restore support for EXCLUDE_FROM_ALL
In commit dc6888573d (Pass EXCLUDE_FROM_ALL from directory to targets,
2019-01-15, v3.14.0-rc1~83^2) all `AddNewTarget` call sites were updated
to copy the directory-level `EXCLUDE_FROM_ALL` into the target property
of the same name, except that the one for `include_external_msproject`
was incorrectly missed.  Add it now.

Furthermore, refactoring in commit b99129d2d8 (ENH: some code cleanup,
2007-03-12, v2.6.0~2020) accidentally set the `EXCLUDE_FROM_ALL` target
property of `include_external_msproject`-generated targets to `FALSE`
instead of simply leaving it unset.  This was not necessary but had no
effect until the above commit gave it a meaning.  Drop that.

Fixes: #18986
2019-02-26 10:20:01 -05:00
Brad King 8375c303e2 VS: Fix detection of clang-cl with -T llvm
When using a VS generator with `-T llvm`, MSBuild relies on the "LLVM
Compiler Toolchain" VS Extension.  This does not put `clang-cl` in the
`PATH` inside the build, and LLVM no longer provides a `cl` replacement
either.  Therefore we need another way to extract the path to the
`CMAKE_{C,CXX}_COMPILER`.  Fortunately the LLVM VS integration provides
a `$(ClangClExecutable)` macro we can reference to get the path.

Fixes: #18983
2019-02-26 09:58:51 -05:00
Brad King e0267eb1d3 FindThreads: Fix libc check to use proper header for pthread_kill
In commit e9a1ddc594 (FindThreads: Replace the pthread symbol checking
in libc., 2018-11-18, v3.14.0-rc1~292^2) we switched to checking for
`pthread_kill` in libc but did not update the symbol check's header file
to match.  Add `signal.h` to get `pthread_kill`.  Keep `pthread.h`
anyway since the purpose of the check is to verify that the pthread API
works.

Fixes: #18984
2019-02-26 07:51:52 -05:00
Brad King 8455e166a9 Merge branch 'doc-ctest-build-and-test-summary' into release-3.14
Merge-request: !3017
2019-02-26 07:39:11 -05:00