Commit Graph

29380 Commits

Author SHA1 Message Date
Brad King
ea67dbc4cd Merge topic 'file_generate_target'
27a912193b file(GENERATE): Add TARGET argument

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5131
2020-08-25 10:31:02 -04:00
Brad King
0b0dc86eab Merge topic 'unk_imported_location'
359c500a24 cmTarget: Raise error if imported target location is not set

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5113
2020-08-25 10:30:14 -04:00
Kitware Robot
d9aa99dd54 CMake Nightly Date Stamp 2020-08-25 00:01:11 -04:00
Kitware Robot
6db6913eec CMake Nightly Date Stamp 2020-08-24 00:01:17 -04:00
Kitware Robot
269d1a8624 CMake Nightly Date Stamp 2020-08-23 00:01:09 -04:00
Kitware Robot
08170b1b57 CMake Nightly Date Stamp 2020-08-22 00:01:14 -04:00
Raul Tambre
359c500a24 cmTarget: Raise error if imported target location is not set
Previously we would synthesize <TARGET_NAME>-NOTFOUND as the location. This
would then end up on the link line and cause build failures.
Policy CMP0110 is added to control this behaviour.

Fixes #19080, #19943.
2020-08-21 08:38:39 -04:00
Kitware Robot
692bc2de94 CMake Nightly Date Stamp 2020-08-21 00:01:09 -04:00
Raul Tambre
27a912193b file(GENERATE): Add TARGET argument
Adds TARGET argument to file(GENERATE) to make resolving generator expressions
requiring a target possible.

Implements #21101, fixes #21074.
2020-08-20 17:41:52 +03:00
Brad King
2a8f363a54 Merge topic 'fix-file-generate-cmp0070'
462b6d83e8 file(GENERATE): Test source properties
1977f7833b file(GENERATE): Update existing tests
04fbd7566a file(GENERATE): Fix missing check for policy CMP0070
2dc2732f67 file(GENERATE): Refactor outputFileName calculation
a9602bb41e file(GENERATE): Refactor inputFileName calculation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5090
2020-08-20 07:59:23 -04:00
Kitware Robot
b544a1ebec CMake Nightly Date Stamp 2020-08-20 00:01:12 -04:00
Brad King
80b9c4411b Merge topic 'ccmake-no-form-warnings'
16accdc76e ccmake: suppress warnings in third-party form code

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5141
2020-08-19 11:49:18 -04:00
Brad King
cb5c8e6f25 Merge topic 'cpack-wix-custom-xmlns'
267de3ba30 CPack/WiX: Add support for custom XML namespaces

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5132
2020-08-19 11:48:24 -04:00
Josef Angstenberger
04fbd7566a file(GENERATE): Fix missing check for policy CMP0070
In commit 82be694c7a (file(GENERATE): Add policy CMP0070 to define
relative path behavior, 2017-06-08, v3.10.0-rc1~534^2), one path
calculation was forgotten.  Because of this the path name according to
the old behavior was added to the list of CMake generated files.

Fixes: #21038
2020-08-19 09:05:43 -04:00
Josef Angstenberger
2dc2732f67 file(GENERATE): Refactor outputFileName calculation 2020-08-19 09:03:36 -04:00
Josef Angstenberger
a9602bb41e file(GENERATE): Refactor inputFileName calculation 2020-08-19 09:03:36 -04:00
Kitware Robot
92d7249031 CMake Nightly Date Stamp 2020-08-19 00:01:29 -04:00
Brad King
16accdc76e ccmake: suppress warnings in third-party form code 2020-08-18 17:09:23 -04:00
Brad King
31b057182e Merge topic 'FixGraphvizAliasTargets'
f7dd74e4ef Graphviz: Fix bug that shows duplicated alias targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5134
2020-08-18 10:29:06 -04:00
Fritz Elfert
267de3ba30 CPack/WiX: Add support for custom XML namespaces
Add a `CPACK_WIX_CUSTOM_XMLNS` option to specify these.

Fixes: #21098
2020-08-18 07:50:49 -04:00
Kitware Robot
f6290f024c CMake Nightly Date Stamp 2020-08-18 00:01:22 -04:00
Stephan Rohmen
f7dd74e4ef Graphviz: Fix bug that shows duplicated alias targets
When using subdirectories the alias targets were duplicated
2020-08-17 21:48:47 +02:00
Brad King
fe3a404a73 Merge topic 'add_test-special-chars-in-name'
a20987732b add_test: Allow special characters in test name (w/ policy CMP0110)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5076
2020-08-17 14:58:49 -04:00
Kitware Robot
35d8543f25 CMake Nightly Date Stamp 2020-08-17 00:01:09 -04:00
Kitware Robot
39cdfa9681 CMake Nightly Date Stamp 2020-08-16 00:01:09 -04:00
Kitware Robot
de19c0c9ca CMake Nightly Date Stamp 2020-08-15 00:01:13 -04:00
Kitware Robot
c90690a2d8 CMake Nightly Date Stamp 2020-08-14 00:01:12 -04:00
Kyle Edwards
8b5aa9051b Merge topic 'optimize-static-library-deps'
2e42651dff Add option to optimize link dependencies for static libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5103
2020-08-13 14:16:25 -04:00
Kitware Robot
5748e76639 CMake Nightly Date Stamp 2020-08-13 00:01:11 -04:00
Kyle Edwards
2e42651dff Add option to optimize link dependencies for static libraries
Add an `OPTIMIZE_DEPENDENCIES` target property and supporting
`CMAKE_OPTIMIZE_DEPENDENCIES` variable to optionally enable pruning and
flattening of outgoing dependencies from static libraries.  Since they
do not actually link, they only depend on side effects of their
dependencies.  Therefore we can drop dependencies that contribute no
side effects.
2020-08-12 11:31:07 -04:00
Deniz Bahadir
a20987732b add_test: Allow special characters in test name (w/ policy CMP0110)
Restore the change from commit f84af8e270 (add_test: Allow special
characters in test name, 2020-05-16, v3.18.0-rc1~142^2) that had to be
reverted by commit f84af8e270 (add_test: Allow special characters in
test name, 2020-05-16, v3.18.0-rc1~142^2) for compatibility.

Add policy CMP0110 to make the change in a compatible way.
Also, support even more characters than before by generating the
test scripts using bracket arguments around the test names.

Fixes: #19391
Signed-off-by: Deniz Bahadir <dbahadir@benocs.com>
2020-08-12 10:44:07 -04:00
Kitware Robot
ce2cc7cfb5 CMake Nightly Date Stamp 2020-08-12 00:01:11 -04:00
Brad King
a218d67f50 Merge topic 'bootstrap-ninja'
491dddfbde Bootstrap: Add support for Ninja

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3652
2020-08-11 08:57:00 -04:00
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
Kyle Edwards
491dddfbde Bootstrap: Add support for Ninja 2020-08-10 14:40:17 -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