| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
The sections on FetchContent's FIND_PACKAGE_ARGS and on
Dependency Providers only apply to CMake 3.24+, so add
versionadded markers at the start of both sections.
|
|
|
|
|
|
|
|
| |
The guide previously only focused on the find_package() command,
with a bias towards libraries. FetchContent was not mentioned at all.
Reorganise and update the existing content. Add new sections to cover
providing dependencies with FetchContent and dependency providers.
Improve discoverability of the guide by mentioning it at the beginning
of the find_package(), FetchContent and dependency provider docs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since commit 07223c5c27 (Tutorial: Update Step 5 to work on Windows,
2020-02-18, v3.18.0-rc1~655^2) the logic does not work on non-Windows
platforms when cmake is re-run on an existing build tree. It is also
more complicated than we'd like for a tutorial example. Avoid the need
to consider the `m` library case by performing the check as C++.
Since `check_cxx_symbol_exists` cannot handle overloaded functions
like `exp` and `log`, check with `check_cxx_source_compiles` instead.
This also presents a more general-purpose example in the tutorial.
Fixes: #23524
|
|
|
|
|
|
|
|
|
| |
Provide readers following the tutorial on `cmake.org` a direct link to
download the tutorial's source examples. Previously readers had to
fetch the CMake source tree separately and look for the tutorial source
examples inside it.
Fixes: #22475
|
|
|
|
|
| |
Step 2 references mysqrt.h instead of MathFunctions.h.
MathFunctions/mysqrt.h doesn't exist until Step 9.
|
|
|
|
|
| |
Correct a tiny typo in the Step 7 tutorial. Change so `License.txt`
correctly starts with a capital `L`.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Always using `_supported_components` causes conflicts when transitive
dependencies also set this variable, e.g., because the developers
followed these code samples.
An even more general approach could be to set
`_${CMAKE_FIND_PACKAGE_NAME}_supported_components` instead, but such a
change should then be applied to other variables for consistency.
Fixes: #23112
|
|\
| |
| |
| |
| |
| |
| | |
6a5936c596 Help: Add IDE Integration Guide section on IDEs supporting CMake
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6851
|
| | |
|
| |
| |
| |
| | |
Issue: #23083
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
39c410624a Tutorial: in step 7, disambiguate installed/source archive
44c527bc63 Tutorial: Package only one source archive
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6765
|
| | | |
|
| |/ |
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Divert LCC compiler as a new one, instead of treating it as GNU.
Since old times, Elbrus C/C++/Fortran Compiler (LCC) by MCST has been
passing checks for GNU compilers, so it has been identified as GNU.
Now, with intent of seriously upstreaming its support, it has been
added as a separate LCC compiler, and its version displays not a
supported GCC version, but LCC version itself (e.g. LCC 1.25.19 instead
of GNU 7.3.0).
This commit adds its support for detection, and also converts basically
every check like 'is this compiler GNU?' to 'is this compiler GNU or
LCC?'. The only places where this check is untouched, is where it
regards other platforms where LCC is unavailable (primarily non-Linux),
and where it REALLY differs from GNU compiler.
Note: this transition may break software that are already ported to
Elbrus, but hardly relies that LCC will be detected as GNU; still such
software is not known.
|
|
|
|
|
|
|
|
|
|
|
| |
Small changes to the text and CMake code for the fourth step of the
tutorial:
* Remove parameter from endfunction call
* Standardize on "binary directory" for test location
* Add additional information about a Release build.
Issue: #22663
|
|
|
|
|
|
|
| |
Add instructions to update the cmake_minimum_required version to 3.15
just before the usage of COMPILE_LANG_AND_ID
Issue: #22663
|
|\
| |
| |
| |
| |
| |
| |
| | |
6dade88d1c Tutorial: Add documentation on Package helper functions
1bf25b5b5f Tutorial: Remove information about EXPORT keyword
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6575
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add documentation for the configure_package_config_file() and
write_basic_package_version_file() commands.
Update the comment for the installation of those files to allow a
stopping point for the code display.
Issue: #22663
|
| |
| |
| |
| |
| | |
Remove the text that implies that the EXPORT keyword will also install
the generated CMake file.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
0f17b37b96 Tutorial: Fix regexps in sample CMakeLists.txt files
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6572
|
| |/
| |
| |
| |
| |
| | |
Replace original regexp `[-nan|nan|0]` with `(-nan|nan|0)`
which is what the author most likely intended to write in the
first place.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
14600a42c8 Tutorial: Update Step 1 instructions
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6576
|
| |/
| |
| |
| |
| | |
To demonstrate how simple a CMake project can be, move the `Build and Run`
section earlier in the step.
|
|/ |
|
|\
| |
| |
| |
| |
| |
| | |
f55a02a26e Tutorial: Enhance CTestConfig info in Step 8
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6565
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|/
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Extend the change from commit 9e5bbb69ea (Tutorial: Add captions for
code blocks, 2021-06-11) to also add a Sphinx named target to code
blocks. Name each target after the change the code block makes.
|
| |
|
| |
|
|
|
|
|
|
| |
- Use inline literals for all code fragments and names.
- Add missing console code-blocks.
- Always use c++, not c as code language.
|
| |
|
|
|
|
| |
Fixes: #21737
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| | |
75dadc4558 Help: Use relative path for IDE Integration guide link to preset schema
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kyle Edwards <kyle.edwards@kitware.com>
Merge-request: !6083
|
| |
| |
| |
| |
| | |
This allows the integration guide to build as part of a larger set of
documentation.
|
| | |
|
|/
|
|
|
|
| |
This allows the example to also show how to work on systems with
different libdir settings (e.g., Debian multiarch or Red Hat multilib)
rather than a regular `lib` directory.
|
|
|
|
| |
Followup from !5674.
|
|
|
|
|
|
|
| |
As of VS 2019 the toolset is now called `ClangCL`. The toolset `LLVM`
is no longer supported.
Issue: #20415
|
|
|
|
|
|
|
| |
The first section of Step 5 is not tested, incorrect, and not the
recommended solution.
Fixes: #21539
|
| |
|
|
|
|
| |
s/mqsqrt.h/mysqrt.h/
|
|\ |
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
4a123fc28c Help: Clarify purpose of warnings and errors
6c74bcfc20 Help: Make architecture and toolset descriptions generic
45766789a0 Help: Add inheritance to CMakePresets.json example
88c9d6f6eb Help: Add documentation for debug field
efab856008 Help: Show environment field
2208db114c Help: Show multiple ways of doing cacheVariables
d30f85193f Help: Move vendor field into example
b9c8c57860 Help: s/unusedVars/unusedCli/
...
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5373
|
| | |
| | |
| | |
| | |
| | |
| | | |
The server mode has been deprecated since commit 996e1885c4 (server:
deprecate in favor of the file-api, 2019-04-19, v3.15.0-rc1~198^2).
Clients should now be using the file-api. Remove the server mode.
|
| |/
|/| |
|