Commit Graph

29346 Commits

Author SHA1 Message Date
Brad King 9a27e803d4 Merge topic 'osx-archs-apple-only'
70ce1ad64a PCH: Avoid Apple-specific architecture flags on other platforms

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5118
2020-08-11 08:54:15 -04:00
Kitware Robot bb1b37ea3b CMake Nightly Date Stamp 2020-08-11 00:01:27 -04:00
Brad King 70ce1ad64a PCH: Avoid Apple-specific architecture flags on other platforms
Since commit f593b354da (PCH: Add support for multi architecture iOS
projects, 2020-04-02, v3.18.0-rc1~414^2) the `OSX_ARCHITECTURES` target
property (and corresponding `CMAKE_OSX_ARCHITECTURES` variable) affects
flags on non-Apple platforms by accident.  Add a missing condition to
avoid this.

Fixes: #21072
2020-08-10 13:29:29 -04:00
Brad King d6ee9b4a43 Merge topic 'build-interface-targets'
bafa9fe887 fileapi: Add INTERFACE libraries with SOURCES to codemodel-v2
4391913133 Add INTERFACE libraries to generated buildsystem if they have SOURCES
afb998704e Remove filtering of allowed INTERFACE library properties
e7edba2baf Makefiles: Use IsInBuildSystem in global generator target type checks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5078
2020-08-10 11:38:59 -04:00
Brad King 0953c0051e Merge topic 'clang-cl-vfs'
20ebaed972 Clang: Add support for passing VFS arguments
d993ebd4ca clang-cl: Add '--' before source file
a94672b919 cmake: Change cmake_llvm_rc separator from -- to ++ to avoid conflict

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5087
2020-08-10 11:33:19 -04:00
Brad King c65f6a524e Merge topic 'ninja-msvc-deps-prefix'
37a279f8d1 Ninja: Write msvc_deps_prefix as UTF-8 when console codepage is UTF-8
67599c7ada cmGeneratedFileStream: Add WriteRaw method

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5089
2020-08-10 11:29:36 -04:00
Kitware Robot 514292ab0f CMake Nightly Date Stamp 2020-08-10 00:01:10 -04:00
Kitware Robot 5170263c3f CMake Nightly Date Stamp 2020-08-09 00:01:08 -04:00
Kitware Robot f51e930365 CMake Nightly Date Stamp 2020-08-08 00:01:10 -04:00
Thomas Bernard 20ebaed972 Clang: Add support for passing VFS arguments 2020-08-07 11:52:45 -04:00
Thomas Bernard a94672b919 cmake: Change cmake_llvm_rc separator from -- to ++ to avoid conflict 2020-08-07 11:47:15 -04:00
Brad King d8f7a05b37 Merge topic 'cygwin-patches'
ecc1961768 FindTclsh: Drop Cygwin-specific behavior and use POSIX code path
af666acdf4 FindOpenGL: Drop Cygwin-specific behavior and use POSIX code path
8edbc59e46 install: Use case-sensitive pattern matching on Cygwin
24482499ea FindPerlLibs: Add versioned perl library name for Cygwin

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5092
2020-08-07 11:05:39 -04:00
Brad King ac44121027 Merge topic 'cuda_memcheck_more_errors'
d7a2cf681b Tests: Add cases for cuda-memcheck error types
562dcec3c4 CTest: Add error types to cuda-memcheck parser

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5101
2020-08-07 11:04:08 -04:00
Brad King e80840da14 Merge topic 'cmFileCommand-typo'
5dd710286f Correct a typo in cmFileCommand.cxx

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5106
2020-08-07 11:03:15 -04:00
Brad King bafa9fe887 fileapi: Add INTERFACE libraries with SOURCES to codemodel-v2
INTERFACE libraries with SOURCES now appear in the generated
buildsystem, so include them in the codemodel output too.

We do not need to bump the `codemodel-v2` object kind minor
version because that was already done in post-3.18 development
by commit 7d6861f367 (fileapi: Extend codemodel targets with
language standard, 2020-06-18).

Fixes: #18608
2020-08-07 08:46:34 -04:00
Brad King 4391913133 Add INTERFACE libraries to generated buildsystem if they have SOURCES
INTERFACE libraries were created with the intention of collecting usage
requirements for use by other targets via `target_link_libraries`.
Therefore they were not allowed to have SOURCES and were not included in
the generated buildsystem.  In practice, this has become limiting:

* Header-only libraries do have sources, they just do not compile.
  Developers should be able to edit those sources (the header files)
  in their IDE.

* Header-only libraries may need to generate some of their header
  files via custom commands.

Some projects work around these limitations by pairing each interface
library with an `add_custom_target` that makes the header files and
custom commands appear in the generated buildsystem and in IDEs.

Lift such limitations by allowing INTERFACE libraries to have SOURCES.
For those with sources, add a corresponding build target to the
generated buildsystem.

Fixes: #19145
2020-08-07 08:46:32 -04:00
Ben McMorran 37a279f8d1 Ninja: Write msvc_deps_prefix as UTF-8 when console codepage is UTF-8 2020-08-06 23:36:03 -07:00
Kitware Robot ac4e9e10db CMake Nightly Date Stamp 2020-08-07 00:01:37 -04:00
Lemures Lemniscati 8edbc59e46 install: Use case-sensitive pattern matching on Cygwin
Based on downstream patch from Cygwin package for CMake by Marco Atzeri:

* https://github.com/matzeri/cygwin-pkg/blob/64864eb8f0d635ea44226e4b9a41a7ca59a1c7dd/cmake/3.17.3-case-sensitivity.patch
2020-08-06 12:36:38 -04:00
Brad King 4daf76e10a Merge topic 'compiler_flags'
f76c20da63 Toolchain: Test compiler initial settings
db486da265 Toolchain: Update documentation for initial compiler flags
deec2f587c Toolchain: Take CMAKE_<lang>_FLAGS_INIT into account during compiler detection
ca899af3e2 Toolchain: Handle repeated invocations of CMake with -DCMAKE_C_COMPILER
12ba89e142 Toolchain: Make `/path/comp;-argn' behave the same as 'comp;-argn'
6f1af899db Toolchain: Capture all arguments from CMAKE_<LANG>_COMPILER
ec1d3bc0b6 cmake: avoid exception when printing "changed variables" message

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4136
2020-08-06 11:00:12 -04:00
Brad King 5c56aaa284 Merge topic 'update-kwsys'
05e3abafa5 Merge branch 'upstream-KWSys' into update-kwsys
82fd685043 KWSys 2020-08-05 (185dd56e)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5104
2020-08-06 10:51:59 -04:00
Brad King c1297edab6 Merge topic 'cmake-find-package-mode-help'
c0e4a0bd82 cmake: Update --help output to discourage use of --find-package mode

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Michael Hirsch, Ph.D. <michael@scivision.dev>
Merge-request: !5099
2020-08-06 10:51:04 -04:00
Brad King b1892fb98c Merge topic 'FixTooManyOpenFiles'
57f250dcc0 Graphviz: Fix issue with too many open file streams on Windows platform

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5088
2020-08-06 10:45:35 -04:00
Brad King 89e5f95c2b Merge topic 'reuse_pch_no_delay'
ef97fbe6c2 PCH: Avoid unnecessary 30s delay on MSBuild Generator with REUSE_FROM

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5102
2020-08-06 10:39:47 -04:00
Brad King 030aa9dc30 Merge topic 'automoc_timestamp_deps'
9a9ed4b9d3 Merge branch 'backport-3.17-automoc_timestamp_deps'
7445c9a58a AutoGen: Add test to check for correct AutoMoc dependencies
a79056bb02 AutoGen: Fix over-specified direct dependencies of custom command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Aleix <aleixpol@kde.org>
Merge-request: !5085
2020-08-06 10:31:23 -04:00
Brad King 06427db62c Merge topic 'ninja-multi-rsp-remove-path'
cdb50af2f6 Ninja: Restore shorter path to response files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: alcroito <alexandru.croitor@qt.io>
Merge-request: !5094
2020-08-06 10:28:27 -04:00
Felix Yan 5dd710286f Correct a typo in cmFileCommand.cxx 2020-08-06 10:25:51 -04:00
Kitware Robot 9d03b623e7 CMake Nightly Date Stamp 2020-08-06 00:01:13 -04:00
Brad King 05e3abafa5 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2020-08-05 (185dd56e)
2020-08-05 16:29:07 -04:00
Cristian Adam ef97fbe6c2 PCH: Avoid unnecessary 30s delay on MSBuild Generator with REUSE_FROM
Fix logic added by commit 1f791eb160 (Multi-Ninja: Fix reusable PCHs for
MSVC, 2020-05-24, v3.18.0-rc1~72^2) to avoid an unnecessary delay.

Fixes: #21054
2020-08-05 15:52:05 -04:00
Brad King 9a9ed4b9d3 Merge branch 'backport-3.17-automoc_timestamp_deps' 2020-08-05 15:42:39 -04:00
Tobias Ribizel 562dcec3c4 CTest: Add error types to cuda-memcheck parser 2020-08-05 10:51:44 +02:00
Kitware Robot b26c35620c CMake Nightly Date Stamp 2020-08-05 00:01:09 -04:00
Brad King c0e4a0bd82 cmake: Update --help output to discourage use of --find-package mode
Fixes: #21056
2020-08-04 12:02:54 -04:00
Kitware Robot 5becf28f92 CMake Nightly Date Stamp 2020-08-04 00:01:15 -04:00
Alexandru Croitor a79056bb02 AutoGen: Fix over-specified direct dependencies of custom command
The AutoMoc timestamp creating custom command explicitly depended
on all dependencies of the origin target (associated to the AutoGen
target).

When an origin target depended on a shared library 'libfoo.so',
if it was re-linked, the AutoMoc custom command would touch its
output timestamp file, and thus cause needless rebuilding of sources,
despite the shared library not having any influence on the AutoMoc
generated files.

Introduce a new '<target>_autogen_timestamp_deps' utility target,
which will serve as an 'order-only' dependency for the custom command.

This will prevent needless rebuilding, because touching 'libfoo.so'
will not cause the custom command to be re-executed.

The new AutoMoc dependency tree looks like:
    '_autogen_timestamp_deps (serves as order-only dep)'
 <- '<target_autogen>/timestamp' file ( + moc deps file)
 <- '<target>_autogen' target.

Fixes: #21020
2020-08-03 19:38:11 +02:00
Ben McMorran 67599c7ada cmGeneratedFileStream: Add WriteRaw method 2020-08-03 12:56:41 -04:00
Kyle Edwards cdb50af2f6 Ninja: Restore shorter path to response files
In commit 99ed39b011 (Ninja Multi-Config: Make link response files
per-config, 2020-07-15, v3.17.4~3^2), we added the target directory to
the response file under the mistaken assumption that two different
targets with the same name could be in different directories. However,
this causes the path to the response file to be too long to fit on a
command line.  Take the path back out, while leaving in the per-config
split.

Fixes: #21050
2020-08-03 12:14:16 -04:00
Brad King afb998704e Remove filtering of allowed INTERFACE library properties
Previously we disallowed use of arbitrary properties on INTERFACE
libraries.  The goal was to future-proof projects using them by not
allowing properties to be set that may affect their future inclusion in
the generated buildsystem.  In order to prepare to actually include
INTERFACE libraries in the generated buildsystem, drop the filter and
allow arbitrary properties to be set.

Issue: #19145
2020-08-03 10:04:23 -04:00
Brad King e7edba2baf Makefiles: Use IsInBuildSystem in global generator target type checks
Follow up from commit 422d9a0ab2 (Factor out generator checks for
filtering out interface libraries, 2020-07-20) with more uses of
`IsInBuildSystem`.
2020-08-03 10:04:22 -04:00
Kitware Robot 4b1e2449fa CMake Nightly Date Stamp 2020-08-03 00:01:07 -04:00
Kitware Robot 508e25e21e CMake Nightly Date Stamp 2020-08-02 00:01:11 -04:00
Kitware Robot 03d3cc1136 CMake Nightly Date Stamp 2020-08-01 00:01:06 -04:00
Stephan Rohmen 57f250dcc0 Graphviz: Fix issue with too many open file streams on Windows platform
Fixes #20931
2020-07-31 22:26:08 +02:00
Kitware Robot 383090bf59 CMake Nightly Date Stamp 2020-07-31 00:01:10 -04:00
Brad King 63a65baf4c CMake 3.18.1 2020-07-30 12:34:59 -04:00
Brad King 103d6faed9 CMake 3.17.4 2020-07-30 10:30:07 -04:00
Brad King 8878f59cf9 Merge topic 'unity_no_skip_autogen'
7051250a6c Unity Builds: Do not set SKIP_AUTOGEN to source files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5081
2020-07-30 08:28:49 -04:00
Kitware Robot 3595e37519 CMake Nightly Date Stamp 2020-07-30 00:01:12 -04:00
Cristian Adam 7051250a6c Unity Builds: Do not set SKIP_AUTOGEN to source files
Fixes: #21028
2020-07-29 17:57:50 +02:00