Commit Graph

4007 Commits

Author SHA1 Message Date
Johnny Jazeix
ebfffc609e CPack/NSIS: Add option for setting MUI_HEADERIMAGE_BITMAP
Fixes: #20120
2020-01-02 22:27:31 +01:00
Kyle Edwards
61960fa466 Merge topic 'add_find_call_debugging'
f3c9396260 Help: Document CMAKE_FIND_DEBUG_MODE
204b8d9f4e find_*: Use debug logging infrastructure
a7ea20649d find_*: Add debug logging infrastructure

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3935
2019-12-20 12:59:50 -05:00
Robert Maynard
f3c9396260 Help: Document CMAKE_FIND_DEBUG_MODE 2019-12-19 08:09:49 -05:00
Robert Maynard
a7ea20649d find_*: Add debug logging infrastructure
Enable debug messages a new `--find-debug` command-line option or via
the `CMAKE_FIND_DEBUG_MODE` variable.

This work was started by Chris Wilson, continued by Ray Donnelly, and
then refactored by Robert Maynard to collect information into a single
message per find query.

Co-Author: Ray Donnelly <mingw.android@gmail.com>
Co-Author: Chris Wilson <chris+github@qwirx.com>
2019-12-19 08:09:49 -05:00
Ben Boeckel
f5126badd8 add_custom_command: convert DEPENDS path arguments to absolute paths
This is only done if they are "obviously" paths in that they contain a
directory separator.

Fixes: #17111
2019-12-18 13:57:07 -05: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