Commit Graph

38817 Commits

Author SHA1 Message Date
Sebastian Holtermann
b11e2c80b1 Autogen: Print moc/uic/rcc output to stdout
The output of moc/uic/rcc used to be discarded unless
the program failed. This lets moc/uic/rcc print their
output to stdout even on success.

Closes #17860
2018-04-03 17:20:30 +02:00
Sebastian Holtermann
1d2c9d8c6d Autogen: Use std::istreambuf_iterator for file so string reading
This adds a dedicated mutex for file reading and writing to
cmQtAutoGenerator::FileSystem. The purpose of the change is
to avoid that long files reads block cmsys based path computations,
which are protected by an other mutex.
2018-04-03 17:20:30 +02:00
Sebastian Holtermann
ccc38fa509 Autogen: Protected calls to cmFilePathChecksum
Closes #17861
Closes #17862
2018-04-03 17:20:30 +02:00
Sebastian Holtermann
719b24c872 Autogen: Protected calls to cmQtAutoGen::SubDirPrefix 2018-04-03 17:20:30 +02:00
Sebastian Holtermann
9a73615815 Autogen: Protected calls to cmSystemTools::GetFilenameWithoutLastExtension 2018-04-03 17:20:30 +02:00
Sebastian Holtermann
65203ce407 Autogen: Protected calls to cmSystemTools::Split/JoinPath 2018-04-03 17:20:30 +02:00
Sebastian Holtermann
14a86c9ea7 Autogen: Protected calls to cmSystemTools::CollapseCombinedPath 2018-04-03 17:20:29 +02:00
Brad King
61fd4c7420 CMake 3.11.0 v3.11.0 2018-03-28 07:26:56 -04:00
Brad King
36881ee416 Merge branch 'ctest_update-memory-problems' into release-3.11
Merge-request: !1893
2018-03-27 08:51:01 -04:00
Brad King
27f033550a ctest_update: Fix crash when handling svn externals
Refactoring in commit v3.9.0-rc1~156^2 (c++: prefer vectors over lists,
2017-05-04) switched `cmCTestSVN::Repositories` from `std::list` to
`std::vector`.  This can cause re-allocation when svn externals are
processed and break the `RootInfo` pointer that is supposed to point at
the first repository element.  Switch back to `std::list` so that the
address remains stable.

Fixes: #17854
2018-03-27 08:46:20 -04:00
Brad King
75e8af3354 cmSystemTools: Fix ParseArguments out-of-bounds read
When checking for a Windows-style leading path, do not read past the
null terminator.

Issue: #17854
2018-03-27 08:46:20 -04:00
Brad King
188c5c2a46 Merge branch 'revert-CTestTestfile-removal-again' into release-3.11
Merge-request: !1887
2018-03-26 07:48:15 -04:00
Brad King
70c50aa23c Revert "Remove CTestTestfile.cmake when BUILD_TESTING is OFF"
Revert commit v3.8.0-rc1~305^2 (Remove CTestTestfile.cmake when BUILD_TESTING
is OFF, 2016-11-14) again.  We reverted it once in commit v3.8.0-rc3~22^2
(Revert "Remove CTestTestfile.cmake when BUILD_TESTING is OFF", 2017-03-06) but
it was accidentally restored by commit v3.11.0-rc1~387^2 (server: add
"ctestInfo" request to get test info, 2017-10-25), perhaps due to conflict
resolution during rebase.

We cannot remove `CTestTestfile.cmake` when testing is off because it breaks
projects that never enable testing but create their own `CTestTestfile.cmake`
manually instead.  Revert the change again and add a test case.
2018-03-26 07:44:22 -04:00
Brad King
218471a35c Merge branch 'boost-1.67' into release-3.11
Merge-request: !1865
2018-03-21 13:36:14 -04:00
Roger Leigh
1673923c30 FindBoost: Add support for Boost 1.67 with Python version suffixes
Fixes: #16612, #16335, #16391, #12955
2018-03-21 13:34:17 -04:00
Brad King
2006e981da Merge branch 'sunpro-5.15' into release-3.11
Merge-request: !1875
2018-03-21 08:53:53 -04:00
Brad King
4267960fc9 Features: Record for SunPro 5.15
Oracle Developer Studio 12.6 adds support for more C++ 11 features.
2018-03-20 11:48:22 -04:00
Brad King
6b9172d759 CMake 3.11.0-rc4 v3.11.0-rc4 2018-03-19 09:25:26 -04:00
Brad King
c78d12fc0d Merge branch 'revert-findqt4-dirs-fix' into release-3.11
Merge-request: !1867
2018-03-19 09:17:09 -04:00
Brad King
cf06962d73 FindQt4: Revert "Set PLUGINS and IMPORTS dir even if empty"
The change in commit v3.11.0-rc1~306^2 (FindQt4: Set PLUGINS and IMPORTS
dir even if empty, 2017-11-19) regressed existing builds on some
machines.  Revert it for CMake 3.11 pending further investigation.

Fixes: #17814, #17817
Issue: #14155, #17492
2018-03-19 09:13:25 -04:00
Brad King
4e9aa80158 Merge branch 'intel-initializer-list' into release-3.11
Merge-request: !1855
2018-03-16 07:53:36 -04:00
Brad King
df27bd3f83 Merge branch 'gtest_discover_tests_timeout' into release-3.11
Merge-request: !1851
2018-03-16 07:52:23 -04:00
Brad King
fc96d99c3e Features: Record initializer list support for Intel 14 and above
Features recorded by commit v3.6.0-rc1~120^2~5 (Features: Record
standards and features for Intel C++ on UNIX, 2016-04-28) for the Intel
compiler left out initializer list support because our test case in
`Tests/CompileFeatures/cxx_generalized_initializers.cpp` caused an
internal compiler error.  It turns out this is because the Intel
compiler asserts the `initializer_list` constructor signatures to verify
that they match its own `<initializer_list>` header.  It was our dummy
implementation used to test the language feature without any headers
that caused the ICE.  Revise it to use a constructor signature accepted
by the Intel compiler.

Fixes: #17829
2018-03-16 07:47:42 -04:00
Craig Scott
96fdde26bb GoogleTest: Rename TIMEOUT parameter to avoid clash
In gtest_discover_tests(), the TIMEOUT keyword was making it
impossible to set the TIMEOUT test property via the PROPERTIES
keyword. This would be a frequent case, but it doesn't complain
and instead silently does something different to what would
normally be expected. The TIMEOUT keyword has been renamed
to DISCOVERY_TIMEOUT, thereby removing the clash.

This is a breaking change. 3.10.1 and 3.10.2 were the only versions
that supported the TIMEOUT keyword and uses of it were likely
not working as intended.

Fixes: #17801
2018-03-15 07:36:42 -04:00
Brad King
298e1bfe28 Merge branch 'xl-cc-default-std' into release-3.11
Merge-request: !1854
2018-03-14 14:08:23 -04:00
Brad King
194b74daec XL: Fix C default level detection when invoked as 'cc'
The IBM XL C compiler does not define `__STDC__` when invoked as plain
`cc` instead of `xlc`, so `CMAKE_C_STANDARD_COMPUTED_DEFAULT` does not
get set and CMake fails.  Teach CMake about the XL compiler's default C
standard in this case.

Fixes: #17649
2018-03-14 14:07:00 -04:00
Brad King
7bbaead87d Merge branch 'findjni-mips-r6-new-arch' into release-3.11
Merge-request: !1853
2018-03-14 11:18:14 -04:00
YunQiang Su
8c92596e96 FindJNI: add some new architecture names for mips release 6 2018-03-14 11:17:19 -04:00
Brad King
a039029e7c Merge branch 'genex-COMPILE_LANGUAGE-system-include' into release-3.11
Merge-request: !1844
2018-03-13 13:40:25 -04:00
Brad King
a54b56a10b Merge branch 'ccmake-stack-smashing' into release-3.11
Merge-request: !1836
2018-03-13 13:40:17 -04:00
Tianhao Chai
7899e53691 ccmake: fix status line buffer overflow on very wide terminals
A mistyped length calculation will memset across stack frame when
the user's terminal width is larger than 270.
2018-03-13 13:38:12 -04:00
Brad King
bab82b0935 Merge branch 'ep-support-passing-var-ending-with-notfound' into release-3.11
Merge-request: !1838
2018-03-12 13:50:45 -04:00
Jean-Christophe Fillion-Robin
7ad981c8f7 ExternalProject: Fix cache generation when last args ends with "-NOTFOUND" 2018-03-12 13:45:50 -04:00
Brad King
1b5e52fd65 Genex: Fix COMPILE_LANGUAGE propagation through try_compile
When evaluating include directories during export to a `try_compile`
test project, thread the compile language through to the generator
expression evaluator so it can support `$<COMPILE_LANGUAGE:...>`.

Issue: #17811
2018-03-12 13:30:14 -04:00
Brad King
2deb9b7f34 Genex: Fix COMPILE_LANGUAGE in SYSTEM include directories
When evaluating `INTERFACE_SYSTEM_INCLUDE_DIRECTORIES`, or evaluating
`INTERFACE_INCLUDE_DIRECTORIES` on an imported target, thread the
compile language through to the generator expression evaluator so
that it can support `$<COMPILE_LANGUAGE:...>`.

Fixes: #17811
2018-03-12 11:45:01 -04:00
Brad King
c6e8442e4c Merge branch 'update-buildsystem-docs' into release-3.11
Merge-request: !1839
2018-03-12 10:25:53 -04:00
Kai Wolf
78756429ab Help: Adapt cmake-buildsystem(7) to new IMPORTED targets features
Since commit v3.11.0-rc1~433^2~2 (Teach target_* commands to set
INTERFACE properties of IMPORTED targets, 2017-09-18) it is now possible
to use the customary `target_*` commands for adjusting the settings of
an IMPORTED target.  Update documentation accordingly.
2018-03-12 10:23:21 -04:00
Brad King
c5541cf0da CMake 3.11.0-rc3 v3.11.0-rc3 2018-03-09 08:33:11 -05:00
Brad King
57f35bba84 Merge branch 'cuda-no-device-link-rsp' into release-3.11
Merge-request: !1831
2018-03-07 10:52:54 -05:00
Brad King
f64732f59b CUDA: Do not pass unsupported @rspfile arguments to NVCC
The nvcc compiler does not support `@<rspfile>` arguments.  It does
offer a `--options-file` argument that can be investigated later.

Fixes: #17797
2018-03-07 10:30:35 -05:00
Brad King
9288abf567 Merge branch 'update-kwsys' into release-3.11
Merge-request: !1830
2018-03-07 07:39:16 -05:00
Brad King
2c5b4359f8 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2018-03-07 (2ad561e7)
2018-03-07 06:48:34 -05:00
KWSys Upstream
64d4308d83 KWSys 2018-03-07 (2ad561e7)
Code extracted from:

    https://gitlab.kitware.com/utils/kwsys.git

at commit 2ad561e78b0d99f083f1213e403d5a8a90e0e134 (master).

Upstream Shortlog
-----------------

Brad King (4):
      6e190d9a Fix include directory usage requirement for build tree
      6d4e9fde SystemInformation: Android has no getifaddrs prior to API 24
      0a0974d0 SystemTools: Restore unconditional caching in GetActualCaseForPath
      a241fd13 SystemTools: Remove caching from public GetActualCaseForPath
2018-03-07 06:48:32 -05:00
Brad King
8070abf784 Merge branch 'autogen-empty-source-file-fix' into release-3.11
Merge-request: !1825
2018-03-06 08:45:29 -05:00
Sebastian Holtermann
50b7be6d1f Autogen: Check if a file is empty before reading it
Calling `std::string::front()` on an empty string results
in an undefined behavior by the C++ standard.
In gcc8 it causes an assertion to fail.

This adds a check to `AUTOGEN` if a file to read is empty
and in case avoids the use of an empty `std::string` buffer.

Closes #17793
2018-03-06 08:35:08 -05:00
Brad King
566f8fa2f3 Merge branch 'xl-new-compiler-macros' into release-3.11
Merge-request: !1820
2018-03-06 08:23:08 -05:00
Brad King
eb1a9be4b6 XL: Recognize compilers identified by __ibmxl__
IBM XL C/C++ for Linux versions 13.1.6 and above no longer define
`__IBMC__` or `__IBMCPP__` by default (see `-qxlcompatmacros`).
Instead `__ibmxl__` now identifies the compiler along with some
related new version macros.

Fixes: #17784
2018-03-06 07:43:04 -05:00
Brad King
ac925ec09e CMake 3.11.0-rc2 v3.11.0-rc2 2018-02-27 09:34:35 -05:00
Brad King
e708dac65f Merge branch 'modules-restore-path-suffixes' into release-3.11
Merge-request: !1802
2018-02-26 10:53:16 -05:00
Brad King
7b1c14241d Modules: Restore recently removed search path suffixes
Refactoring in commit v3.11.0-rc1~293^2~4 (Modules: Remove paths set as
global Unix prefixes, 2017-11-20) removed `PATH_SUFFIXES` options that
appeared to be used to cover subdirectories of the `PATHS` options that
were also removed.  However, the path suffixes also apply to other
search paths and so should not be removed.  Restore them.

Fixes: #17760
2018-02-26 10:52:11 -05:00