Commit Graph

1411 Commits

Author SHA1 Message Date
Brad King f1af6d5baf Merge topic 'doc-user-interaction'
bd681fee7a Help: Add guides for user interaction
6185265800 Utilities/Sphinx: Index guide-level documents for cross-referencing
b1b7d01172 Utilities/Sphinx: Index document types only by top level directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Mateusz Łoskot <mateusz@loskot.net>
Acked-by: Daan De Meyer <daan.j.demeyer@gmail.com>
Merge-request: !4097
2020-01-14 08:58:38 -05:00
Stephen Kelly bd681fee7a Help: Add guides for user interaction
Add some prose to the documentation index page to guide readers to the
major manuals and guides.

Add a new "User Interaction Guide" to help the class of new user
who wishes to build a project with CMake for the first time, such as
after cloning a repo from a git repository.

Add a new "Using Dependencies Guide" to help the class of new
user who wishes to consume a SDK provided by a third party and needs a
starting point.  This is a different type of user to the user who wishes
to create their own project from scratch (addressed by the
`cmake-buildsystem(7)` manual) as each will encounter needs for
information discovery in a different order.
2020-01-13 11:04:55 -05:00
Brad King 4bac5b628e Merge topic 'target_compile_options-BEFORE-keyword'
2678e31053 target_compile_options: ensure BEFORE keyword is handled in all scopes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4203
2020-01-13 10:38:00 -05:00
Marc Chevrier 2678e31053 target_compile_options: ensure BEFORE keyword is handled in all scopes
Fixes: #20200
2020-01-11 01:25:25 +01:00
Kyle Edwards e8032e202e Ninja Multi-Config: Make cross-config building opt-in
Many users will want to use the Ninja Multi-Config generator like a
traditional Visual Studio-style multi-config generator, which doesn't
mix configurations - custom commands are built using target executables
of the same configuration the command is for. We do not want to force
these people to generate an N*N build matrix when they only need N*1,
especially if they have lots of targets. Add a new variable,
CMAKE_NINJA_CROSS_CONFIG_ENABLE, to opt-in to the cross-config build
matrix.
2020-01-10 16:31:29 -05:00
Craig Scott 2ec57e11fb Help: Fix sorting of property indexes 2020-01-09 20:30:49 +11:00
Sebastian Holtermann abad139c99 Autogen: Process .hh headers based on new policy CMP0100 settings
Reintroduces .hh header processing in AUTOMOC and AUTOUIC based on the new
policy CMP0100 setting.

Fixes: #13904 CMAKE_AUTOMOC misses headers with ".hh" extension
2020-01-04 11:33:04 +01:00
Kyle Edwards e7675acacb Merge topic 'add_target_deprecation'
c621839bd9 Add set_property option: DEPRECATION

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Daniele E. Domenichelli <ddomenichelli@drdanz.it>
Merge-request: !4128
2020-01-03 11:30:48 -05:00
Joseph Snyder c621839bd9 Add set_property option: DEPRECATION
Add a new property flag for a target which contains a message regarding
deprecation status.

Add a warning at "Generate" time if a linked target is marked as
deprecated.

Expand ExportImport test to ensure that new property is being set and
passed correctly.  Ensure that the message is shown during the
"Generate" step run of the ExportImport test.
2020-01-02 17:11:31 -05:00
Kyle Edwards bb811568cc Merge topic 'traceJSON'
e113ab1168 trace: Add test for the JSON-v1 trace
482497e0de trace: Add JSON output format

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4102
2019-12-27 10:53:13 -05:00
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
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
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
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
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
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
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
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
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 f9f294f5fa CTest: Add version field to resource spec file
Fixes: #20007
2019-11-25 11:08:27 -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
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 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
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
Craig Scott 229f2cc5fd Help: Clarify compile features handling for OBJC and OBJCXX 2019-11-17 17:50:56 +11:00
Jannick c5fb36a4cb FindFLEX: Add policy CMP0098 to run flex in build tree 2019-11-15 11:46:06 -05:00
Brad King 32c165d263 CTest: Consolidate '--repeat-* n' options as --repeat *:n
Combine `--repeat-until-fail`, `--repeat-until-pass`, and
`--repeat-after-timeout` to create a single `--repeat <mode>:<n>`
option.  Retain `--repeat-until-fail` too because that has been
available in previous releases.
2019-11-15 10:08:33 -05:00
Kyle Edwards 5695b0464b Merge topic 'cmake-e-rm'
2d0100fac7 replace remove and remove_directory with rm in tests
5239fc5c75 cmake -E: Add rm with improved semantics over remove and remove_directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3949
2019-11-15 09:57:56 -05:00
Johnny Jazeix 5239fc5c75 cmake -E: Add rm with improved semantics over remove and remove_directory 2019-11-13 18:02:18 -05:00
Brad King 88e0dca40d Merge topic 'objc-standard-docs' into release-3.16
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
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
Craig Scott 00f5e02060 Merge topic 'remove-CPACK_INSTALL_CMAKE_CONFIGURATIONS' into release-3.16
1d1fa5d3e4 Tests: Add RunCMake.CPackCommandLine case for multi-config package
108207cc84 CPack: Remove CPACK_INSTALL_CMAKE_CONFIGURATIONS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4025
2019-11-12 08:16:31 -05:00
Craig Scott 27020c81d5 Merge topic 'remove-CPACK_INSTALL_CMAKE_CONFIGURATIONS'
1d1fa5d3e4 Tests: Add RunCMake.CPackCommandLine case for multi-config package
108207cc84 CPack: Remove CPACK_INSTALL_CMAKE_CONFIGURATIONS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4025
2019-11-12 08:16:31 -05:00
Alex Turbov 108207cc84 CPack: Remove CPACK_INSTALL_CMAKE_CONFIGURATIONS
In commit da5ac4bb60 (cpack: Add `CPACK_INSTALL_CMAKE_CONFIGURATIONS`
variable, 2019-07-10, v3.16.0-rc1~165^2) we added both the variable
and support for `cpack -C` with multiple configurations.  Drop the
variable because the `package` target cannot ensure that all of the
configurations are built.  Keep the command-line interface so that
it can be used manually in scripts.

Fixes: #19918
2019-11-11 14:15:09 -05:00
Cristian Adam 665954fa8d ObjC: Document ObjC/ObjCXX standard properties / variables
Fixes: #19919
2019-11-11 16:10:19 +01:00
Kyle Edwards 87dcbe0b21 Merge topic 'ctest-resource-groups' into release-3.16
c1435d9812 Help: Fix error in resource allocation example
eb9d945f14 CTest: Rename hardware -> resources for RunCMake tests
c544cb6698 CTest: Rename hardware -> resources for source code
6ce27d3a2e cmCTestMultiProcessHandler: Rename resource locking functions
a7c1e15cc4 CTest: Rename hardware -> resources for CMake variables, command options
73a40b19ff CTest: Rename "Processes" lexer to "ResourceGroups"
af9ed543b0 CTest: Rename PROCESSES test property to RESOURCE_GROUPS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3994
2019-11-07 13:10:57 -05:00
Kyle Edwards bea26f5aa0 Merge topic 'ctest-resource-groups'
016601e5e6 Merge branch 'backport-ctest-resource-groups'
c1435d9812 Help: Fix error in resource allocation example
eb9d945f14 CTest: Rename hardware -> resources for RunCMake tests
c544cb6698 CTest: Rename hardware -> resources for source code
6ce27d3a2e cmCTestMultiProcessHandler: Rename resource locking functions
a7c1e15cc4 CTest: Rename hardware -> resources for CMake variables, command options
73a40b19ff CTest: Rename "Processes" lexer to "ResourceGroups"
af9ed543b0 CTest: Rename PROCESSES test property to RESOURCE_GROUPS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3994
2019-11-07 13:10:57 -05:00
Brad King ce7408514c Merge topic 'install-name-dir-genex'
a0e2e0ca97 Help: Add documentation and release notes for INSTALL_NAME_DIR genex
deeab72aae Tests: Add tests for INSTALL_NAME_DIR
3c85f11fed INSTALL_NAME_DIR: Add support for generator expressions
2ec1156b80 Refactor: Generalize cmExportInstallFileGenerator::ReplaceInstallPrefix()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3989
2019-11-06 09:32:22 -05:00
Craig Scott e0ec13059a Merge topic 'doc-discourse' into release-3.16
4af39fe25b CMakeSystemSpecificInformation: Replace mailing list with Discourse Forum
d0be4d5365 README: Replace link to mailing list the CMake Discourse Forum
4dd6ad20b6 README: Update links to cmake.org pages
821bfca89b Help: Replace links to mailing lists with links to our Discourse Forum
32d8de1463 CMakeCPack: Update Debian package contact email
2fae9101e5 Help/dev: Update maintainer guide for Discourse transition

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3998
2019-11-06 05:51:26 -05:00