Commit Graph

577 Commits

Author SHA1 Message Date
Robert Maynard
f3c9396260 Help: Document CMAKE_FIND_DEBUG_MODE 2019-12-19 08:09:49 -05:00
Brad King
37a30f228a Merge topic 'fix-vs-winrt-by-default'
557ea4614e VS: Change CMAKE_VS_WINRT_BY_DEFAULT to not implicitly enable WinRT
7bcef355bf Vs: Add test for VS_WINRT_BY_DEFAULT

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4127
2019-12-17 11:11:24 -05:00
Petr Polezhaev
557ea4614e VS: Change CMAKE_VS_WINRT_BY_DEFAULT to not implicitly enable WinRT
Original behaviour would unconditionally enable WinRT for all projects
so source file flag generation code can acknowledge WinRT being present
and disable it for C language source files.  An unintentional result of
that approach is that WinRT is enabled for ALL projects, including C++
projects/source files with no way to disable it

Instead use `CMAKE_VS_WINRT_BY_DEFAULT` as a hint that the platform is
WinRT-by-default and set global `CompileAsWinRT` flag to `false` unless
it was explicitly requested by either `WINRT_COMPONENT` option or `/ZW`
compilation option - similar to what Windows Phone/Windows Store
platform logic does

In case WinRT compilation is enabled for a project by either of
aforementioned methods, C language source file override logic will still
kick in and disable CompileAsWinRT for C source files

Fixes: #20063
2019-12-16 13:46:59 -05:00
Kyle Edwards
8c062f9d99 Help: Add documentation and release notes for multi-config Ninja 2019-12-13 10:52:07 -05:00
Kyle Edwards
966a9eece3 Merge topic 'function-var-current'
24fdd51f45 Refactor: Replace CMAKE_CURRENT_LIST_DIR with CMAKE_CURRENT_FUNCTION_LIST_DIR
90e3e2a777 cmFunctionCommand: Introduce `CMAKE_CURRENT_FUNCTION*` variables
dd54290dab Refactor: Modernize `function` command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !4000
2019-12-12 14:00:41 -05:00
Brad King
4fb9c88042 Merge topic 'add_cuda_meta_compiler_features'
2467a2b318 CUDA: Add cuda meta-features (e.g. ``cuda_std_11``) support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3992
2019-12-12 11:57:18 -05:00
Brad King
0e0571599f Merge topic 'ctest-drmemory-support'
676befdf52 ctest: add support for memcheck using Dr. Memory
2db0a65f56 cmCTestMemCheckHandler.cxx: minor refactoring

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4119
2019-12-12 11:54:54 -05:00
Kyle Edwards
106137492b Merge topic 'ctest-configuration-type'
e6f758be6d ctest: Populate CTEST_CONFIGURATION_TYPE from the -C command line when set

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4109
2019-12-11 11:00:13 -05:00
Robert Maynard
2467a2b318 CUDA: Add cuda meta-features (e.g. `cuda_std_11`) support 2019-12-10 17:56:48 -05:00
Dietmar Scheidl
676befdf52 ctest: add support for memcheck using Dr. Memory
Fixes: #19788
2019-12-10 14:42:30 -05:00
Alex Turbov
90e3e2a777 cmFunctionCommand: Introduce CMAKE_CURRENT_FUNCTION* variables
`CMAKE_CURRENT_FUNCTION`
  Can be used for diagnostic or debugging messages like the
  `__PRETTY_FUNCTION__` macro of GCC.

`CMAKE_CURRENT_FUNCTION_LIST_DIR`
  Eliminates the necessity of the additional "global"
  variables inside a module used to access additional "resource"
  files from functions defined in the module.

...
2019-12-10 16:43:27 +02:00
Julien Jomier
e6f758be6d ctest: Populate CTEST_CONFIGURATION_TYPE from the -C command line when set 2019-12-09 13:10:59 -05:00
Brad King
1da7fa3b47 Merge topic 'compiler-launcher-env'
6f48c59257 launcher: support setting a compiler launcher through the environment

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4095
2019-12-09 11:19:57 -05:00
Brad King
c4c74c7693 Merge topic 'doc-rpath'
fb4a39a900 Help: Clarify INSTALL_RPATH_USE_LINK_PATH documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4108
2019-12-06 08:38:20 -05:00
Ben Boeckel
6f48c59257 launcher: support setting a compiler launcher through the environment
This makes it much easier to use a launcher for all CMake projects in an
environment rather than having to remember to pass the setting to every
CMake build.
2019-12-05 14:25:36 -05:00
Hong Xu
fb4a39a900 Help: Clarify INSTALL_RPATH_USE_LINK_PATH documentation
State explicitly that directories containing linked library files
are also included even if they are not in the linker search path.
2019-12-05 12:45:45 -05:00
Hong Xu
e622832211 Help: Fix CMAKE_HOST_SYSTEM_PROCESSOR use of uname
Currently the document says that `CMAKE_HOST_SYSTEM_PROCESSOR` is the
output of `uname -p` if a system supports `uname`.  Update the
documented behavior to match `CMakeDetermineSystem.cmake` code.

Fixes: #20004
2019-12-04 14:59:37 -05:00
Gregor Jasny
92c4c852db Xcode: Add custom working directory property
Closes: #19967
2019-11-18 22:34:34 +01:00
Brad King
55f7df4961 Merge topic 'objc-standard-docs'
665954fa8d ObjC: Document ObjC/ObjCXX standard properties / variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4031
2019-11-12 09:47:44 -05:00
Cristian Adam
665954fa8d ObjC: Document ObjC/ObjCXX standard properties / variables
Fixes: #19919
2019-11-11 16:10:19 +01:00
Craig Scott
b613eecfa0 Merge topic 'docs-UNITY_BUILD'
fcacd8ce8d Help: Improve readability and fix inaccuracies in unity build docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4019
2019-11-10 15:55:43 -05:00
Craig Scott
fcacd8ce8d Help: Improve readability and fix inaccuracies in unity build docs 2019-11-09 19:48:34 +11:00
Brad King
2d83709038 Merge branch 'docs-INSTALL_REMOVE_ENVIRONMENT_PATH' into release-3.16
Merge-request: !3985
2019-11-05 11:30:56 -05:00
Brad King
20fdf9a92b Merge topic 'docs-INSTALL_REMOVE_ENVIRONMENT_PATH'
dd05ef429a Help: Fix inaccuracies in INSTALL_REMOVE_ENVIRONMENT_RPATH docs
ac8de0dbcf RPATH: Remove stray indent in generated file(RPATH_CHANGE) command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3985
2019-11-05 11:21:25 -05:00
Craig Scott
abb0119350 Merge topic 'add_CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY'
55df3954d3 find_package: Add support for CMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3968
2019-11-05 07:17:17 -05:00
Robert Maynard
55df3954d3 find_package: Add support for CMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY
Extend the change from commit 1d00ba9ccf (Find: find_package prefers
variable CMAKE_FIND_USE_REGISTRY, 2018-11-13, v3.16.0-rc1~461^2~1)
to cover the system package registry too.

Fixes: #19890
2019-11-04 10:31:16 -05:00
Craig Scott
dd05ef429a Help: Fix inaccuracies in INSTALL_REMOVE_ENVIRONMENT_RPATH docs
The previous docs assumed one had to set INSTALL_RPATH for
this target property to have an effect, but the actual condition is
only that the install rpath is different to the build rpath. Even if
the install rpath is empty, it is possible that CMake will rewrite
the rpath during install because the build rpath could be
non-empty.
2019-11-04 17:02:57 +11:00
Brad King
8db410f336 Merge topic 'docs-find-vars'
a0a7a45dbc Help: Fix markup errors, improve wording of CMAKE_FIND... variable docs
049dbdd38c Help: Document that <PackageName>_ROOT applies to config packages too

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3952
2019-10-29 10:33:16 -04:00
Craig Scott
a0a7a45dbc Help: Fix markup errors, improve wording of CMAKE_FIND... variable docs 2019-10-27 18:11:00 +11:00
Brad King
5c8d821eca Merge topic 'xcode-scheme-env'
f0005dacde Xcode: Add CMAKE_XCODE_SCHEME_ENVIRONMENT variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3933
2019-10-25 09:37:49 -04:00
Felix Heidrich
f0005dacde Xcode: Add CMAKE_XCODE_SCHEME_ENVIRONMENT variable
Initialize the `XCODE_SCHEME_ENVIRONMENT` target property.

This was left out of commit 6b7f1e1db0 (Xcode: Add variables and
properties to configure schemes, 2018-07-29, v3.13.0-rc1~243^2).
2019-10-24 11:24:34 -04:00
Brad King
667f2861dc Merge topic 'project-include-before'
f7acc1266c project: Add variable CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE_BEFORE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3936
2019-10-21 11:24:28 -04:00
Deniz Bahadir
f7acc1266c project: Add variable CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE_BEFORE
Follow up commit 0761186949 (project: Add variable
CMAKE_PROJECT_INCLUDE_BEFORE, 2019-03-28, v3.15.0-rc1~294^2) with a
project-specific variant.  This variable will be used similar to the
already existing `CMAKE_PROJECT_INCLUDE_BEFORE` and
`CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE` variables.

Fixes: #19854
2019-10-18 14:44:24 -04:00
Daan De Meyer
8065a686dd Initialize CMAKE_EXPORT_COMPILE_COMMANDS from envvar of the same name
Fixes: #18386
2019-10-18 14:37:33 -04:00
Alexander Boczar
548e9051a4 VS: Add support to override VCTargetsPath through toolset
Fixes: #19708
2019-10-15 13:28:45 -04:00
Brad King
cdc8d75c49 Merge topic 'doc-static-lib-flags'
fb16e0e7c0 Help: Clarify documentation of CMAKE_STATIC_LINKER_FLAGS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3919
2019-10-15 11:17:03 -04:00
Brad King
4041f6a327 Merge branch 'doc-static-lib-flags' into release-3.16
Merge-request: !3919
2019-10-15 11:15:45 -04:00
Brad King
fb16e0e7c0 Help: Clarify documentation of CMAKE_STATIC_LINKER_FLAGS
Issue: #19838
2019-10-15 09:43:00 -04:00
Craig Scott
25eef45f16 Merge topic 'feature/CMAKE_MESSAGE_CONTEXT'
7cf79f4419 message: Support logging a context with each message
5bf85e2517 message: Add new CMAKE_MESSAGE_LOG_LEVEL variable
aa59badd6f Tests: Message log level tests must fail on unwanted output
7c579f0a03 Help: Move CMAKE_MESSAGE_INDENT variable to correct section
4b021bd3e9 message: Minor refactor to make code less verbose

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3680
2019-10-13 17:08:44 -04:00
Alex Turbov
7cf79f4419 message: Support logging a context with each message 2019-10-12 18:21:36 +11:00
Alex Turbov
5bf85e2517 message: Add new CMAKE_MESSAGE_LOG_LEVEL variable 2019-10-12 17:01:15 +11:00
Brad King
13c8dbd5a6 Help: Document CMAKE_UNITY_BUILD/CMAKE_EXPORT_COMPILE_COMMANDS limitation
These two options currently do not work well together.  Mention this
limitation in the documentation.

Issue: #19826
2019-10-11 08:05:59 -04:00
Brad King
ed06d27c7f Help: Extend documentation of CMAKE_UNITY_BUILD variable 2019-10-11 08:05:29 -04:00
Gregor Jasny
67200c37b0 xcode: Add XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING property 2019-10-01 23:02:35 +02:00
Brad King
df65c92cb4 Merge topic 'doc-vs-2019-toolset'
67f3dda69b Help: Document VS 2019 toolset in MSVC_TOOLSET_VERSION

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3841
2019-09-20 10:06:51 -04:00
LE GARREC Vincent
67f3dda69b Help: Document VS 2019 toolset in MSVC_TOOLSET_VERSION 2019-09-20 09:11:40 -04:00
Sebastian Holtermann
692d8e3492 Help: Add documentation for AUTOMOC_PATH_PREFIX 2019-09-18 11:48:23 -04: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
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
Benjamin Wozniak
ee86770a3f cuda: Added docs for extended cuda toolset 2019-08-30 08:14:00 +02:00