summaryrefslogtreecommitdiffstats
path: root/Source/cmFindPackageCommand.cxx
Commit message (Collapse)AuthorAgeFilesLines
* find_package: Add support for default GLOBAL imported targetsJohn Parent2022-03-101-0/+14
| | | | | | | | | Allow find package to promote scope of imported targets by specifying an argument to `find_package` or by specifying a CMake variable. * Add support for CMAKE_GLOBAL_IMPORT_SCOPE variable * Add support for GLOBAL argument to find_package Additionally add testing for above features.
* find_package: Improve --debug-find-pkg= when using a find moduleBrad King2022-02-101-3/+2
| | | | | | | | | Extend the feature added by commit d7b18895bc (cmake: Add filtered debug-find options, 2021-12-07, v3.23.0-rc1~217^2) to enable debug output for `find_*` calls within a find module or cmake package configuration file. Fixes: #23211
* find_package: Avoid printing debug output header multiple timesBrad King2022-02-101-11/+4
|
* find_package: Mention package name in Config mode debug outputBrad King2022-02-101-1/+2
| | | | | Otherwise, if there are no paths considered then the output does not specify the name of the package.
* find_package: Fix find module name in --debug-find outputBrad King2022-02-101-5/+4
|
* find_package: Improve formatting of --debug-find outputBrad King2022-02-101-15/+15
| | | | Also spell out more complete content in the test's expect output.
* cmFindPackageCommand: Drop ComputeIfDebugModeWanted overloadBrad King2022-02-101-7/+2
| | | | | | The overload for `--debug-find-pkg` has the same signature as the base class method for `--debug-find-var`. To avoid confusion, drop the overload and inline it its only call site.
* find_*(): Add CMAKE_IGNORE_PREFIX_PATH variableKyle Edwards2022-02-021-1/+12
| | | | Fixes: #20878
* Refactor: Keep track of prefixes in cmSearchPathKyle Edwards2022-02-021-1/+1
|
* find_package(): Refactor CMAKE_[SYSTEM_]IGNORE_PATHKyle Edwards2022-01-311-1/+10
| | | | | In the old implementation, CMAKE_[SYSTEM_]IGNORE_PATH was handled in cmFindCommon. Move it into cmFindPackageCommand.
* cmake: Add filtered debug-find optionsJohn Parent2021-12-171-3/+11
| | | | | | | | | | Add a `--debug-find-pkg=` option to debug find calls for specific packages. Add a `--debug-find-var=` option to debug find calls for specific return variables. Fixes: #21880
* Source: Replace most calls to sprintf with snprintfSean McBride2021-10-251-1/+1
|
* Rename cmProp in cmValueMarc Chevrier2021-09-211-11/+11
|
* find_package: Add variable to make package REQUIREDEugene Shalygin2021-07-081-3/+21
| | | | | | | | | | | | | | Add a `CMAKE_REQUIRE_FIND_PACKAGE_<PackageName>` variable is complement to `CMAKE_DISABLE_FIND_PACKAGE_<PackageName>` with just the opposite behaviour: it turns non-required find_package call into the required one. While optional package dependencies usually result in simple and clean build logic, sometimes people want to be sure those optional dependencies will be found and used. Examples are reproducible builds and build instructions for 3rd parties. People choose to make find_package calls REQUIRED and put them behind an option(). Such workarounds blend build logic with build environment management and do not look elegant.
* set(CACHE): do not remove normal variableMarc Chevrier2021-05-201-0/+5
| | | | Fixes: #22038
* clang-tidy: fix `readability-use-anyofallof` warningsBen Boeckel2021-01-271-18/+11
|
* Code style: add missed explicit 'this->'Oleksandr Koval2021-01-051-6/+6
| | | | | CMake uses explicit 'this->' style. Using custom clang-tidy check we can detect and fix places where 'this->' was missed.
* find_package: Fix regression in searching root prefixBrad King2020-10-191-1/+1
| | | | | | | | Fix the check added by commit 2ff1693066 (find_package: avoid showing files as directories when searching config files, 2020-09-30, v3.19.0-rc1~67^2) to avoid skipping the root prefix `/`. Fixes: #21324
* Merge topic 'find_package-check-dir'Brad King2020-10-011-4/+5
|\ | | | | | | | | | | | | 2ff1693066 find_package: avoid showing files as directories when searching config files Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5301
| * find_package: avoid showing files as directories when searching config filessanchayanghosh2020-09-301-4/+5
| | | | | | | | | | | | | | Teach `cmFileListGeneratorBase::Consider` to skip non-directories so that all call sites get the check. Fixes: #21212
* | find_package: raise error on empty version rangeMarc Chevrier2020-09-291-1/+14
|/
* Merge topic 'find_package_module_mode_print_debug_message'Brad King2020-09-251-0/+16
|\ | | | | | | | | | | | | | | b423a20ce1 FindPackage: Provide better debug message when <PKG_FOUND> is false a7acafc977 FindPackage: find_package(MODULE) respects CMAKE_FIND_DEBUG_MODE Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5256
| * FindPackage: Provide better debug message when <PKG_FOUND> is falseRobert Maynard2020-09-221-0/+11
| |
| * FindPackage: find_package(MODULE) respects CMAKE_FIND_DEBUG_MODERobert Maynard2020-09-221-0/+5
| | | | | | | | Fixes #21216
* | find_package: Add support of version rangeMarc Chevier2020-09-231-45/+116
| | | | | | | | This enhancement is the first step for solving issue #21107
* | cmFindPackageCommand: RefactoringMarc Chevrier2020-09-231-73/+57
|/ | | | | | * Use member initialisation at declaration * AddFindDefinition: same signature as cmMakefile::AddDefinition for consistency * Factorise version variables creation
* cmMakefile::GetDefinition: return cmPropVitaly Stakhovsky2020-09-021-17/+17
|
* Merge topic 'cmnonempty'Kyle Edwards2020-07-151-2/+2
|\ | | | | | | | | | | | | eaad8072ee cmNonempty: Convenience inlines to check for non-empty string Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5017
| * cmNonempty: Convenience inlines to check for non-empty stringVitaly Stakhovsky2020-07-141-2/+2
| |
* | cmIsOn: add overload accepting const std::string*Vitaly Stakhovsky2020-07-141-3/+3
|/
* Merge topic 'getdef-expand'Brad King2020-06-021-3/+1
|\ | | | | | | | | | | | | 7ed8c9ebe3 cmMakefile: add GetDefExpandList() that splits value into std::vector Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4819
| * cmMakefile: add GetDefExpandList() that splits value into std::vectorVitaly Stakhovsky2020-05-301-3/+1
| | | | | | | | Combines cmMakefile:GetDefinition() and cmExpandList()
* | Single location for cmProp typedefVitaly Stakhovsky2020-06-011-0/+1
|/
* clang-tidy: address bugprone-branch-clone lintsBen Boeckel2020-04-131-0/+6
| | | | | | | | | Arguably, many of these are bugs in `clang-tidy`. An if/else tree with other conditionals between cloned blocks may be relying on the intermediate logic to fall out of the case and inverting this logic may be non-trivial. See: https://bugs.llvm.org/show_bug.cgi?id=44165
* cmState::GetGlobalProperty: return cmPropVitaly Stakhovsky2020-03-251-10/+6
|
* cmMakefile::AddCacheDefinition: Add overload that accepts std::string valueVitaly Stakhovsky2020-03-111-2/+2
|
* find_package: Improve debug logging outputRobert Maynard2020-01-011-12/+34
| | | | | The find_package debug log messages are now easier to read when enabled by the `--debug-find` command-line option or `CMAKE_FIND_DEBUG_MODE` variable.
* find_*: Use debug logging infrastructureRobert Maynard2019-12-191-13/+120
| | | | | | Teach the find_package, find_library, find_program, find_path, and find_file commands to print debug log messages when enabled by the `--debug-find` command-line option or `CMAKE_FIND_DEBUG_MODE` variable.
* find_package: Add support for CMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRYRobert Maynard2019-11-041-1/+7
| | | | | | | | Extend the change from commit 1d00ba9ccf (Find: find_package prefers variable CMAKE_FIND_USE_REGISTRY, 2018-11-13, v3.16.0-rc1~461^2~1) to cover the system package registry too. Fixes: #19890
* Revise include order using clang-format-6.0Kitware Robot2019-10-011-6/+7
| | | | | Run the `clang-format.bash` script to update our C and C++ code to a new include order `.clang-format`. Use `clang-format` version 6.0.
* cmstd: Modernize CMake system headersMarc Chevrier2019-09-201-1/+1
| | | | | | | | | | | | | | Provide a standardized way to handle the C++ "standard" headers customized to be used with current CMake C++ standard constraints. Offer under directory `cm` headers which can be used as direct replacements of the standard ones. For example: #include <cm/string_view> can be used safely for CMake development in place of the `<string_view>` standard header. Fixes: #19491
* Refactor: Use cmStrCat to construct error stringsAsit Dhal2019-09-181-24/+21
| | | | | Replace string construction using std::stringstream with cmStrCat and cmWrap.
* clang-tidy: modernize-deprecated-headersRegina Pfeifer2019-09-161-3/+3
|
* Merge topic 'modernize-use-auto'Brad King2019-09-121-6/+4
|\ | | | | | | | | | | | | d25a5a7ec9 clang-tidy: modernize-use-auto Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3783
| * clang-tidy: modernize-use-autoRegina Pfeifer2019-09-101-6/+4
| | | | | | | | | | | | Set the MinTypeNameLength option to an impossibly high value in order to limit the diagnostics to iterators. Leave new expressions and cast expressions for later.
* | cmFind*: Port away from cmCommandRegina Pfeifer2019-09-101-3/+9
|/
* Source sweep: Use cmStrCat for string concatenationSebastian Holtermann2019-08-221-79/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is generated by a python script that uses regular expressions to search for string concatenation patterns of the kind ``` std::string str = <ARG0>; str += <ARG1>; str += <ARG2>; ... ``` and replaces them with a single `cmStrCat` call ``` std::string str = cmStrCat(<ARG0>, <ARG1>, <ARG2>, ...); ``` If any `<ARGX>` is itself a concatenated string of the kind ``` a + b + c + ...; ``` then `<ARGX>` is split into multiple arguments for the `cmStrCat` call. If there's a sequence of literals in the `<ARGX>`, then all literals in the sequence are concatenated and merged into a single literal argument for the `cmStrCat` call. Single character strings are converted to single char arguments for the `cmStrCat` call. `std::to_string(...)` wrappings are removed from `cmStrCat` arguments, because it supports numeric types as well as string types. `arg.substr(x)` arguments to `cmStrCat` are replaced with `cm::string_view(arg).substr(x)`
* Source sweep: Use cmIsOn instead of cmSystemTools::IsOnSebastian Holtermann2019-08-171-5/+4
| | | | | | | | | This replaces invocations of - `cmSystemTools::IsInternallyOn` with `cmIsInternallyOn` - `cmSystemTools::IsNOTFOUND` with `cmIsNOTFOUND` - `cmSystemTools::IsOn` with `cmIsOn` - `cmSystemTools::IsOff` with `cmIsOff`
* Source code: Use cmExpandList instead of cmSystemTools::ExpandListArgumentSebastian Holtermann2019-08-141-3/+3
|
* Merge topic 'find_package-prefer-config-not-found'Brad King2019-08-071-1/+3
|\ | | | | | | | | | | | | 8ed868606d find_package: Fix prefer-config mode to not fail on missing optional package Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3653