Commit Graph

4003 Commits

Author SHA1 Message Date
Daniel Mensinger 482497e0de trace: Add JSON output format
Add a new `--trace-format=` flag, to enable the new JSON trace
output format. This new format is easier to parse by machines
than the existing format. This new format also removes the
ambiguity of the whitespace in the "old" format (e.g. is that
whitespace part of a file path, or does it seperate arguments)
2019-12-23 14:05:36 +01:00
Brad King 3289322e4f Merge topic 'FindCUDAToolkit-module'
d484a3c4d8 FindCUDAToolkit: correct searches for Toolkit components
e2a5d8374f FindCUDAToolkit: Improve usage, library set, and tests
29560bf07b FindCUDAToolkit: Import targets for toolkit libraries
2c0ff263b4 FindCUDAToolkit: Add module to find the CUDA Toolkit
12d324e55d CUDA: Persist SIZEOF_VOID_P and PLATFORM_ABI

Acked-by: Kitware Robot <kwrobot@kitware.com>
Rejected-by: Brad King <brad.king@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !4093
2019-12-17 11:13:50 -05:00
Brad King 1369db7406 Merge topic 'better_category_for_target_debug_property'
b23c778034 CMAKE_DEBUG_TARGET_PROPERTIES to `provides information` section

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4142
2019-12-17 11:13:02 -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
Robert Maynard b23c778034 CMAKE_DEBUG_TARGET_PROPERTIES to provides information section
This variable only provides debug information and doesn't modify
the output of CMake, so move it to the correct variable
section.
2019-12-16 17:05:12 -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
Stephen McDowell 2c0ff263b4 FindCUDAToolkit: Add module to find the CUDA Toolkit 2019-12-16 10:31:43 -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 b358f1827c Merge topic 'link-options-propagation'
bbba701899 Link properties: must be transitive over private dependency on static library

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4120
2019-12-09 11:32:05 -05:00
Marc Chevrier bbba701899 Link properties: must be transitive over private dependency on static library
Fixes: #20022
2019-12-09 11:29:36 -05:00
Brad King f62c674202 Merge topic 'foreach-ZIP_LISTS'
d30468a2f6 foreach: Allow multiple iteration variables for `ZIP_LIST` mode
f3e51a2b1d foreach: Introduce `IN ZIP_LISTS` mode

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4021
2019-12-09 11:25:35 -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
Kyle Edwards 5d6b70ccfe Merge topic 'libarchive-target'
30488b3b9f FindLibArchive: create a target

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4117
2019-12-09 09:59:53 -05:00
Alex Turbov d30468a2f6 foreach: Allow multiple iteration variables for ZIP_LIST mode 2019-12-07 18:03:20 +02: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
T.J. Corona 30488b3b9f FindLibArchive: create a target 2019-12-05 17:18:28 -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
Brad King 8455165239 Merge topic 'host-system-processor'
e622832211 Help: Fix CMAKE_HOST_SYSTEM_PROCESSOR use of uname

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4107
2019-12-05 11:48:15 -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
Alex Turbov f3e51a2b1d foreach: Introduce IN ZIP_LISTS mode 2019-12-01 22:28:39 +02:00
Brad King feb5cb8d9d Ninja: Prefer first ninja tool available in PATH
We search for tools `ninja-build`, `ninja`, and `samu` as the build tool
for the Ninja generator.  Re-order the search to prefer whichever tool
appears first in the `PATH`.  This makes it easier for users to control
which tool gets used when more than one is available.

Fixes: #20028
2019-11-26 11:20:15 -05:00
Brad King 797e55a5ef Merge topic 'xlf-ninja'
19f267c75e XL: Add support for Ninja and XL Fortran

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4075
2019-11-26 09:14:33 -05:00
Brad King 3d5227e6b6 Merge topic 'ctest-resource-fixes'
a033bafbe0 Help: Clarify how tests are run if no resource spec file is specified
a64ba0235f CTest: Clarify that resource requirements can be split
f9f294f5fa CTest: Add version field to resource spec file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4080
2019-11-26 09:12:34 -05:00
Kyle Edwards a033bafbe0 Help: Clarify how tests are run if no resource spec file is specified
Fixes: #19985
2019-11-26 09:10:22 -05:00
Kyle Edwards a64ba0235f CTest: Clarify that resource requirements can be split
Add a note to the documentation to clarify this, and add test cases
to ensure it.

Fixes: #19987
2019-11-25 11:08:27 -05:00
Kyle Edwards f9f294f5fa CTest: Add version field to resource spec file
Fixes: #20007
2019-11-25 11:08:27 -05:00
Brad King 19f267c75e XL: Add support for Ninja and XL Fortran
The Ninja generator's support for Fortran requires that source files
be preprocessed explicitly first.  However, the `xlf` compiler does
not have a simple `-E` option or equivalent to do preprocessing.
The only documented way to get preprocessed output is to use `-d`
to leave it behind, but only at an inflexible location.

Instead, create our own `cpp` wrapper script and substitute it for the
real preprocessor using `-tF -B ...`.  Teach the wrapper to map the
`cpp` output to the location we need and then invoke the real `cpp`
underneath.

Fixes: #19450
2019-11-21 15:59:12 -05:00
Brad King ae7d99fbd5 Merge topic 'load_cache_in_script'
5e9ecaae0e load_cache: Allow READ_WITH_PREFIX mode in cmake scripts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4042
2019-11-21 11:03:09 -05:00
Kyle Edwards 51c69fe5f8 FileAPI: Add "multiConfig" parameter to index file 2019-11-20 09:46:10 -05:00
Craig Scott 9e9787f19a Merge topic 'ctest-repeat'
32c165d263 CTest: Consolidate '--repeat-* n' options as `--repeat *:n`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4053
2019-11-19 15:48:38 -05:00
Charles Barto 5e9ecaae0e load_cache: Allow READ_WITH_PREFIX mode in cmake scripts 2019-11-19 14:39:00 -05:00
Brad King a1d0653fc8 Merge topic 'xcode-scheme-workdir'
92c4c852db Xcode: Add custom working directory property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4063
2019-11-19 11:31:16 -05:00
Brad King 5aa94a1d0d Merge topic 'sdcc-sdar'
5cf404d36f SDCC compiler: use sdar instead of sdcclib as librarian for recent versions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4065
2019-11-19 11:28:13 -05:00
Brad King fb7f8e5fbd Merge topic 'FindFLEX-work-dir'
c5fb36a4cb FindFLEX: Add policy CMP0098 to run flex in build tree

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3981
2019-11-19 11:27:15 -05:00
Gregor Jasny 92c4c852db Xcode: Add custom working directory property
Closes: #19967
2019-11-18 22:34:34 +01:00
Johnny Jazeix 5cf404d36f SDCC compiler: use sdar instead of sdcclib as librarian for recent versions
Fixes: #19988
2019-11-18 20:12:49 +01:00
Brad King e64d39eb42 Merge topic 'compile-features-other-lang' into release-3.16
229f2cc5fd Help: Clarify compile features handling for OBJC and OBJCXX

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4057
2019-11-18 09:54:15 -05:00
Brad King 26f3cb3288 Merge topic 'compile-features-other-lang'
229f2cc5fd Help: Clarify compile features handling for OBJC and OBJCXX

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4057
2019-11-18 09:54:15 -05:00
Brad King 667a88e260 Merge topic 'docs-pch-reorg' into release-3.16
cc88ede7a3 Help: Provide guidance on INTERFACE for target_precompile_headers()
dae9a808fe Help: Reorganise target_precompile_headers() docs for readability

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4045
2019-11-18 09:47:35 -05:00
Brad King 498e3e67b3 Merge topic 'docs-pch-reorg'
cc88ede7a3 Help: Provide guidance on INTERFACE for target_precompile_headers()
dae9a808fe Help: Reorganise target_precompile_headers() docs for readability

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4045
2019-11-18 09:47:35 -05:00
Craig Scott 4ea992ab32 Merge topic 'tutorial-replace-unicode-dash'
02aa03eb0a Tutorial: replace Unicode EN DASH with ASCII dash

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4058
2019-11-18 05:50:02 -05:00