Commit Graph

2306 Commits

Author SHA1 Message Date
Brad King 7cccc5b199 Xcode: Restore CMAKE_XCODE_GENERATE_SCHEME for custom targets
The target property introduced by commit 413b71485a (Xcode: Create Xcode
schemes per target, 2019-03-11, v3.15.0-rc1~347^2) was accidentally not
initialized by `CMAKE_XCODE_GENERATE_SCHEME` for custom targets.  Fix it
and update the test.

Fixes: #19759
2019-10-02 08:21:02 -04:00
Brad King a1f78a481c Merge topic 'ninja-depend-shared-symlinks'
4891f0f966 Ninja: Ensure shared library version symlinks are created for dependents

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3875
2019-10-02 07:57:25 -04:00
Brad King d57c1a5b31 Merge topic 'clang-format-normalize-headers-presentation'
ed98209ddc Revise include order using clang-format-6.0
185fe49f29 clang-format: Normalize headers presentation
42ef28b4f3 Remove unused uid_t/gid_t types on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sebastian Holtermann <sebholt@web.de>
Merge-request: !3851
2019-10-02 07:53:43 -04:00
Brad King 9649c91f83 Merge topic 'pch-compile-pdb'
e6e189e02b PCH: Report error when setting COMPILE_PDB_NAME property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3864
2019-10-02 07:48:55 -04:00
Brad King c5bec56611 Merge topic 'test-iface-paths'
335236b0cb Tests: Shorten name RunCMake.IfacePaths_{INCLUDE_DIRECTORIES => INCDIRS}

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3873
2019-10-02 07:41:39 -04:00
Brad King 4891f0f966 Ninja: Ensure shared library version symlinks are created for dependents
When linking to a shared library target that has version symlinks, add
an order-only dependency on the build statement that creates the links.
This ensures that the links exist for use at runtime.

Fixes: #19774
2019-10-01 14:34:03 -04:00
Cristian Adam e6e189e02b PCH: Report error when setting COMPILE_PDB_NAME property
Reusable precompile headers require specific COMPILE_PDB_NAME property
values. Report error if the user tries to set a different value.
2019-10-01 18:33:40 +02:00
Kitware Robot ed98209ddc Revise include order using clang-format-6.0
Run the `clang-format.bash` script to update our C and C++ code to a new
include order `.clang-format`.  Use `clang-format` version 6.0.
2019-10-01 12:26:36 -04:00
Brad King 335236b0cb Tests: Shorten name RunCMake.IfacePaths_{INCLUDE_DIRECTORIES => INCDIRS}
The original name was responsible for the longest path in our build
tree.  Use a shorter name to enable longer build tree names on Windows.
2019-10-01 10:53:39 -04:00
Brad King 8a15e75fe3 Tests: Cover EXCLUDE_FROM_ALL OFF on sub/sub/tgt in sub/all
Issue: #19753
2019-09-30 10:34:23 -04:00
Brad King 0733a94f64 Ninja,Makefile: Fix subdir "all" with nested EXCLUDE_FROM_ALL subdir
The "all" target defined for a subdirectory (e.g. `cd sub; make` or
`ninja sub/all`) should not include the "all" targets from nested
subdirectories (e.g. `sub/sub`) that are marked as `EXCLUDE_FROM_ALL`.
Fix this and add a test case.

Issue: #19753
Co-Author: Sebastian Holtermann <sebholt@xwmw.org>
2019-09-30 10:30:28 -04:00
Brad King 8aa5f6ba44 Merge topic 'fix-EXCLUDE_FROM_ALL-subdir-all'
dce58afd30 Merge branch 'backport-3.15-fix-EXCLUDE_FROM_ALL-subdir-all'
013d7dd484 Help: Mention 3.14.7 EXCLUDE_FROM_ALL fix in 3.15.4 release note
61103c0bac Merge branch 'backport-3.14-fix-EXCLUDE_FROM_ALL-subdir-all'
1fe4501592 Help: Add release note for EXCLUDE_FROM_ALL fix in 3.15.4
05d7ca14e9 Merge branch 'backport-3.14-fix-EXCLUDE_FROM_ALL-subdir-all'
62d45d91e8 Help: Add release note for EXCLUDE_FROM_ALL fix in 3.14.7
b3b1c7bf3a Restore "all" target in subdirectories marked EXCLUDE_FROM_ALL
156b56480a Makefiles: Revert "Make build root targets ... recursive"
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3863
2019-09-30 10:27:15 -04:00
Brad King c2d1ea58bf Merge topic 'FPHSA-reason-failure-message'
60473cc660 FPHSA: add capability to specify message explaining reason of failure

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3866
2019-09-30 10:22:35 -04:00
Brad King dce58afd30 Merge branch 'backport-3.15-fix-EXCLUDE_FROM_ALL-subdir-all'
Resolve conflicts with changes since the 3.15 series:

* Convert `cmSystemTools::IsOn` => `cmIsOn`.
* Move one "EXCLUDE_FROM_ALL" target property logic fix to
  its new location in `cmMakefile::AddNewUtilityTarget`.
2019-09-30 09:34:57 -04:00
Brad King 05d7ca14e9 Merge branch 'backport-3.14-fix-EXCLUDE_FROM_ALL-subdir-all' 2019-09-30 09:19:21 -04:00
Brad King b3b1c7bf3a Restore "all" target in subdirectories marked EXCLUDE_FROM_ALL
The "all" target in each directory is supposed to have targets from that
directory even if the directory itself is marked `EXCLUDE_FROM_ALL` in
its parent.  This was broken by commit dc6888573d (Pass EXCLUDE_FROM_ALL
from directory to targets, 2019-01-15, v3.14.0-rc1~83^2) which made the
participation of a target in "all" independent of context.  Revert much
of the logic change from that commit to restore the old behavior.  Then
re-implement the behavior intended by the commit to keep its test
working.  Extend the test to cover the old behavior too.

Fixes: #19753
2019-09-30 09:18:20 -04:00
Marc Chevrier 60473cc660 FPHSA: add capability to specify message explaining reason of failure
Fixes: #19660
2019-09-27 16:04:54 +02:00
Brad King cf01d3d2bd Tests: Clarify target names in RunCMake.add_subdirectory ExcludeFromAll
Rename the `baz` target to `subinc` to clarify that its role is to be
included even though it is in an otherwise excluded subdirectory.
2019-09-26 14:58:26 -04:00
Brad King 21442d72a4 Tests: Revise RunCMake.add_subdirectory ExcludeFromAll to avoid globbing
Also simplify the clean step.
2019-09-26 14:57:40 -04:00
Justin Goshi 8b84c046fa fileapi: add some source property backtraces
Support backtraces for COMPILE_DEFINITIONS, COMPILE_OPTIONS, and
INCLUDE_DIRECTORIES source properties.
2019-09-26 10:56:52 -04:00
Brad King a29b8d285e Merge topic 'fix-vsmacro-access-violation'
7847fef510 VS: Fix access violation when calling Visual Studio macro

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3853
2019-09-26 09:49:56 -04:00
Brad King df982c4e18 Merge topic 'add-custom-target-byproduct-checks'
fd3a394614 add_custom_command: Format files in error message in a single line
a1cc6b4447 add_custom_target: Add output checks for custom target byproducts
cbb861ade8 add_custom_command: Add tests for custom command output checks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3850
2019-09-26 09:47:51 -04:00
Kyle Edwards 5fa625d611 Merge topic 'cpack-DEB-use-CPACK_PACKAGE_DESCRIPTION_FILE'
33c7ea513d CPackDeb: Use `CPACK_PACKAGE_DESCRIPTION_FILE`
53be31e19c Refactor: Use `list` commands instead of old-way string ops
b2c67a7703 Style: Remove spaces after command call and `(`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3541
2019-09-26 09:23:31 -04:00
Brad King 0cfbd85e7b Tests: Teach RunCMake to support a custom working directory 2019-09-24 14:10:34 -04:00
Daniel Eiband 7847fef510 VS: Fix access violation when calling Visual Studio macro
Fixes: #19730
2019-09-24 17:44:28 +02:00
Daniel Eiband fd3a394614 add_custom_command: Format files in error message in a single line 2019-09-23 23:39:07 +02:00
Daniel Eiband a1cc6b4447 add_custom_target: Add output checks for custom target byproducts
Use the output checks for byproducts of add_custom_command also for byproducts
of add_custom_target.
2019-09-23 22:18:36 +02:00
Daniel Eiband cbb861ade8 add_custom_command: Add tests for custom command output checks 2019-09-23 22:15:31 +02:00
Cristian Adam acb9511044 Precompile headers: Treat headers as relative to current source directory
Teach `target_precompile_headers` to treat relative paths the
same way as `target_sources`.

Fixes: #19733
2019-09-23 11:13:13 -04:00
Alex Turbov 33c7ea513d CPackDeb: Use CPACK_PACKAGE_DESCRIPTION_FILE
Also, handle per-component description nicely.
2019-09-22 00:31:24 +02:00
Brad King 541e681da2 Merge topic 'split-custom-command-creation'
0e1faa28cb cmMakefile: Separate custom command setup from actual creation
56c204e8eb cmMakefile: Refactor AddCustomCommandOldStyle to be delay friendly
3061dc6ac9 add_custom_command: Add tests for rejecting literal quotes in commands
e893ab94ba cmMakefile: Validate command line for all custom commands
f1e846fdde cmMakefile: Extract custom command validation method
4926ab2454 cmMakefile: Create all generated byproducts as known sources

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3822
2019-09-20 10:24:32 -04:00
Brad King 4ade1b00c5 Merge topic 'fileapiLinkPathAndLinkDirBacktraces'
4d6334824d fileapi: add backtraces for LINK_PATH and LINK_DIRECTORIES
5bd65dff7a cmLocalGenerator: Add OutputLinkLibraries overload with backtraces
5d39e792ae cmGeneratorTarget: Store backtrace for target LINK_DIRECTORIES property
7da17ef797 cmLinkLineComputer: Add ComputeLinkLibraries overload with backtraces
d4d0dd0f6a cmLinkLineComputer: Add ComputeLinkLibs overload with backtraces
0ac9dcb807 cmLinkLineComputer: Add ComputeLinkPath overload with backtraces
0c6468178a cmComputeLinkInformation: Add GetDirectoriesWithBacktraces
a209b31d0d cmComputeLinkInformation: Add AppendValues with backtraces

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3805
2019-09-20 10:22:01 -04:00
Justin Goshi 4d6334824d fileapi: add backtraces for LINK_PATH and LINK_DIRECTORIES 2019-09-18 14:00:39 -04:00
Brad King a981a9a745 Merge topic 'shared-pch'
729d997f10 Precompile Headers: Add REUSE_FROM signature

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Rickard Englund <rickard@r-englund.com>
Acked-by: Viktor Kirilov <vik.kirilov@gmail.com>
Merge-request: !3762
2019-09-18 11:34:00 -04:00
Daniel Eiband 3061dc6ac9 add_custom_command: Add tests for rejecting literal quotes in commands 2019-09-17 22:52:32 +02:00
Brad King e6ddb57479 Merge topic 'byproduct-collapse-full-path'
3b409643bd Byproducts: Add test for collapsing of full paths in byproducts
445ff5ccdf Byproducts: collapse full paths of custom target byproducts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3804
2019-09-17 11:12:08 -04:00
Brad King 42a20ef79b Merge topic 'allow-pkg-config-missing-libraries'
28cb86d796 FindPkgConfig: Allow libraries that can't be found with their full path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Rolf Eike Beer <eike@sf-mail.de>
Merge-request: !3781
2019-09-17 11:08:43 -04:00
Cristian Adam 729d997f10 Precompile Headers: Add REUSE_FROM signature
Add the ability to share precompiled headers artifacts between
targets.

Fixes: #19659
2019-09-17 11:58:38 +02:00
Chuck Atkins 28cb86d796 FindPkgConfig: Allow libraries that can't be found with their full path
pkg-config's .pc files can sometimes provide libraries that are visible to
the linker but not present in CMake's known search paths.  In the case
where CMake can find some, but not all of the library dependencies
provided in a .pc file, this allows them to be passed through as "-lfoo"
when the full path can't be found.

This also removes the test failure cases that occured because of this
scenario and adjsuts the remaining tests to account for not-found
libraries
2019-09-16 13:02:08 -04:00
Daniel Eiband 3b409643bd Byproducts: Add test for collapsing of full paths in byproducts
Add test for collapsing of full paths in byproducts and additional tests for
the GENERATED source file properties set by add_custom_command and
add_custom_target with relative paths.
2019-09-16 10:24:24 +02:00
Brad King 46629d6a49 Merge topic 'fileapiAddMoreBacktraces'
30006e199b fileapi: add backtraces for compile/link options
291c83f063 cmLocalGenerator: Add GetTargetCompileFlags overload with backtraces
8e973b8e8d cmLocalGenerator: Add GetTargetFlags overload with backtraces
4d5bbb7704 cmLocalGenerator: Add GetStaticLibraryFlags overload with backtraces
1f6a436bf4 cmLocalGenerator: Add AddCompileOptions overload with backtraces
5355a60fd0 cmLocalGenerator: Add AppendCompileOptions overload with backtraces
a20d2c85d0 cmLocalGenerator: Add AppendFlags overload with backtraces
b13207910e cmLocalGenerator: Clarify AddCompileOptions filter logic
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3775
2019-09-11 11:38:58 -04:00
Justin Goshi 30006e199b fileapi: add backtraces for compile/link options 2019-09-10 10:45:41 -04:00
Daniel Eiband ff5028c531 Windows: Prevent auto exports to be regenerated on every build
Check modified time stamps of input files against an existing exports file
before generating the auto exports.

Fixes: #19650
2019-09-09 15:43:15 +02:00
Brad King ac4d6d4a9d Merge topic 'unity-build'
7786a05c70 Unity build: Add XCode support
1353802af3 Unity build: Add unit tests
8dfeb5d278 Unity build: Add support for Visual Studio generator
7114c141e2 Unity build: Add support for Ninja and Makefile generators

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Stanislav Ershov <digital.stream.of.mind@gmail.com>
Acked-by: Evgeniy Dushistov <dushistov@mail.ru>
Acked-by: Viktor Kirilov <vik.kirilov@gmail.com>
Merge-request: !3611
2019-09-05 08:36:06 -04:00
Brad King 09032f09f8 Merge topic 'pch-fix-vs-test'
383bf3b5e7 Precompile Headers: Fix Visual Studio 10 unit test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3770
2019-09-04 08:53:59 -04:00
Cristian Adam 383bf3b5e7 Precompile Headers: Fix Visual Studio 10 unit test
The unit test is more roboust, problems like c: vs C:
or having relative paths of cmake_pch.cxx instead of absolute
paths.
2019-09-03 15:50:42 +02:00
Brad King cee20ad537 Merge topic 'vs-cuda-custom-dir'
25f29b9741 cuda: Adapted tests to work with modified cuda toolset
ee86770a3f cuda: Added docs for extended cuda toolset
0ad180d712 cuda: Extend cuda compiler detection to work with custom cuda path
55b0532128 cuda: Extend vs10 target generator to use custom cuda path
df0247a371 cuda: Extend toolset argument to accept path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3713
2019-09-03 09:34:46 -04:00
Brad King d8e3237611 Merge topic 'FindPkgConfig-module-name'
fe68387695 FindPkgConfig: return the module found by pkg_search_module

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3749
2019-09-03 09:33:02 -04:00
Brad King 2e6effd2e0 Merge topic 'cpack-install-multiple-configurations'
da5ac4bb60 cpack: Add `CPACK_INSTALL_CMAKE_CONFIGURATIONS` variable
d4e6b2ae25 Refactor: Use `unique_ptr` instead of raw pointer

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3533
2019-09-03 09:30:15 -04:00
Brad King ea63df139e Merge topic 'FindBoost-1.71'
7828577065 FindBoost: Add support for Boost 1.71
cf29fa18c8 FindBoost: Unwrap compatibility INTERFACE targets for legacy variables
d7df3cd73f FindBoost: Remove incorrect 1.70 timer dependency
8ff43de1a5 FindBoost: Simplify conditional block for last known version

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Dennis Klein <d.klein@gsi.de>
Merge-request: !3763
2019-09-03 09:23:48 -04:00