Commit Graph

22594 Commits

Author SHA1 Message Date
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 ada8e0cac4 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2017-04-12 (23a4c211)
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
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 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
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 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
Kitware Robot e086b0e081 CMake Nightly Date Stamp 2017-04-11 00:01:05 -04:00
Brad King 74075b5502 Merge topic 'refactor-source-classification'
60307c50 cmGeneratorTarget: Replace source classifier implementation
a9784d0e cmGeneratorTarget: Remove unnecessary condition

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !677
2017-04-10 09:38:30 -04:00
Kitware Robot 333c565ace CMake Nightly Date Stamp 2017-04-10 00:01:03 -04:00
Kitware Robot c8208c95a7 CMake Nightly Date Stamp 2017-04-09 00:01:03 -04:00
Kitware Robot fe81c03ed0 CMake Nightly Date Stamp 2017-04-08 00:01:04 -04:00
Brad King 60307c5056 cmGeneratorTarget: Replace source classifier implementation
Compute and memoize the list of sources with their kinds for each
configuration just once.
2017-04-07 15:35:48 -04:00
Brad King a9784d0e26 cmGeneratorTarget: Remove unnecessary condition
Remove a condition where the "then" and "else" cases do the same thing.
2017-04-07 14:29:47 -04:00
Kitware Robot 8bb5c14fd8 CMake Nightly Date Stamp 2017-04-07 00:01:04 -04:00
Brad King da9fe11b98 Merge topic 'include_external_msproject-map-config'
227de0b9 include_external_msproject: Honor MAP_IMPORTED_CONFIG_<CONFIG>
4cd815f0 VS: Pass whole target to WriteProjectConfigurations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !669
2017-04-06 09:38:36 -04:00
Brad King 0ef6b24988 Merge topic 'codelite-virtual-dirs'
8243fe7c CodeLite: Distribute source files into folders (virtual directories)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !653
2017-04-06 09:38:05 -04:00
Brad King a6530f3ee2 Merge topic 'bindexplib-format'
c216e803 bindexplib: Run clang-format on header file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !670
2017-04-06 09:37:19 -04:00
Kitware Robot 5d4db33e70 CMake Nightly Date Stamp 2017-04-06 00:01:04 -04:00
Brad King c216e80308 bindexplib: Run clang-format on header file 2017-04-05 15:51:38 -04:00
Beeble 227de0b95d include_external_msproject: Honor MAP_IMPORTED_CONFIG_<CONFIG>
This allows projects added via `include_external_msproject` to compile
the preferred configuration despite different naming conventions.
2017-04-05 13:44:03 -04:00
Beeble 4cd815f0b3 VS: Pass whole target to WriteProjectConfigurations 2017-04-05 13:37:45 -04:00
Brad King d9bd7adfdf Merge topic 'prop-is-multi-config'
01826231 Tests: Add case for GENERATOR_IS_MULTI_CONFIG
38fd5866 Add GENERATOR_IS_MULTI_CONFIG global property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !657
2017-04-05 10:22:23 -04:00
Brad King 4046cb2d10 Merge topic 'bindexplib-arm'
48fa2914 bindexplib: add ARM support
97c605fd bindexplib: remove unused code
7a8860af bindexplib: clang-format

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !604
2017-04-05 10:15:18 -04:00
Kitware Robot 52ffedff1c CMake Nightly Date Stamp 2017-04-05 00:01:06 -04:00
Bastien Schatt 38fd5866c0 Add GENERATOR_IS_MULTI_CONFIG global property
Fixes: #16768
2017-04-04 09:49:00 -04:00
Mikhail Paulyshka 48fa291469 bindexplib: add ARM support
Fixes: #16728
2017-04-04 08:52:46 -04:00
Kitware Robot 4b9e15fb47 CMake Nightly Date Stamp 2017-04-04 00:01:04 -04:00
Kitware Robot 2c37b263c5 CMake Nightly Date Stamp 2017-04-03 00:01:03 -04:00
Kitware Robot b2feb958ac CMake Nightly Date Stamp 2017-04-02 00:01:02 -04:00
Kitware Robot 20326cff8f CMake Nightly Date Stamp 2017-04-01 00:01:06 -04:00
rahmjan 8243fe7c46 CodeLite: Distribute source files into folders (virtual directories) 2017-03-31 15:00:59 -04:00
Brad King c791fb1254 Merge topic '16733-bundle-genex'
d1dac1ac Xcode: Execute RunCMake.Framework also for Xcode generator
d02709d7 Genex: Add `TARGET_BUNDLE_[CONTENT_]_DIR` generator expressions
013ffe76 cmGeneratorTarget: Call GetFrameworkDirectory in GetFullNameInternal
32e9d0ca cmGeneratorTarget: Use enum to describe bundle directory query level

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Craig Scott <craig.scott@crascit.com>
Merge-request: !635
2017-03-31 10:40:02 -04:00
Brad King 4a553ecb8e Merge topic 'vfort-object-linker-lang'
2c9f3578 VS: Decide project type by linker lang as fallback

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !643
2017-03-31 10:39:23 -04:00
Brad King a466d6f60a Merge topic 'libuv-name-fix'
ec670408 FindLibUV: Add Windows library name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !647
2017-03-31 10:39:05 -04:00
Brad King 8772fc81c4 Merge topic 'ipo-policy-CMP0069'
dfa8263f Implement interprocedural optimization for GNU compilers
1588a577 Add policy CMP0069 to enforce INTERPROCEDURAL_OPTIMIZATION
a7575700 Refactoring: s,GetFeatureAsBool,IsIPOEnabled,
e05835c3 CheckIPOSupported: Visual Studio and Xcode generators do not support IPO

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Brad King <brad.king@kitware.com>
Reviewed-by: Nils Gladitz <nilsgladitz@gmail.com>
Merge-request: !568
2017-03-31 10:38:08 -04:00