Commit Graph

35557 Commits

Author SHA1 Message Date
Christian Pfeiffer bbb5c3efe2 Ninja,Makefile: Unify command line limit logic
Move the logic to cmSystemTools to be shared among the generators.
Revise the implementation and add comments justifying each possible
source for a limit.
2017-04-19 11:02:24 -04:00
Brad King ddd2b02455 Merge topic 'iwyu-mapping'
d2b0a47c Add include-what-you-use mapping

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !692
2017-04-17 10:30:10 -04:00
Brad King d4db7a2ec0 Merge topic 'simpler-import-lib-check'
9a5dcc32 cmExportBuildFileGenerator: use HasImportLibrary

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !699
2017-04-17 10:29:37 -04:00
Brad King c0323cbf5f Merge topic 'vs-custom-kits-dir'
fee01194 VS: Add an environment variable for the Windows 10 kits directory
b80c6d12 VS: Refactor Win 10 Kits root detection to support multiple roots

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !696
2017-04-17 10:29:15 -04:00
Kitware Robot eb974170cb CMake Nightly Date Stamp 2017-04-17 00:01:02 -04:00
Kitware Robot f23bede8b5 CMake Nightly Date Stamp 2017-04-16 00:01:03 -04:00
Kitware Robot f653c6702a CMake Nightly Date Stamp 2017-04-15 00:01:04 -04:00
Kitware Robot 286e4f1087 CMake Nightly Date Stamp 2017-04-14 00:01:09 -04:00
Daniel Pfeifer d2b0a47c6f Add include-what-you-use mapping 2017-04-13 16:04:10 +02:00
Brad King e155fba644 Merge topic 'xcode-remove-UseObjectLibraries'
229abfc8 cmGeneratorTarget: Drop unused UseObjectLibraries method
63fbf587 Xcode: Inline relevant parts of UseObjectLibraries
1afacebe Xcode: Do not add Object Libraries source group on Xcode >= 5

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !698
2017-04-13 08:15:25 -04:00
Brad King 0d928d2fed Merge topic 'CheckSymbolExists-update-docs'
7f8b93ab CheckSymbolExists: Document that intrinsics may not be detected
91233d56 CheckSymbolExists: Format documentation
b416d3e6 CheckSymbolExists: Convert docs to bracket comment syntax

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !695
2017-04-13 08:14:41 -04:00
Brad King 2cb98329f1 Merge topic 'project-description'
3b484871 project: Add `DESCRIPTION` parameter

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !679
2017-04-13 08:14:23 -04:00
Brad King 26b5f7defe Merge topic 'update-kwsys'
ada8e0ca Merge branch 'upstream-KWSys' into update-kwsys
85841e8b KWSys 2017-04-12 (23a4c211)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !694
2017-04-13 08:13:12 -04:00
Ben Boeckel 9a5dcc3267 cmExportBuildFileGenerator: use HasImportLibrary 2017-04-13 08:12:55 -04:00
Brad King 8456ec833a Merge topic 'include-style'
1d829c86 Use quotes for non-system includes
26ee9e42 CPack: drop CPack prefix for includes
5afac50f cmConfigure: Ensure separate include block in headers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !691
2017-04-13 08:12:40 -04:00
Kitware Robot f79b8fad09 CMake Nightly Date Stamp 2017-04-13 00:01:14 -04:00
Brad King 229abfc8f9 cmGeneratorTarget: Drop unused UseObjectLibraries method 2017-04-12 15:38:54 -04:00
Brad King 63fbf58750 Xcode: Inline relevant parts of UseObjectLibraries 2017-04-12 15:38:35 -04:00
Brad King 1afacebee9 Xcode: Do not add Object Libraries source group on Xcode >= 5
The group is always empty because on Xcode 5 and above we list
object library files directly on the link line and do not list
sources for them.
2017-04-12 15:30:35 -04:00
Brad King fee011946e VS: Add an environment variable for the Windows 10 kits directory
Define a `CMAKE_WINDOWS_KITS_10_DIR` environment variable to allow
users to tell CMake about a custom Windows 10 SDK directory.  We
choose to make this an environment variable rather than a CMake
variable or cache entry because:

* Using a custom directory also requires custom external MSBuild
  configuration.  Therefore users are already configuring a
  custom environment.

* The custom directory must be set consistently in all parts of
  a build including nested projects.  An environment variable
  avoids requiring users to thread the setting into nested builds.

Fixes: #16743
2017-04-12 10:57:05 -04:00
Brad King b80c6d120c VS: Refactor Win 10 Kits root detection to support multiple roots 2017-04-12 10:38:49 -04:00
Brad King 7f8b93ab0a CheckSymbolExists: Document that intrinsics may not be detected
Fixes: #16794
2017-04-12 09:33:03 -04:00
Brad King 91233d563b CheckSymbolExists: Format documentation 2017-04-12 09:31:37 -04:00
Brad King b416d3e696 CheckSymbolExists: Convert docs to bracket comment syntax 2017-04-12 09:25:46 -04:00
Brad King ada8e0cac4 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2017-04-12 (23a4c211)
2017-04-12 09:10:22 -04:00
KWSys Upstream 85841e8bd5 KWSys 2017-04-12 (23a4c211)
Code extracted from:

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

at commit 23a4c211e90c1cfd399c3632141dbd549a5db8cf (master).

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

Brad King (2):
      41a9dfef SystemInformation: Fix dynamic loader failure on WinXP SP2
      3ead6158 SystemTools: Fix stat() wrapper compilation with Borland

Daniel Pfeifer (1):
      ce5b0d34 Disable include-what-you-use

Mathieu Westphal (1):
      a2bf6bb3 SystemTools: Add cross-platform stat() wrapper
2017-04-12 09:10:22 -04:00
Brad King fddd559406 Merge topic 'vs-refactor-source-loop'
a2e91af9 cmGeneratorTarget: Drop unused GetIDLSources method
a77158b2 VS: Refactor loop over classified sources

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !689
2017-04-12 09:05:49 -04:00
Brad King 80ea73f288 Merge topic 'xcode-object-arch-dir'
8c346bbc Xcode: Compute a concrete object file arch dir if possible
5f4e26df Xcode: Refactor object directory name computation
5b29fd6d Xcode: Refactor internal architecture list construction
b1eb493c cmGlobalGenerator: Abort generation earlier on export() error

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !688
2017-04-12 09:05:29 -04:00
Brad King 9c03f503a7 Merge topic 'update-kwiml'
5a53e18e Merge branch 'upstream-KWIML' into update-kwiml
93542c89 KWIML 2017-04-11 (ffc22537)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !690
2017-04-12 09:04:32 -04:00
Brad King 35d81b69fa Merge topic 'doc-cmake-E-copy-no-wildcards'
6e68d014 Help: Add note about cmake -E copy not supporting wildcards

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !687
2017-04-12 09:04:14 -04:00
Brad King 6f7f567eee Merge topic 'macos-hidpi-qt-dialog'
d9140305 macOS: Enable Hi-DPI support in applications by default

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !682
2017-04-12 09:03:50 -04:00
Kitware Robot 135611176c CMake Nightly Date Stamp 2017-04-12 00:01:04 -04:00
Daniel Pfeifer 1d829c862c Use quotes for non-system includes
Automate with:

git grep -l '#include <cm_' -- Source \
  | xargs sed -i 's/#include <\(cm_.*\)>/#include "\1"/g'

git grep -l '#include <cmsys/' -- Source \
  | xargs sed -i 's/#include <\(cmsys\/.*\)>/#include "\1"/g'

git grep -l '#include <cm[A-Z]' -- Source \
  | xargs sed -i 's/#include <\(cm[A-Z].*\)>/#include "\1"/g'
2017-04-11 22:35:21 +02:00
Daniel Pfeifer 26ee9e4291 CPack: drop CPack prefix for includes
Automate with:

git grep -l '#include <CPack/' -- Source \
  | xargs sed -i 's/#include <CPack\/\(.*\)>/#include "\1"/g'

git grep -l '#include "CPack/' -- Source \
  | xargs sed -i 's/#include "CPack\/\(.*\)"/#include "\1"/g'
2017-04-11 22:35:20 +02:00
Daniel Pfeifer 5afac50f68 cmConfigure: Ensure separate include block in headers
Make sure that `#include <cmConfigure.h>` is followed by an empty line
in header files.  This is necessary to make sure that changing <> to ""
does not affect the include ordering of clang-format.

Automate with:

git grep -l '#include <cmConfigure.h>' | grep -v '.cxx$' \
| xargs sed -i '/#include <cmConfigure.h>/ { N; N; s/\n\{1,2\}/\n\n/ }'
2017-04-11 22:35:20 +02:00
Brad King 5a53e18e24 Merge branch 'upstream-KWIML' into update-kwiml
* upstream-KWIML:
  KWIML 2017-04-11 (ffc22537)
2017-04-11 15:32:48 -04:00
KWIML Upstream 93542c897d KWIML 2017-04-11 (ffc22537)
Code extracted from:

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

at commit ffc22537fabc40548b3de4a759303caaeea83646 (master).

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

Daniel Pfeifer (1):
      ffc22537 test: Disable include-what-you-use
2017-04-11 15:32:48 -04:00
Brad King a2e91af99d cmGeneratorTarget: Drop unused GetIDLSources method 2017-04-11 13:36:40 -04:00
Brad King a77158b25f VS: Refactor loop over classified sources
Loop over all sources at once instead of looking up and looping
over each kind of source separately.
2017-04-11 13:36:31 -04:00
Brad King 8c346bbc6e Xcode: Compute a concrete object file arch dir if possible 2017-04-11 11:40:15 -04:00
Brad King 5f4e26dfc8 Xcode: Refactor object directory name computation
Factor out a helper function to compute the object directory name
architecture component.
2017-04-11 11:40:15 -04:00
Brad King 5b29fd6d4d Xcode: Refactor internal architecture list construction
Factor population of the `Architectures` member out into a helper to
avoid duplication.
2017-04-11 11:40:15 -04:00
Brad King b1eb493c11 cmGlobalGenerator: Abort generation earlier on export() error 2017-04-11 11:40:14 -04:00
Brad King ff4fa70c20 Merge topic 'vs-remove-UseObjectLibraries'
f4af14ad VS: Simplify logic collecting object library files as sources
10772c51 VS: Simplify use of object libraries in WINDOWS_EXPORT_ALL_SYMBOLS
22829a13 cmMakefile: Create an explicit "Object Libraries" source group

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !686
2017-04-11 11:28:05 -04:00
Tim 6e68d014d5 Help: Add note about cmake -E copy not supporting wildcards
Issue: #16791
2017-04-11 10:26:16 -04:00
Alex Turbov 3b4848717a project: Add DESCRIPTION parameter
It is quite often the project description has used in a real world software.
Examples include:

* part of a help screen of the application
* builtin resources (`*.rc` files, data for "About" dialog of a GUI app, & etc)
* most generators for CPack can use it
* it could be used by documentary software (Doxygen, Sphinx) which is usually
  integrated to CMake based projects via `add_custom_target()`

Now `project()` call learned an optional `DESCRIPTION` parameter with a
short string describing a project. Being specified, it would set the
`PROJECT_DESCRIPTION` variable which could be used in `configure_file()`
or whatever user wants.  Also `PROJECT_DESCRIPTION` is a default value
for `CPACK_PACKAGE_DESCRIPTION_SUMMARY`.
2017-04-11 10:17:00 -04:00
Brad King 85d2434826 Merge topic 'FindPythonInterp-3.6-windows'
9d15d3c7 FindPythonInterp: Add `-32` and `-64` registry entry variants

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !675
2017-04-11 10:11:42 -04:00
Brad King f4af14add4 VS: Simplify logic collecting object library files as sources
Object library files are already included by `GetExternalObjects`
and `GetConfigCommonSourceFiles` so we don't need to call
`UseObjectLibraries` to get them.
2017-04-11 10:10:28 -04:00
Brad King 10772c51b4 VS: Simplify use of object libraries in WINDOWS_EXPORT_ALL_SYMBOLS
Object library files are already included by `GetExternalObjects`
so we don't need to call `UseObjectLibraries` to get them.
2017-04-11 10:10:27 -04:00
Brad King 22829a1304 cmMakefile: Create an explicit "Object Libraries" source group
The generators should not need special logic to place object library
object files in this group.
2017-04-11 10:09:57 -04:00