summaryrefslogtreecommitdiffstats
path: root/Help/manual
Commit message (Collapse)AuthorAgeFilesLines
* ISPC: Generated Headers suffix configurable with a better defaultRobert Maynard2020-12-142-0/+2
| | | | | | | | | The target property `ISPC_HEADER_SUFFIX` and associated global variable now can control the suffix used when generating the C/C++ interoperability ISPC headers. In addition the default suffix is now "_ispc.h" which matches the common convention that the ISPC compiler team uses and recommends.
* Merge topic 'apple-silicon-host-arch' into release-3.19Brad King2020-12-112-0/+2
|\ | | | | | | | | | | | | | | b7f0327dcd Tests: Cover macOS host architecture selection on Apple Silicon hosts 5f882f6ce5 macOS: Offer control over host architecture on Apple Silicon hosts Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5589
| * macOS: Offer control over host architecture on Apple Silicon hostsBrad King2020-12-102-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit b6c60f14b6 (macOS: Default to arm64 architecture on Apple Silicon hosts, 2020-09-28, v3.19.0-rc1~63^2) we use `sysctl` to detect that we are running on Apple Silicon in a way that pierces Rosetta. This always sets `CMAKE_HOST_SYSTEM_PROCESSOR` to be `arm64` on such hosts. However, macOS offers strong support for running processes under an emulated `x86_64` architecture. Teach CMake to select either `arm64` or `x86_64` as the host architecture on Apple Silicon based on the architecture of its own process. When CMake is built as a universal binary, macOS will select whichever slice (architecture) is appropriate under the user's shell, and `CMAKE_HOST_SYSTEM_PROCESSOR` will match. Also offer a `CMAKE_APPLE_SILICON_PROCESSOR` variable and environment variable to provide users with explicit control over the host architecture selection regardless of CMake's own architecture. Finally, if `CMAKE_OSX_ARCHITECTURES` is not set, pass explicit flags to the toolchain to use selected host architecture instead of letting the toolchain pick. Fixes: #21554
* | Help: Re-sort indexes in the manualsCraig Scott2020-12-113-60/+60
|/
* Merge topic 'update_cmp112' into release-3.19Brad King2020-12-081-0/+3
|\ | | | | | | | | | | | | cf0c71dae3 Document CMP0112 covers $<TARGET_FILE_NAME,tgt> Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5582
| * Document CMP0112 covers $<TARGET_FILE_NAME,tgt>Robert Maynard2020-12-071-0/+3
| | | | | | | | Fixes #21559
* | Help: Fix presets typo (longDescription to displayName)Sam Freed2020-11-281-1/+1
|/
* CTest: Rename CudaMemcheck to CudaSanitizerTobias Ribizel2020-11-171-5/+5
|
* Help: Add cuda-memcheck to CTest documentationTobias Ribizel2020-11-051-0/+14
| | | | Issue: #21388
* cmake_path: remove new command from 3.19Marc Chevrier2020-11-031-1/+0
| | | | | | | Defer adding this command until post-3.19 development so that it has more time to mature before being included in a release. Issue: #21385
* CMake GUI: Add --browse-manual argumentKyle Edwards2020-10-271-0/+4
|
* CMakePresets.json: Rework how --preset argument is handledKyle Edwards2020-10-262-20/+17
| | | | | | | | If a path argument with no -S or -B leads to a cache directory, use that directory as the binary directory. Otherwise, use the binary directory from the preset. Fixes: #21311
* Merge topic 'cmake-presets-toolset-arch-config' into release-3.19Craig Scott2020-10-232-30/+68
|\ | | | | | | | | | | | | 64afabdbcb CMakePresets.json: Split cmakeGeneratorConfig field Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5387
| * CMakePresets.json: Split cmakeGeneratorConfig fieldKyle Edwards2020-10-222-30/+68
| | | | | | | | | | | | | | | | Make this field separate for both architecture and toolset. Allow architecture and toolset to be either strings or objects with value and strategy fields. Fixes: #21317
* | CMakePresets.json: Add ${sourceDirName} macroKyle Edwards2020-10-221-0/+5
|/ | | | Fixes: #21312
* CMakePresets.json: Allow boolean for cache variable valueKyle Edwards2020-10-212-6/+20
| | | | Fixes: #21327
* Help: Add JSON schema for CMakePresets.jsonBen McMorran2020-10-202-0/+248
|
* Help: Clarify purpose of warnings and errorsKyle Edwards2020-10-191-4/+4
|
* Help: Make architecture and toolset descriptions genericKyle Edwards2020-10-191-4/+4
|
* Help: Add inheritance to CMakePresets.json exampleKyle Edwards2020-10-191-0/+7
|
* Help: Add documentation for debug fieldKyle Edwards2020-10-191-0/+20
| | | | Oops!
* Help: Show environment fieldKyle Edwards2020-10-191-0/+4
|
* Help: Show multiple ways of doing cacheVariablesKyle Edwards2020-10-191-2/+3
| | | | | This demonstrates both the simple string and the complex object, and ensures that they get automated testing.
* Help: Move vendor field into exampleKyle Edwards2020-10-192-14/+12
| | | | | This ensures that the vendor field gets automated testing from the example.
* Help: s/unusedVars/unusedCli/Kyle Edwards2020-10-191-1/+1
| | | | | | This was a mistake in the documentation. Fixes: #21303
* Help: Move CMakePresets.json documentation into a separate fileKyle Edwards2020-10-192-328/+351
|
* CMP0111: Clarify that the new error is on a missing property settingBrad King2020-10-161-1/+1
| | | | The previous wording could be confused with the file missing on disk.
* Help: Fix invalid code-block in cmake(1) manualKyle Edwards2020-10-141-1/+1
| | | | Fixes: #21304
* Tests: Test the CMakePresets.json example in the documentationKyle Edwards2020-10-092-25/+25
|
* Help: Fix documentation of CMakePresets.json's cacheVariablesKyle Edwards2020-10-091-4/+3
| | | | | | cacheVariables is a map with variable names as the keys, but the example in the documentation was not updated to reflect this. Fix the example.
* Help: Add note about Visual Studio tools for AndroidKyle Edwards2020-10-071-4/+6
|
* Help: Add ref to Ninja Generators sectionKyle Edwards2020-10-071-0/+2
|
* CMakePresets.json: Prohibit empty variable namesKyle Edwards2020-10-061-15/+17
|
* Help: Add presets documentation and release notesKyle Edwards2020-10-052-0/+373
|
* cmake_language: Add signature to DEFER calls to later timesBrad King2020-09-291-1/+6
| | | | Fixes: #19575
* Merge topic 'add_lang_agnostic_check_compile_flag_module'Brad King2020-09-291-0/+1
|\ | | | | | | | | | | | | 90dead024c CheckCompilerFlag: unified way to check compiler flags per language Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5281
| * CheckCompilerFlag: unified way to check compiler flags per languageRobert Maynard2020-09-281-0/+1
| |
* | Help: Change User Interaction image paths to be relative to source fileBetsy McPhail2020-09-251-0/+0
|/
* CheckSoureRuns: Add a unified way to check if a source runsRobert Maynard2020-09-231-0/+1
|
* CheckSoureCompiles: Add a unified way to check if a source compilesRobert Maynard2020-09-231-0/+1
|
* Merge topic 'comp-ti-std-options'Brad King2020-09-221-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | 6a66bb13ed Compiler/TI: Add std options for C++14 fe9cddf181 Compiler/TI: Add std options for C++98 55fc045aa8 Compiler/TI: Add std options for C11 2e69993101 Compiler/TI: Check default C standard 8300030f71 Compiler/TI: Check compiler version for C99 support 0b4582f229 Compiler/TI: Fix definition of std options a70df0d6f0 Compiler/TI: Avoid generic variable name in macro Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5249
| * Compiler/TI: Add std options for C++98Josef Angstenberger2020-09-201-1/+1
| | | | | | | | | | | | | | | | The TI compiler does not support C++98, only C++03 (based on manual of current version). This change sets the C++98 option to C++03 based on the fact that it is done this way for the SunPro compiler already.
* | Xcode: Add option to specify build system variantBrad King2020-09-181-0/+1
| | | | | | | | | | | | Extend the `-T <toolset>` option to support a `buildsystem=` field with the Xcode generator. Add a `CMAKE_XCODE_BUILD_SYSTEM` variable to inform project code about the selected build system variant.
* | Help: Move CMAKE_XCODE_GENERATE_SCHEME to proper manual sectionBrad King2020-09-141-1/+1
|/
* ExternalProject: Add policy CMP0114 to refine step target dependenciesBrad King2020-09-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | `ExternalProject_Add_StepTargets` and `INDEPENDENT_STEP_TARGETS` have some limitations and lack some sanity checks. They can cause confusing build systems to be generated. The basic problems are: * The notion of step independence is attached to the step target rather than the step itself. * The custom commands implementing the steps are duplicated in the step targets and the primary targets. This can cause races. It is also incompatible with the Xcode "new build system". Fix this by introducing policy CMP0114 to change the way step target dependencies are handled. Define independence from external dependencies as a property of each individual step regardless of whether there is a target for it. Add dependencies among the primary target and the step targets such that each custom command only appears in one target. When some steps are disconnected from the primary target, add step targets for the steps commonly depended upon so that there is a place to hold their custom commands uniquely. Fixes: #18663
* Merge topic 'pch-instantiate-templates'Brad King2020-09-102-0/+2
|\ | | | | | | | | | | | | | | | | | | 8c8f03422e PCH: Template instantiation support Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Raul Tambre <raul@tambre.ee> Acked-by: Cristian Adam <cristian.adam@gmail.com> Tested-by: Raul Tambre <raul@tambre.ee> Merge-request: !5168
| * PCH: Template instantiation supportTobias Hieta2020-09-022-0/+2
| | | | | | | | | | | | | | | | Adds PCH_INSTANTIATE_TEMPLATES target property for enabling template instantiation in precompiled headers. Enabled by default. Currently only supported for Clang 11 and newer. Implements #21133.
* | Makefile: Add policy CMP0113 to avoid duplication of custom commandsBrad King2020-09-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not attach a custom command to a target if it is already attached to one of the target's dependencies. The command's output will be available by the time the target needs it because the dependency containing the command will have already been built. This may break existing projects that do not properly mark non-created outputs with the `SYMBOLIC` property. Previously a chain of two custom commands whose intermediate dependency is not created would put both commands in a dependent project's Makefile even if the first command is also in its dependency's Makefile. The first command would run twice but the build would work. Now the second command needs an explicit `SYMBOLIC` mark on its input to tell CMake that it is not expected to exist. To maintain compatibility with projects that left out the mark, add a policy activating the behavior.
* | Merge topic 'ispc_improvements'Brad King2020-09-082-0/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | a020787a9b ISPC: Support generation for multiple instruction sets 5a1750017e ISPC: Add compiler launcher support Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5173
| * | ISPC: Support generation for multiple instruction setsRobert Maynard2020-09-042-0/+2
| | |