diff options
author | Ruslan Baratov <ruslan_baratov@yahoo.com> | 2018-06-07 10:28:23 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2018-06-07 14:41:45 (GMT) |
commit | aeda8fccebd6c6df2478a1a9d87cd0bc0f644190 (patch) | |
tree | c2511cdafcc3a02af845fe7b04412f1510e491a3 /Modules | |
parent | 90ebc32d9e7400a590973b30c99f2986bcb2b755 (diff) | |
download | CMake-aeda8fccebd6c6df2478a1a9d87cd0bc0f644190.zip CMake-aeda8fccebd6c6df2478a1a9d87cd0bc0f644190.tar.gz CMake-aeda8fccebd6c6df2478a1a9d87cd0bc0f644190.tar.bz2 |
Help: Package without components should use 'check_required_components' too
Macro 'check_required_components' should be called even if there are no
components provided by package. This will make sure error is reported
in next cases:
find_package(Foo CONFIG REQUIRED oops) # 'oops' treated as component
find_package(Foo CONFIG REQUIRED COMPONENTS foo) # no components expected
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/CMakePackageConfigHelpers.cmake | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/Modules/CMakePackageConfigHelpers.cmake b/Modules/CMakePackageConfigHelpers.cmake index e37f34f..790d408 100644 --- a/Modules/CMakePackageConfigHelpers.cmake +++ b/Modules/CMakePackageConfigHelpers.cmake @@ -102,13 +102,15 @@ # into the ``FooConfig.cmake`` file. # # ``check_required_components(<package_name>)`` should be called at the end of -# the ``FooConfig.cmake`` file if the package supports components. This macro -# checks whether all requested, non-optional components have been found, and if -# this is not the case, sets the ``Foo_FOUND`` variable to ``FALSE``, so that -# the package is considered to be not found. It does that by testing the -# ``Foo_<Component>_FOUND`` variables for all requested required components. -# When using the ``NO_CHECK_REQUIRED_COMPONENTS_MACRO`` option, this macro is -# not generated into the ``FooConfig.cmake`` file. +# the ``FooConfig.cmake`` file. This macro checks whether all requested, +# non-optional components have been found, and if this is not the case, sets +# the ``Foo_FOUND`` variable to ``FALSE``, so that the package is considered to +# be not found. It does that by testing the ``Foo_<Component>_FOUND`` +# variables for all requested required components. This macro should be +# called even if the package doesn't provide any components to make sure +# users are not specifying components erroneously. When using the +# ``NO_CHECK_REQUIRED_COMPONENTS_MACRO`` option, this macro is not generated +# into the ``FooConfig.cmake`` file. # # For an example see below the documentation for # :command:`write_basic_package_version_file()`. |