| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| | |
f19b48e0b8 FetchContent: Honor CMAKE_FIND_PACKAGE_TARGETS_GLOBAL
1305bade56 Help: Add missing version directive for find_package() GLOBAL keyword
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7347
|
| |
| |
| | |
Fixes: #23606
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
627c08e28b Tests: Teach RunCMake to ignore Xcode DVTSDK warnings
ab40020b17 Xcode: Suppress "Run Script" build phase warning during compiler id
89e1113e0c Xcode: Use ad-hoc signing during compiler id on macOS
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7350
|
| | |
| | |
| | |
| | |
| | | |
warning: Run script build phase 'Run Script' will be run during every
build because it does not specify any outputs.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Xcode 14 no longer accepts an empty signing identity for macOS.
However, Xcode in general does not accept an ad-hoc signing
identity for iOS. Switch based on the target platform.
Fixes: #23609
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
c111d440ce ExternalProject: Express per-config step stamp file paths using CONFIG genex
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7341
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The ExternalProject module has long used the generator-specific
placeholder in the `${CMAKE_CFG_INTDIR}` variable to express per-config
stamp file paths in multi-config generators. Now that most generators
support generator expressions in custom command outputs, we can use
the `$<CONFIG>` genex instead.
In particular, this fixes cross-config `BUILD_BYPRODUCTS` with the Ninja
Multi-Config generator.
Fixes: #23595
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Forward `CMAKE_<LANG>_FLAGS` and `CMAKE_<LANG>_FLAGS_DEBUG` from the
calling project into the test project. The set of flags may affect the
availability of IPO support. Since this may change the result of the
check for existing projects, add a policy for compatibility.
This was discovered after commit 5fcadc481e (MSVC: Default to -ZI
instead of /Zi for x86 and x64, 2022-05-24) introduced policy CMP0138 to
switch our default for MSVC's debug info flag. The `-ZI` flag is
incompatible with the `-GL` flag used for IPO, so CMP0138 was reverted
pending future work on an alternative solution. Re-use the CMP0138
policy number for this change to CheckIPOSupported instead.
Fixes: #23607
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Revert commit 5fcadc481e (MSVC: Default to -ZI instead of /Zi for x86
and x64, 2022-05-24). The `-ZI` flag is incompatible with the `-GL`
flag used for IPO, and so is not an unconditionally better default.
Revert the change pending future design of a first-class setting for
MSVC debug info format that can be automatically reconciled with IPO
settings.
That commit introduced policy CMP0138, but we already have later policy
numbers used too. Leave placeholder text to avoid policy renumbering.
Issue: #23607, #10189
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | | |
92e93f5c9e Help: Overhaul and expand the Using Dependencies Guide
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex <leha-bot@yandex.ru>
Merge-request: !7332
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
d8dcfa7776 Tests: Add tests for CMakePrintHelpers
b7ddfcfe08 cmake_print_properties(): Update grammar docs
e52b9e1270 PrintHelpers: Document argument order restriction
d87ed4d88f PrintHelpers: Fix indentation
5fa70e1738 PrintHelpers: Rewrite a few more error messages
2579503f45 PrintHelpers: Fix target SOURCES property
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7331
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It's been a long-standing bug in CMakePrintHelpers that the
cmake_print_properties() function cannot print the SOURCES
property of a requested TARGET, confusing it with a request
to print properties of SOURCES.
We work around this by parsing the arguments in two stages,
so that a SOURCES that comes after the PROPERTIES keyword
is handled differently from a SOURCES that comes before it.
This adds the restriction that the "mode" keyword (TARGETS
SOURCES DIRECTORIES etc...) and its arguments **must** precede
the PROPERTIES keyword and its arguments. In other words:
1. Both of these are now valid and will be interpreted correctly,
whereas previously only the first was, and the second caused
a FATAL_ERROR:
cmake_print_properties(SOURCES foo.c PROPERTIES LANGUAGE)
cmake_print_properties(TARGETS foo PROPERTIES SOURCES)
2. This, OTOH, which used to be valid, no longer is, and will
trigger a FATAL_ERROR:
cmake_print_properties(PROPERTIES LANGUAGE SOURCES foo.c)
Fixes: #14883
|
|/ /
| |
| |
| | |
Fixes: #23588
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
4a6caef9d5 FindOpenSSL: Set version variables for version >= 3.0.0
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7305
|
| | |
| | |
| | |
| | |
| | |
| | | |
The variables `OPENSSL_VERSION_MAJOR`, `OPENSSL_VERSION_MINOR` and
`OPENSSL_VERSION_FIX` are now set to the correct values when using
OpenSSL version >= 3.0.0, which uses a new format.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
fcddb1cd5f FindEnvModules: BUGFIX: env_module_swap OUTPUT_VARIBLE
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7315
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Since originally added to CMake, env_module_swap(OUTPUT_VARIABLE)
did not give output since the incorrect variable name was used.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
8de3983b4c GNUInstallDirs: Do not treat /opt/homebrew as under /opt
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7318
|
| |/ / /
| | | |
| | | |
| | | | |
Fixes: #23579
|
|/ / /
| | |
| | | |
Fixes: #23560
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | | |
3acbe073ba FindJava: improve failure/verbosity when 'java -version' fails
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7299
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
On macOS monterey, `java -version` returns
```
The operation couldn’t be completed. Unable to locate a Java Runtime.
Please visit http://www.java.com for information on installing Java.
```
which does not match the existing regex. Instead of hitting a fatal error if required,
reset the variable and let FindPackage handle the result.
If `QUIET` is requested, don't print anything if the version query fails. Otherwise, print the message.
Additionally, clean up temporary variables set by the execute_process commands.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
5fcadc481e MSVC: Default to -ZI instead of /Zi for x86 and x64
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7295
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Add a policy for compatibility.
For more information, see [1].
[1] https://docs.microsoft.com/en-us/cpp/build/reference/z7-zi-zi-debug-information-format?view=msvc-170
Fixes: #10189
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Extend the change from commit e01990999a (Ninja: On Windows, select the
compiler occurring first in PATH, 2020-04-17, v3.18.0-rc1~291^2) to
apply to the MSYS/MinGW Makefiles generators too. Drop the implied
`gcc` and `g++` default compilers. This allows MinGW/Clang environments
to work out of the box.
Inspired-by: Mehdi Chinoune <mehdi.chinoune@hotmail.com>
Fixes: #23542
|
|\ \ \ \
| |_|/ /
|/| | |
| | | |
| | | |
| | | |
| | | | |
85749766df LLVMFlang: Add support for LLVM Flang
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7246
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
LLVM Flang (https://github.com/llvm/llvm-project/tree/main/flang) is an LLVM
Fortran compiler that shares the same name as Flang (also known as Classic
Flang). Classic Flang is in active development and is already identified by
CMake as Flang. As such, LLVM Flang will be identified as `LLVMFlang`.
Fixes: #22387
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
2aa83fa15b Dependency providers: Add find_package and FetchContent support
8a28368feb FetchContent: Don't discard non-empty SOURCE_DIR and BINARY_DIR
8ce9bb8a0c FetchContent: Don't leak internal variables
74a6ddc339 cmFindPackageCommand: Handle Makefile variable definitions more robustly
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Gerhard Olsson <gerhard.nospam@gmail.com>
Merge-request: !7276
|
| | | |
| | | |
| | | | |
Fixes: #22619
|
| | | | |
|
| | | | |
|
|\ \ \ \
| |_|/ /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | | |
11ac6751a8 CPack: Support component names with special characters, too
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7290
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The macros `cpack_append_variable_set_command` and
`cpack_append_string_variable_set_command` became functions, in order to
support arguments with special characters (e.g. `:`).
|
|\ \ \ \
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | | |
d9b4264cb8 FindVulkan: Add component for `MoltenVK`
10a6bb16bb FindVulkan: Mark test target with `cxx_std_11` to avoid AppleClang warnings
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7286
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
3351b7b82c ExternalProject: Reformatting only
691f0c7612 ExternalProject: Minor cleanup to use more convenient commands
b4db306aff ExternalProject: Remove unused property docs
5c021c8355 ExternalProject: Replace SEND_ERROR with FATAL_ERROR
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7285
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
- Rewrap docs and commands to 80 character width, as per
code guidelines.
- Reformat argument lists across multiple lines to improve
readability.
- Use consistent closing parentheses on multi-line calls.
- Clean up indenting.
|
| | | | |
| | | | |
| | | | |
| | | | | |
There is no effective functional change with this commit. It is mostly
just to simplify readability.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
BRIEF_DOCS and FULL_DOCS became optional as of edb5059216
(define_property(): Make BRIEF_DOCS and FULL_DOCS optional,
2022-01-18). Remove these options from the define_property()
calls, since they served no useful purpose. The canonical
documentation of those properties is in the RST docs at the top of
the file.
|
| |/ / /
| | | |
| | | |
| | | | |
The one remaining SEND_ERROR is still needed because further messages
must be written before a final FATAL_ERROR on that code path.
|
|\ \ \ \
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
020976d637 FindPkgConfig: Populate _STATIC_LINK_LIBRARIES. Add STATIC_TARGET.
3c5cc79adb Tests: De-duplicate some code in RunCMake.FindPkgConfig
5cfbc76371 FindPkgConfig: Fix parsing of backslash-escaped spaces in pkg-config output
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7070
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Add LINK_LIBRARIES test to demonstrate static linking of transitive
dependencies.
Add STATIC_TARGET argument to pkg_check_modules() and pkg_search_module().
Influences the properties of target produced by IMPORTED_TARGET.
When enabled: target's properties will be populated from <XXX>_STATIC_*
variables instead of from <XXX>_* variables.
Update existing tests concerning properties of targets produced via
IMPORTED_TARGET, to test STATIC_TARGET variant too.
Update existing tests concerning <XXX>_* variables to test <XXX>_STATIC_*
variables too.
Breaking changes to pkg_check_modules() and pkg_search_module():
- Variables CMAKE_FIND_LIBRARY_PREFIXES and CMAKE_FIND_LIBRARY_SUFFIXES can no
longer be used to influence library lookup (i.e. the internal call to
find_library()), because FindPkgConfig now internally relies on these
variables to differentiate between shared and static library lookup.
Prefer CMAKE_SHARED_LIBRARY_PREFIX + CMAKE_SHARED_LIBRARY_SUFFIX, or
CMAKE_STATIC_LIBRARY_PREFIX + CMAKE_STATIC_LIBRARY_SUFFIX, depending on
whether you wish to impact static or shared lookup.
- <XXX>_LINK_LIBRARIES will now be populated only with libraries
located via CMAKE_SHARED_LIBRARY_PREFIX + CMAKE_SHARED_LIBRARY_SUFFIX match
- <XXX>_STATIC_LIBRARIES now processes -framework options
- <XXX>_STATIC_LDFLAGS_OTHER now processes -framework options
- <XXX>_STATIC_CFLAGS_OTHER now processes -isystem options
- <XXX>_STATIC_INCLUDE_DIRS now processes -isystem options
Fixes: #21714
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Treat backslash-escaped spaces as "space within argument" rather than
"space delimiting arguments".
Update our `FindPkgConfig_LIBRARY_PATH` test case to escape spaces in
the path, and run it unconditionally.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
7974fcd1a7 FindVulkan: remove noop on CMAKE_MODULE_PATH in tests
acdb5fe0e8 FindVulkan: Add component for `glslc` and `glslangValidator`
998ee49779 FindVulkan: ensure policy CMP0057 is NEW to use `IN_LIST` with `if()`
9f8720e74c FindVulkan: Add component for `glslang`
8d133f49e3 FindVulkan: Add component for `SPIRV-Tools`
6e4d20921d FindVulkan: Add component for `shaderc_combined`
2f46b8d723 FindVulkan: Move `mark_as_advanced` right after `find_*` calls.
08a420af4a FindVulkan: Factorize code for library/executable search
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7225
|
| | | | |
| | | | |
| | | | |
| | | | | |
For backward compatibility with previous CMake versions they are implicitly added to the list of components
|