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