This fixes typos, syncs docs code style a bit and refactors functions
descriptions.
- Initial example improved and synced with the current
`feature_summary()` output
- The global properties are listed with indentation
- Added reference links where it makes sense to better understand the
terminology
- CMake versions added for all properties (they got introduced in CMake
3.8)
- All "macro" words renamed to "function"
- "Legacy Macros" renamed to "Deprecated Functions"
a2f24a7ba7 Tasking: Fix C Compiler standard and extension flags
730f72aa20 Tasking: Fix flag for COMPILE_WARNING_AS_ERROR
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10152
This variable define how the link step is done. Possible values are:
* DRIVER: the compiler is used as driver for the link step
* LINKER: the linker is used directly for the link step.
This was added in commit 98d0f918ba (LFortran: Add support for this
compiler, 2024-01-25, v3.31.0-rc1~303^2~2) because it is needed for
cases covered by CMake's Fortran tests. However, it does not work
with Fortran modules and breaks lfortran's own `examples/project1`.
Move the flag to the test cases that need it, just as the original
commit did with `--implicit-interface`.
Fixes: #26597
Co-authored-by: Brad King <brad.king@kitware.com>
Update the list of known versions.
Run the command
cmake -DBOOST_DIR=/path/to/boost_1_87_0 \
-P Utilities/Scripts/BoostScanDeps.cmake
to extract dependencies from the 1.87.0 source tree.
Dependencies differ from 1.86:
* Boost.Log no longer depends on Boost.Chrono
Fixes: #26562
This adds a new keyword OPTIONS which is a semicolon-separated list of
command-line options added to bison command line. This enables adding
options more intuitively. It mainly adds options as quoted arguments
which among other things enables adding paths containing spaces and
similar.
Fixes:
- https://gitlab.kitware.com/cmake/cmake/-/issues/23301
This adds a new keyword OPTIONS which is a semicolon-separated list of
command-line options added to flex command line. This enables adding
options more intuitively. It mainly adds options as quoted arguments
which among other things enables adding paths containing spaces and
similar.
Fixes:
- https://gitlab.kitware.com/cmake/cmake/-/issues/23301
This ensures that a user after providing custom flags
will first see that attempt. Previously the compiler attempt with the user flags could have been lost due to
console log buffer / scrolling support
This syncs the code style using lowercase, explains the behavior in a
paragraph-style like in other chapters, and adds few basic usage
examples. Additionally, an explanation is added, when to use this
module.
The `find_package_handle_standard_args(FOUND_VAR)` is deprecated as of
CMake 3.3 and both the `<PackageName>_FOUND` and the upper-cased
`<PACKAGE_NAME>_FOUND` are set with or without using this option.
Additionally, find modules and docs are also synced with this to make it
clearer.
Bison and Flex executables at the time of writing don't create
output directories when generating files. In most cases this isn't issue
if the build directory is created before running bison or flex. If any
of the output directories that can be determined isn't available, these
modules now create them before running the bison or flex command.
Issue: #19529
This uses the lowercase command signature and refactors the description
according to other similar documentation pages.
The LANGUAGE option is described separately.
This is a follow-up of 3ffc8a6b61
When using generator expressions in the COMPILE_FLAGS argument, and the
generator expression expands to an empty string, command gets an empty
argument with double quotes where flex command-line tool errors out
with `/usr/bin/flex: can't open` error. This removes empty arguments
from the created flex command.
c4f64cee36 CMakeParseImplicitLinkInfo: Do not mistake ld.so for a linker
a47283801e hurd: Add GNU linker options
4d1066c578 hurd: Add more GNU options support
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10092
Our pattern meant to match `/usr/bin/ld`, `ld.exe`, etc., unfortunately also
captures `ld.so`, which happens to be the dynamic linker on x86 GNU/Hurd.
Through `linker_tool_regex`, this:
elseif("${line}" MATCHES "${linker_tool_regex}")
set(linker_tool "${CMAKE_MATCH_2}")
endif()
is then assuming that:
/.../collect2 [...] -dynamic-linker /lib/ld.so [...]
claims the linker to be `/lib/ld.so`, and stops there, without noticing
further down in the log:
/usr/bin/ld [...] -dynamic-linker /lib/ld.so [...]
which is what should be claiming `/usr/bin/ld` is the linker.
To enable to locate development artifacts, in the context of virtual
environment, without requiring Interpreter component, rely on the
configuration file pyvenv.cfg.
Fixes: #26505
f06b2af291 Tests/FindRuby/Rvm: Honor Ruby_FIND_VIRTUALENV ONLY
a023377b86 FindRuby: Move checking of RVM and System Ruby to separate functions.
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10071