Commit Graph

2057 Commits

Author SHA1 Message Date
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
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
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
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
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
Ľubomír Carik
d914030507 macOS: Enable Hi-DPI support in applications by default
Every desktop application should be HiDPI ready in present.
Based on information from Qt documentation enabling properties in
`Info.plist` is sufficient to activate this feature.
Newer versions of `qmake` do it.

Signed-off-by: Ľubomír Carik <Lubomir.Carik@gmail.com>
2017-04-11 09:49:12 -04:00
Brad King
7b51c1c789 Merge topic 'emulatorTargetPropertyDocs'
186dd877 Help: Cross compile variable used as initial value for target property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !683
2017-04-10 10:01:31 -04:00
Brad King
5e95a99088 Merge topic 'clarifyFileGenerateDocs'
d039f741 Help: Clarify file(GENERATE) only writes output file at generation phase

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !681
2017-04-10 10:01:11 -04:00
Brad King
54d8c0db00 Merge topic 'clarifyRemoveDocs'
812274ff Help: Clarify what the -f option does for the remove command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !680
2017-04-10 10:00:58 -04:00
Craig Scott
d039f7414f Help: Clarify file(GENERATE) only writes output file at generation phase
Closes: #16556
2017-04-10 09:58:22 -04:00
Craig Scott
186dd8771e Help: Cross compile variable used as initial value for target property
Variable CMAKE_CROSSCOMPILING_EMULATOR is used to initialize
CROSSCOMPILING_EMULATOR.

Issue: #16785
2017-04-10 09:52:58 -04:00
Craig Scott
812274ff49 Help: Clarify what the -f option does for the remove command
Closes: #16784
2017-04-10 09:50:10 -04:00
Brad King
43381b4de7 Help/dev: Document preferred page for MR comments 2017-04-06 09:53:19 -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
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
Brad King
333ff168eb Merge topic 'fix-genex-example'
3ecbe76e Help: Fix error in $<COMPILE_LANGUAGE:lang> example

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !667
2017-04-05 10:29:57 -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
0d17a82b0b Merge topic 'revert-cpack_nsis_sign_uninstaller'
1b1ad2a2 Revert "CPack/NSIS: Sign the uninstaller"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !597
2017-04-05 10:17:21 -04:00
Nils Gladitz
3ecbe76e60 Help: Fix error in $<COMPILE_LANGUAGE:lang> example 2017-04-04 23:28:25 +02:00
Brad King
1b1ad2a2f4 Revert "CPack/NSIS: Sign the uninstaller"
This reverts commit 09475c29 (CPack/NSIS: Sign the uninstaller,
2017-03-01) and follow-up commit e1ee7b43 (CPack/NSIS: Avoid a race
condition when generating the installer, 2017-03-22).  The signing
implementation does not work on Linux for a couple reasons:

* The script tries to run the temporary uninstaller executable,
  but of course this cannot be done except on a Windows host.

* The `${NSISDIR}\makensis` file does not exist because `makensis`
  is installed elsewhere.

The result is that existing package configurations can break on Linux.
For example, the CPackComponents test fails.

Revert the feature until an alternative implementation approach can be
found.
2017-04-04 13:41:54 -04:00
Bastien Schatt
38fd5866c0 Add GENERATOR_IS_MULTI_CONFIG global property
Fixes: #16768
2017-04-04 09:49:00 -04:00
Ruslan Baratov
7393418844 Rename CMAKE_GCC_{AR,RANLIB} to CMAKE_LANG_COMPILER_{AR,RANLIB}
The variables recently added by commit b9d36826 (Add 'CMAKE_GCC_AR' and
'CMAKE_GCC_RANLIB' variables, 2017-03-08) are more appropriately managed
with language-specific names rather than toolchain-specific names.
2017-04-03 14:10:50 -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
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
Gregor Jasny
d02709d7f7 Genex: Add TARGET_BUNDLE_[CONTENT_]_DIR generator expressions
Closes #16733
2017-03-30 22:24:54 +02:00
Ruslan Baratov
dfa8263f4b Implement interprocedural optimization for GNU compilers
Honor the `INTERPROCEDURAL_OPTIMIZATION` target property for GNU
compilers by activating their link-time-optimization (LTO) flags.
2017-03-30 14:56:52 -04:00
Ruslan Baratov
1588a577d1 Add policy CMP0069 to enforce INTERPROCEDURAL_OPTIMIZATION
Previously the `INTERPROCEDURAL_OPTIMIZATION` target property was
honored only for the Intel compiler on Linux and otherwise ignored.  In
order to add support for more compilers incrementally without changing
behavior in the future, add a new policy whose NEW behavior enforces the
`INTERPROCEDURAL_OPTIMIZATION` property.  Add flags for supported
compilers and otherwise produce an error.
2017-03-30 14:56:46 -04:00
Brad King
1cc918a770 Merge topic 'ctest-disable-tests'
b070947d Add 'DISABLED' test property
42c68aad CTest: Improve 'Completion Status' reported to CDash for 'Not Run' tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Brad King <brad.king@kitware.com>
Merge-request: !571
2017-03-30 09:01:06 -04:00
Betsy McPhail
b070947dff Add 'DISABLED' test property
When this property is set, the test is skipped and its status is
automatically set to 'Not Run'.  A disabled test will not be counted in
the total number of tests and its completion status will be 'Disabled'.
2017-03-29 10:29:57 -04:00
Domen Vrankar
8e8f1118b9 handle non-existing symlink creation locations 2017-03-29 00:22:52 +02:00
Brad King
89e2c92f54 Merge topic 'cpack-rpm-debuginfo-honor-package-filename'
f237f5f8 CPack/RPM: support for debuginfo package renaming
6c09c5d6 CPack/RPM honor package file name on debuginfo enabled

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !620
2017-03-27 09:13:31 -04:00
Domen Vrankar
f237f5f851 CPack/RPM: support for debuginfo package renaming 2017-03-25 15:25:55 +01:00
Brad King
5bded841b4 Merge topic '16680-ios-bundle-resources'
b5189fda Apple: Add test for bundle resource layout
c51c2cfa Apple: Fix Resources location for all generators
060be58c Xcode: Properly handle Bundle Resources with more than one hierarchy level
484ccb0c Xcode: Properly handle non-resource Bundle files on iOS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !613
2017-03-24 08:32:41 -04:00
Gregor Jasny
c51c2cfac6 Apple: Fix Resources location for all generators
Issue: #16680
2017-03-23 16:43:55 +01:00
Brad King
cfa55fd428 Merge topic 'doc-prefer-MSVC_VERSION'
fecf8467 Help: Document preference of `MSVC_VERSION` over `MSVC##`
712452e3 Help: Clarify MSVC14 docs w.r.t. VS 2017 v141 toolset
49a60b70 MSVC: Exclude future cl 20+ from MSVC14 variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !609
2017-03-23 08:44:58 -04:00
Brad King
d2fb1264d7 Merge branch 'doc-prefer-MSVC_VERSION' into release 2017-03-22 11:28:31 -04:00
Brad King
fecf846701 Help: Document preference of MSVC_VERSION over MSVC##
Issue: #16735
2017-03-22 11:24:54 -04:00
Brad King
712452e330 Help: Clarify MSVC14 docs w.r.t. VS 2017 v141 toolset
Issue: #16735
2017-03-22 11:24:46 -04:00
Brad King
da802afd6e Merge topic 'doc-dev-do-reformat'
72f534ca Help/dev: Document `Do: reformat` action
2192247e Help/dev: Make `Do: check` cross-reference more specific

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !606
2017-03-22 10:06:00 -04:00
Brad King
72f534ca15 Help/dev: Document Do: reformat action 2017-03-22 09:47:30 -04:00
Brad King
2192247e33 Help/dev: Make Do: check cross-reference more specific
Add a dedicated subsection header for its documentation.
2017-03-22 09:41:53 -04:00
Brad King
56c39d8836 Merge topic 'add-CheckIPOSupported-module'
6c832674 Tests for 'CheckIPOSupported' module
fdb2ba25 CheckIPOSupported: New module to check for compiler/cmake IPO support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !558
2017-03-22 08:51:59 -04:00
Brad King
989484d51f Merge topic 'module-def-and-WINDOWS_EXPORT_ALL_SYMBOLS'
075f6454 Support WINDOWS_EXPORT_ALL_SYMBOLS with `.def` files
21c4ec4f cmGlobalVisualStudioGenerator: Simplify __create_def command generation
24361a45 bindexplib: Add support for parsing and integrating `.def` files
845c4824 bindexplib: Add method for parsing and integrating `.def` files
4f90e793 bindexplib: Revise coding style of CMake-specific methods

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !581
2017-03-22 08:49:09 -04:00
Brad King
5fe3630677 Help/dev: Document Topic-rename: description trailer 2017-03-21 15:46:32 -04:00
Ben Boeckel
7d22203912 Help/dev: mention how the robot performs its checks
Fixes: #16264.
2017-03-21 14:53:31 -04:00
Brad King
075f645409 Support WINDOWS_EXPORT_ALL_SYMBOLS with .def files
The `WINDOWS_EXPORT_ALL_SYMBOLS` target property exports all symbols
found in object files explicitly given to the linker.  However, the
linker may also find additional symbols in dependencies and copy them
into the linked binary (e.g. from `msvcrt.lib`).  Provide a way to
export an explicit list of such symbols by adding a `.def` file as a
source file.

Fixes: #16473
2017-03-21 10:02:34 -04:00
Sebastian Holtermann
f89678f609 Autogen: Add AUTOGEN_SOURCE_GROUP release notes 2017-03-20 11:44:23 -04:00
Sebastian Holtermann
850eb734f5 Autogen: Add AUTOGEN_SOURCE_GROUP documentation 2017-03-16 11:52:55 +01:00
Brad King
3df2506fb5 Help: Document VS generator toolset specification syntax 2017-03-13 10:36:58 -04:00