35810 Commits

Author SHA1 Message Date
Ben Boeckel
adf60b2838 ninja: break unnecessary target dependencies
Previously, given two libraries, X and Y where X depends on Y, all
object compilations of X would require the Y library to have been linked
before being compiled. This is not necessary and can instead be loosened
such that object compilations of X only depend on the order-only
dependencies of Y to be completed. This is to ensure that generated
sources, headers, custom commands, etc. are completed before X starts to
compile its objects.

This should help build performance in projects with many libraries which
cause a deep library dependency chain. Previously, a library at the
bottom would not start compilation until after all other libraries
completed, but now only its link step needs to wait and its compilation
jobs can be run in parallel with other tasks.

Fixes: #15555
2017-04-21 08:57:40 -04:00
Ben Boeckel
01c5bb9551 RunCMake.Ninja: support passing arguments when running ninja 2017-04-21 08:57:02 -04:00
Ben Boeckel
7f947b602f ninja: remove duplicate order-only dependencies 2017-04-21 08:57:02 -04:00
Ben Boeckel
e9827eba68 ninja: describe the intermediate order depends target better
This is only used for compiled objects, so indicate it as such.
2017-04-21 08:57:02 -04:00
Brad King
b57b7d8e55 Ninja: Order Fortran dyndep file generation explicitly
Each target's dyndep file generation depends on loading information
generated by the same step in its dependencies.  Add an explicit
ordering dependency to ensure the needed information is available.
Without the explicit ordering dependency we were abusing the more
general target ordering rules through the preprocessor rules generating
the `.ddi` files used as input to dyndep file generation.
2017-04-21 08:57:02 -04:00
Brad King
0ad8e4ea65 Merge topic 'cpack-rpm-buildrequires-docs'
8b3693e4 CPack/RPM doc: CPACK_RPM_BUILDREQUIRES docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !730
2017-04-21 08:56:33 -04:00
Brad King
ecf94cbc51 Merge topic 'kwsys-import-cleanup'
93219c40 Merge branch 'upstream-KWSys' into kwsys-import-cleanup
22729eae KWSys 2017-04-20 (8785f84f)
d88a511d kwsys: match upstream changes
a139b81a update-kwsys: apply changes made in CMake to the import
e832c32c kwsys: remove extra attribute

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Brad King <brad.king@kitware.com>
Merge-request: !728
2017-04-21 08:56:08 -04:00
Brad King
744f809765 Merge topic 'GNUInstallDirs-add-RUNSTATEDIR'
40814a7c GNUInstallDirs: Add RUNSTATEDIR variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !706
2017-04-21 08:55:31 -04:00
Brad King
59f07efd59 Merge topic 'fix-vs2017-guid-braces'
fd7e8f33 VS: Fix project reference inspection in VS IDE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !727
2017-04-21 08:54:38 -04:00
Brad King
5b241d0ae8 Merge topic '16760-refactor-get-mac-content-directory'
cf320f7c Replace boolean `implib` parameters with enum

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !662
2017-04-21 08:53:16 -04:00
Brad King
718daeb4e6 Merge topic 'unified-commandline-length'
bbb5c3ef Ninja,Makefile: Unify command line limit logic

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !705
2017-04-21 08:51:49 -04:00
Brad King
b5a5b227f9 Merge topic 'FindwxWidgets-verify-wx-config'
e8b77084 FindwxWidgets: Verify existence of libraries reported by wx-config

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !704
2017-04-21 08:51:21 -04:00
Brad King
bcf066435c Merge topic '16795-xcode-system-header-search-paths'
ffdde4a9 Xcode: Use SYSTEM_HEADER_SEARCH_PATHS attribute for system includes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !726
2017-04-21 08:50:35 -04:00
Brad King
2b7aecba16 Merge topic 'autogen-fixes'
09035319 Autogen: Pass explicit predefines header to moc if possible

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !671
2017-04-21 08:43:43 -04:00
Daniel Pfeifer
73020305af clang-tidy: avoid copy 2017-04-21 10:50:25 +02:00
Daniel Pfeifer
b432e933cb clang-tidy: use .empty() to check emptyness 2017-04-21 10:44:07 +02:00
Daniel Pfeifer
012972a926 clang-tidy: remove reduntant .data() calls 2017-04-21 10:44:07 +02:00
Daniel Pfeifer
b26577c92a clang-tidy: remove else after break and continue 2017-04-21 10:44:07 +02:00
Kitware Robot
1b0c7bca5e CMake Nightly Date Stamp 2017-04-21 00:01:12 -04:00
Brad King
08c99c9253 Merge branch 'cpack-rpm-buildrequires-docs' into release 2017-04-20 16:19:42 -04:00
Domen Vrankar
8b3693e466 CPack/RPM doc: CPACK_RPM_BUILDREQUIRES docs
Missing documentation for an already existing
CPackRPM source rpm packages feature.

Fixes #16814
2017-04-20 16:19:20 -04:00
Ben Boeckel
93219c4003 Merge branch 'upstream-KWSys' into kwsys-import-cleanup
* upstream-KWSys:
  KWSys 2017-04-20 (8785f84f)
2017-04-20 15:35:56 -04:00
KWSys Upstream
22729eae17 KWSys 2017-04-20 (8785f84f)
Code extracted from:

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

at commit 8785f84f4760da060cdb2499155bb39532f8c053 (master).

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

Ben Boeckel (2):
      ac0c67d2 gitattributes: indicate attributes to ignore when importing
      3dfeb55e gitattributes: rename the c-style attribute
2017-04-20 15:35:56 -04:00
Ben Boeckel
d88a511da3 kwsys: match upstream changes
This allows the import to merge cleanly.
2017-04-20 15:35:39 -04:00
Ben Boeckel
a139b81a52 update-kwsys: apply changes made in CMake to the import 2017-04-20 15:35:17 -04:00
Robert Maynard
23691d789e CUDA: Allow sources to be compiled to .ptx files
When the target property `CUDA_PTX_COMPILATION` is enabled CUDA OBJECT
libraries will generate ptx files instead of object files.
2017-04-20 13:25:38 -04:00
Ben Boeckel
e832c32ca8 kwsys: remove extra attribute
This is set in `Source/.gitattributes` already and does not need to be
set inside of the import.
2017-04-20 12:53:33 -04:00
Felix Geyer
40814a7ce9 GNUInstallDirs: Add RUNSTATEDIR variable 2017-04-20 17:25:46 +02:00
Brad King
59224c3989 Merge branch 'fix-vs2017-guid-braces' into release 2017-04-20 10:31:14 -04:00
Richard Walters
fd7e8f339a VS: Fix project reference inspection in VS IDE
The braces around project reference GUIDs for vcxproj projects were
apparently optional in the past, but Visual Studio 2017 is more strict,
displaying a warning, and not displaying project reference properties
unless the braces are present.

Fixes: #16820
2017-04-20 10:30:21 -04:00
Gregor Jasny
cf320f7cd7 Replace boolean implib parameters with enum
Named enumeration values are much clearer at call sites and add more
type safety.
2017-04-20 10:22:33 -04:00
Jan Mrázek
e8b77084df FindwxWidgets: Verify existence of libraries reported by wx-config
When the Ubuntu package `libwxgtk3-dev` is not installed, FindwxWidgets
succeeds even the required libraries are not actually found. The reason
for that is that `wx-config` does not perform any kind of check and uses
hard-coded values.  This affects e.g. KiCAD build process and makes it
fail with a confusing error message [1].  The solution is to check for
presence of every library file obtained from `wx-config`.

[1] https://bugs.launchpad.net/kicad/+bug/1630020
2017-04-20 09:15:59 -04:00
Aleix Pol
0903531964 Autogen: Pass explicit predefines header to moc if possible
Qt is relying on whoever calls moc to include a file with the predefined
values that will be used by the compiler, otherwise moc takes wrong
paths and weird things happen.
Instead, generate an include file and feed it to all mocs to make sure
it's generating correct code.

Co-Author: Sebastian Holtermann <sebholt@xwmw.org>
Fixes: #16640
2017-04-20 08:59:07 -04:00
Brad King
b4d3cdc8c5 Merge branch 'release' 2017-04-20 08:50:27 -04:00
Brad King
24b04b5134 Merge topic 'remove-vs7.1-generator'
c94f1bcf Drop Visual Studio 7 .NET 2003 generator
a4452fd8 cmGlobalVisualStudioGenerator: Drop VS7 enumeration value
6e66fe5f cmGlobalVisualStudio8Generator: Drop unused GetDocumentation method

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !723
2017-04-20 08:47:26 -04:00
Brad King
6c7460bc48 Merge topic 'FindBoost-fix-backslash-tolerance'
2516bccd FindBoost: Restore tolerance of backslashes in paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !721
2017-04-20 08:47:05 -04:00
Brad King
01d72391b3 Merge topic 'FindOpenSSL-more-precompiled'
16ef163f FindOpenSSL: Add more library name alternatives

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !713
2017-04-20 08:46:47 -04:00
Brad King
96246fb9af Merge topic 'doc-dev-source-code'
caabb6e1 Help/dev: Adopt C++ subset rules in coding guide
0fd255ad Help/dev: Adopt clang-format instructions in coding guide
540b4cdc Help/dev: Add a CMake Source Code Guide placeholder

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !724
2017-04-20 08:46:01 -04:00
Brad King
09e3864b4b Merge topic 'update-kwsys'
697a5d64 Merge branch 'upstream-KWSys' into update-kwsys
5785482c KWSys 2017-04-19 (9f6ffaff)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !716
2017-04-20 08:45:42 -04:00
Kitware Robot
3452f8b209 CMake Nightly Date Stamp 2017-04-20 00:01:06 -04:00
Brad King
caabb6e1f3 Help/dev: Adopt C++ subset rules in coding guide
Move the C++ subset rules from the `cmake-developer(7)` into our
dedicated coding guide since they do not need to be in user-facing
documentation.
2017-04-19 16:41:58 -04:00
Brad King
0fd255adf5 Help/dev: Adopt clang-format instructions in coding guide
Simplify the `CONTRIBUTING.rst` document by moving the code style
section over to our dedicated coding guide and linking to it instead.
2017-04-19 16:33:06 -04:00
Gregor Jasny
ffdde4a9ae Xcode: Use SYSTEM_HEADER_SEARCH_PATHS attribute for system includes
Closes #16795
2017-04-19 22:28:50 +02:00
Brad King
540b4cdc2b Help/dev: Add a CMake Source Code Guide placeholder
Create a dedicated document to cover the CMake source code for
developers.
2017-04-19 16:18:26 -04:00
Brad King
c94f1bcf92 Drop Visual Studio 7 .NET 2003 generator
This generator has been deprecated since CMake 3.6.  Remove it.
2017-04-19 15:28:05 -04:00
Brad King
a4452fd82d cmGlobalVisualStudioGenerator: Drop VS7 enumeration value
We no longer support the VS 7.0 (.NET 2002) IDE, so drop the enumeration
value corresponding to its version.
2017-04-19 14:54:57 -04:00
Brad King
6e66fe5f97 cmGlobalVisualStudio8Generator: Drop unused GetDocumentation method
This has been moved to the factory.
2017-04-19 14:45:00 -04:00
Brad King
b99fbf3b16 Merge branch 'FindBoost-fix-backslash-tolerance' into release 2017-04-19 11:28:08 -04:00
Alex Turbov
2516bccdf6 FindBoost: Restore tolerance of backslashes in paths
Since commit v3.8.0-rc1~136^2 (FindBoost: Search official location of
prebuilt binaries on Windows, 2016-12-21) we pass input paths through
`_Boost_UPDATE_WINDOWS_LIBRARY_SEARCH_DIRS_WITH_PREBUILT_PATHS` in more
places than before.  This broke tolerance of backslashes in paths
provided by the user due to the macro argument re-parsing.  Turn
`_Boost_UPDATE_WINDOWS_LIBRARY_SEARCH_DIRS_WITH_PREBUILT_PATHS` into a
function instead of macro to avoid re-parsing of macro arguments.

Fixes: #16816
2017-04-19 11:24:41 -04:00
Brad King
f612719a77 Merge branch 'FindOpenSSL-more-precompiled' into release 2017-04-19 11:09:44 -04:00