Commit Graph

5483 Commits

Author SHA1 Message Date
Brad King 162413664f Merge topic 'tutorial-step1'
14600a42c8 Tutorial: Update Step 1 instructions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6576
2021-10-04 10:29:00 -04:00
Brad King eb3fd11a23 Merge topic 'tutorial-step5'
01c332c9c7 Tutorial: Clarify instructions in Step 5

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6577
2021-10-04 10:26:45 -04:00
Craig Scott 63d7404a8a Merge topic 'compile-feature-version-tags'
b75f778531 Help: Detailed version tags for compiler known features

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6562
2021-10-03 01:27:38 -04:00
FeRD (Frank Dana) b75f778531 Help: Detailed version tags for compiler known features 2021-10-02 09:13:53 +10:00
Betsy McPhail 01c332c9c7 Tutorial: Clarify instructions in Step 5 2021-09-30 12:18:41 -04:00
Betsy McPhail 14600a42c8 Tutorial: Update Step 1 instructions
To demonstrate how simple a CMake project can be, move the `Build and Run`
section earlier in the step.
2021-09-30 12:04:52 -04:00
Ralf Habacker 9aba0ce29d Help: Fix CMAKE_FIND_LIBRARY_SUFFIXES examples for Windows
Fixes: #22697
2021-09-29 13:38:41 -04:00
Brad King 09dd52c9d2 Merge topic 'tutorial_update_step_8'
f55a02a26e Tutorial: Enhance CTestConfig info in Step 8

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6565
2021-09-28 09:56:14 -04:00
Brad King 6c4ebcbf40 Merge topic 'tutorial_update_stage_2'
68e0f72744 Tutorial: Describe placement of add_subdirectory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6559
2021-09-27 13:46:58 -04:00
Joseph Snyder f55a02a26e Tutorial: Enhance CTestConfig info in Step 8
Add a copy of the CTestConfig.cmake from Step 9 into the directory for
Step 8.

Expand the information about the contents of the CTestConfig file and
write a brief explanation of where on CDash to acquire the CTestConfig
file for a specific project.

CMake Issue: #22663
2021-09-27 10:11:17 -04:00
Craig Scott d277d797de Merge topic 'doc-find_package-restructure'
84e02be51c Help: Restructure the find_package() docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !6542
2021-09-25 03:39:33 -04:00
Joseph Snyder 68e0f72744 Tutorial: Describe placement of add_subdirectory
Clarify that the process of making a target optional in the second step
of the tutorial is further steps to the work done before, not
a separate addition to the file.

Do this by ensuring that the paragraph which describes the work done
mentions the placement and use of the previous command.
This is done to avoid duplication of the add_subdirectory call.

CMake Issue: #22663
2021-09-24 08:59:23 -04:00
Craig Scott 84e02be51c Help: Restructure the find_package() docs
The explanation of the basic and full signatures was interwoven tightly
with that of the Module and Config search modes. Config mode is
supported by both signatures, which made the structure of the
command documentation a bit confusing.

Add a section at the start which unambiguously describes the two
modes, including the fallback functionality between them. Move the
text about this out of the basic signature section, leaving just a
description of the basic syntax with a note that it is supported by both
search modes. This makes the basic signature section more focused.

Drop the Module and Config mode parts of the titles for the basic and
full signature sections. Those are now more precisely covered by the
new opening section, so the Basic Signature and Full Signature sections
are now clearer in what they cover.

Swap the order of the Search Procedure and Version Selection sections
to improve the logical flow. Also add  "Config Mode" to their titles to
make it clearer what they apply to. Add a note at the start of both
sections to highlight their relationship to the basic and full signatures.
2021-09-23 21:56:33 +10:00
Craig Scott b1745dcbca Merge topic 'doc-build-config'
b8d10c27d1 Help: Restructure build type docs and clarify case sensitivity

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !6516
2021-09-22 08:20:08 -04:00
Craig Scott b8d10c27d1 Help: Restructure build type docs and clarify case sensitivity
Fixes: #22591
2021-09-21 22:23:24 +10:00
Brad King 36966f63ca Merge topic 'hip-no-hipcc'
cb93f72624 HIP: Simplify detection of HIP runtime CMake package
a71f0fc9c7 HIP: Remove ROMClang compiler id and use Clang directly
b125e9809a HIP: Detect ROCm path earlier
735f41fc2d HIP: Use 'rocm_agent_enumerator' to determine CMAKE_HIP_ARCHITECTURES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Raul Tambre <raul@tambre.ee>
Acked-by: Axel Huebl <axel.huebl@plasma.ninja>
Merge-request: !6533
2021-09-20 12:38:44 -04:00
Brad King 5b7651f9b7 Merge branch 'release-3.20' 2021-09-20 12:22:49 -04:00
Brad King 0d3bfda22a CMake 3.20.6 2021-09-20 11:28:01 -04:00
Brad King a71f0fc9c7 HIP: Remove ROMClang compiler id and use Clang directly
Since commit bd844387df (ROCMClang: Add the ROCm toolkit derived clang
compiler to CMake, 2020-08-28, v3.21.0-rc1~66^2~6) and commit ff0d2858e1
(HIP: Extract clang compiler details from hipcc, 2020-10-21,
v3.21.0-rc1~66^2~5), the separate `ROCMClang` compiler id for `hipcc`
has caused a few problems:

* The compiler id changed from behavior of CMake 3.20 and below,
  breaking projects that already built with `hipcc` treated as `Clang`.

* The implementation of `target_compile_features` was incomplete for
  the `ROCMClang` identity.

* Only `hipcc` was identified as `ROCMClang`, so after it is unwrapped
  to the underlying `clang++`, future runs of new CMake versions on
  an existing build tree would not repeat this.

* Clang should be usable as a HIP compiler without the `hipcc` wrapper.

Remove the `ROMClang` compiler identity, and revise HIP language support
to work directly with a Clang compiler.

Reject direct `hipcc` usage as a HIP compiler.  For now it cannot be
supported because it interferes with flags CMake needs to pass to Clang.

Fixes: #22536, #22460, #22593
2021-09-16 15:33:47 -04:00
Zack Galbreath 735f41fc2d HIP: Use 'rocm_agent_enumerator' to determine CMAKE_HIP_ARCHITECTURES 2021-09-16 14:41:30 -04:00
Brad King ffb9978e95 Merge topic 'clarify_cmake_policy_warning_doc'
1230ceb97e Help: Improve explanation on CMAKE_POLICY_WARNING warnings occur

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6522
2021-09-16 08:24:56 -04:00
Brad King 1b91aaecd8 Merge topic 'vs2022'
b6ac10394b VS: Update Visual Studio 17 2022 generator for Preview 4
f200f4d5a7 VS: Fix managed C++ project generation for VS 2022

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6524
2021-09-16 08:16:54 -04:00
Brad King b6ac10394b VS: Update Visual Studio 17 2022 generator for Preview 4 2021-09-15 13:20:02 -04:00
Robert Maynard 1230ceb97e Help: Improve explanation on CMAKE_POLICY_WARNING warnings occur 2021-09-15 09:28:10 -04:00
Brad King 8f67d42671 Merge topic 'find-matlab-imported-targets'
161990b921 FindMatlab: Add imported targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !6488
2021-09-14 09:42:50 -04:00
Brad King 2a8d9bf4cc Merge topic 'CMakeDependentOption-condition-syntax'
059b90a0b4 CMakeDependentOption: Introduce policy CMP0127 for full Condition Syntax

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6493
2021-09-14 09:35:07 -04:00
Silvio Traversaro 161990b921 FindMatlab: Add imported targets 2021-09-13 12:12:05 -04:00
Craig Scott dadb7a2ba5 Merge topic 'document_find_package_version_restrictions'
563139e5e9 Help: find_package document version only supports numeric components

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6510
2021-09-11 04:39:10 -04:00
Daniel Schürmann 059b90a0b4 CMakeDependentOption: Introduce policy CMP0127 for full Condition Syntax
Fixes: #22303
2021-09-10 09:46:55 -04:00
Brad King 293070c325 Merge topic 'vs_settings'
f21158cdfe VS: Honor VS_SETTINGS source file property on all sources
3bf013632d cmVisualStudio10TargetGenerator: Factor out helper to write VS_SETTINGS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6492
2021-09-10 09:34:17 -04:00
Brad King a4fccf74af Merge topic 'ctest-memcheck-generate-test.xml'
ce44c2cec3 ctest_memcheck: generate `DynamicAnalysis-Test.xml` as well

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6491
2021-09-10 09:29:42 -04:00
Robert Maynard 563139e5e9 Help: find_package document version only supports numeric components 2021-09-09 15:02:30 -04:00
Steven Boswell f21158cdfe VS: Honor VS_SETTINGS source file property on all sources
Extend the feature added by commit 2ce42f281f (VS: Add VS_SETTINGS
source file property, 2020-03-18, v3.18.0-rc1~449^2~3) to support
all source file types.
2021-09-09 14:19:28 -04:00
Ben Boeckel ce44c2cec3 ctest_memcheck: generate DynamicAnalysis-Test.xml as well
This is useful so that memcheck results also show up as test results on
CDash. It will be submitted with the other `MemCheck` parts.

Fixes: #22190
2021-09-08 21:04:46 -04:00
Joerg Bornemann 84aaebf79f Help: Mention that Qt6 is supported by AUTOGEN
Co-Authored-By: Craig Scott <craig.scott@crascit.com>
2021-09-07 08:51:26 +10:00
Brad King 441691bc24 Help: Document that toolchain files may set implicit link information
Document in `CMAKE_<LANG>_IMPLICIT_LINK_{LIBRARIES,DIRECTORIES}` how
their value is used and that a fallback value may be provided by a
toolchain file.
2021-09-02 14:49:40 -04:00
Brad King c8991f17cf Merge topic 'cmake-packages-pkg-cfg-file-example'
d186797cf6 Help: Fix regex in example of cmake-packages(7)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !6489
2021-09-02 10:26:21 -04:00
Johel Ernesto Guerrero Peña d186797cf6 Help: Fix regex in example of cmake-packages(7)
This change makes it work as intended as opposed to make the condition always true.
This can be confirmed by running the following script:
```
[johel@sundown tmp]$ cat x.cmake 
function(f)
  set(valid_inputs abc 123)
  foreach(input ${ARGV})
    if(";${valid_inputs};" MATCHES input)
      message("old valid: ${input}")
    endif()
    if(";${valid_inputs};" MATCHES ";${input};")
      message("new valid: ${input}")
    endif()
  endforeach()
endfunction()

f("0;z;123;12;abc;ab;13;ac")

set(_supported_components Plot Table)
set(ClimbingStats_FIND_COMPONENTS Plot Table P T)

foreach(_comp ${ClimbingStats_FIND_COMPONENTS})
  if(NOT ";${_supported_components};" MATCHES _comp)
    message("old invalid: set(ClimbingStats_NOT_FOUND_MESSAGE \"Unsupported component: ${_comp}\")")
  endif()
  if(NOT ";${_supported_components};" MATCHES ";${_comp};")
    message("new invalid: set(ClimbingStats_NOT_FOUND_MESSAGE \"Unsupported component: ${_comp}\")")
  endif()
endforeach()
[johel@sundown tmp]$ cmake -P x.cmake 
new valid: 123
new valid: abc
old invalid: set(ClimbingStats_NOT_FOUND_MESSAGE "Unsupported component: Plot")
old invalid: set(ClimbingStats_NOT_FOUND_MESSAGE "Unsupported component: Table")
old invalid: set(ClimbingStats_NOT_FOUND_MESSAGE "Unsupported component: P")
new invalid: set(ClimbingStats_NOT_FOUND_MESSAGE "Unsupported component: P")
old invalid: set(ClimbingStats_NOT_FOUND_MESSAGE "Unsupported component: T")
new invalid: set(ClimbingStats_NOT_FOUND_MESSAGE "Unsupported component: T")
```
2021-08-28 10:49:28 -04:00
Johel Ernesto Guerrero Peña c6a6c008f4 Help: Fix terminology for regular expression in if(MATCHES)
This was wrongly changed in commit ba90611225 (Help: Make synopsis of
if command more compact; add section headers, 2018-10-05).
2021-08-28 13:58:25 +10:00
Brad King bd8a6e8abe Merge topic 'vs2022'
c8ec137da7 VS: Update Visual Studio 17 2022 generator for Preview 3.1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6480
2021-08-25 09:59:47 -04:00
Brad King c8ec137da7 VS: Update Visual Studio 17 2022 generator for Preview 3.1
Issue: #22339
2021-08-25 09:47:30 -04:00
Brad King b0a24db270 Merge topic 'find-package-note'
d7e521bcd3 Help: find_package: Tweak change description

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6477
2021-08-25 09:19:04 -04:00
Brad King cf90aa5595 Merge topic 'host-distro-info'
b9698f89df cmake_host_system_information: Make it available for all systems
5469c71a82 Refactor: Simplify `GetValue()` function calls
6c92f80f2e cmake_host_system_information: Also set `USED_FALLBACK_SCRIPT`
efe139d1b8 cmake_host_system_information: Can run fallback scripts
1e65e4a6e5 cmake_host_system_information: Can read `/etc/os-release` file
e808cbb1dd Testing: Convert `cmake_host_system_information` tests into `RunCMake`
9e831284e5 Documentation: Use definition list instead of tables
346f3de005 Refactor: Deduplicate code for `VS_nn_DIR` keys processing
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6410
2021-08-24 10:04:15 -04:00
FeRD (Frank Dana) d7e521bcd3 Help: find_package: Tweak change description 2021-08-23 20:02:08 -04:00
FeRD (Frank Dana) 0c0ba17493 Help: get/set_property: Fix SOURCE grammars 2021-08-23 18:38:13 -04:00
Alex Turbov b9698f89df cmake_host_system_information: Make it available for all systems
Before it was Linux only.
2021-08-20 09:35:12 -04:00
Alex Turbov efe139d1b8 cmake_host_system_information: Can run fallback scripts 2021-08-20 09:35:12 -04:00
Alex Turbov 1e65e4a6e5 cmake_host_system_information: Can read /etc/os-release file 2021-08-20 09:35:09 -04:00
Brad King 1b3d892ac2 Merge topic 'GoogleTest-gtest-filter'
ea6a7dd1c2 GoogleTest: Add TEST_FILTER arg to gtest_discover_tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6406
2021-08-10 09:26:49 -04:00
Brad King 8706f7a617 Merge topic 'symlinks-rebase-master'
58d10cf6f1 Alternative symlink-creating mode for file(INSTALL ...)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !6396
2021-08-10 09:25:15 -04:00