Commit eeaaffcb authored by Brad King's avatar Brad King
Browse files

find_package: Test error and warning messages in failure cases

Add a "CMakeCommands.find_package" test to run CMake on a bunch of cases
in which find_package fails.  Check that the process return code and
warning/error messages are as expected.  Record expected test output in
corresponding files for reference by the check.  These files will also
serve as a reference for the message text in each case.
parent 52dffb9f
......@@ -8,3 +8,4 @@ macro(add_CMakeCommands_test test)
endmacro()
add_CMakeCommands_test(build_command)
add_CMakeCommands_test(find_package)
cmake_minimum_required(VERSION 2.8)
project(${TEST} NONE)
include(${TEST}.cmake)
CMake Warning at MissingConfig.cmake:1 \(find_package\):
Could not find a package configuration file provided by "NotHere" with any
of the following names:
NotHereConfig.cmake
nothere-config.cmake
Add the installation prefix of "NotHere" to CMAKE_PREFIX_PATH or set
"NotHere_DIR" to a directory containing one of the above files. If
"NotHere" provides a separate development package or SDK, be sure it has
been installed.
Call Stack \(most recent call first\):
CMakeLists.txt:3 \(include\)
CMake Warning at MissingConfigOneName.cmake:1 \(find_package\):
Could not find a package configuration file named "NotHereConfig.cmake"
provided by package "NotHere".
Add the installation prefix of "NotHere" to CMAKE_PREFIX_PATH or set
"NotHere_DIR" to a directory containing one of the above files. If
"NotHere" provides a separate development package or SDK, be sure it has
been installed.
Call Stack \(most recent call first\):
CMakeLists.txt:3 \(include\)
find_package(NotHere CONFIGS NotHereConfig.cmake)
CMake Error at MissingConfigRequired.cmake:1 \(find_package\):
Could not find a package configuration file provided by "NotHere" with any
of the following names:
NotHereConfig.cmake
nothere-config.cmake
Add the installation prefix of "NotHere" to CMAKE_PREFIX_PATH or set
"NotHere_DIR" to a directory containing one of the above files. If
"NotHere" provides a separate development package or SDK, be sure it has
been installed.
Call Stack \(most recent call first\):
CMakeLists.txt:3 \(include\)
CMake Warning at MissingConfigVersion.cmake:1 \(find_package\):
Could not find a package configuration file provided by "NotHere"
\(requested version 1\.2\) with any of the following names:
NotHereConfig.cmake
nothere-config.cmake
Add the installation prefix of "NotHere" to CMAKE_PREFIX_PATH or set
"NotHere_DIR" to a directory containing one of the above files. If
"NotHere" provides a separate development package or SDK, be sure it has
been installed.
Call Stack \(most recent call first\):
CMakeLists.txt:3 \(include\)
CMake Warning at MissingModule.cmake:1 \(find_package\):
No "FindNotHere.cmake" found in CMAKE_MODULE_PATH.
Call Stack \(most recent call first\):
CMakeLists.txt:3 \(include\)
CMake Warning \(dev\) at MissingModule.cmake:1 \(find_package\):
FindNotHere.cmake must either be part of this project itself, in this case
adjust CMAKE_MODULE_PATH so that it points to the correct location inside
its source tree.
Or it must be installed by a package which has already been found via
find_package\(\). In this case make sure that package has indeed been found
and adjust CMAKE_MODULE_PATH to contain the location where that package has
installed FindNotHere.cmake. This must be a location provided by that
package. This error in general means that the buildsystem of this project
is relying on a Find-module without ensuring that it is actually available.
Call Stack \(most recent call first\):
CMakeLists.txt:3 \(include\)
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Error at MissingModuleRequired.cmake:1 \(find_package\):
No "FindNotHere.cmake" found in CMAKE_MODULE_PATH.
Call Stack \(most recent call first\):
CMakeLists.txt:3 \(include\)
CMake Warning \(dev\) at MissingModuleRequired.cmake:1 \(find_package\):
FindNotHere.cmake must either be part of this project itself, in this case
adjust CMAKE_MODULE_PATH so that it points to the correct location inside
its source tree.
Or it must be installed by a package which has already been found via
find_package\(\). In this case make sure that package has indeed been found
and adjust CMAKE_MODULE_PATH to contain the location where that package has
installed FindNotHere.cmake. This must be a location provided by that
package. This error in general means that the buildsystem of this project
is relying on a Find-module without ensuring that it is actually available.
Call Stack \(most recent call first\):
CMakeLists.txt:3 \(include\)
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Warning at MissingNormal.cmake:1 \(find_package\):
By not providing "FindNotHere.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "NotHere", but
CMake did not find one.
Could not find a package configuration file provided by "NotHere" with any
of the following names:
NotHereConfig.cmake
nothere-config.cmake
Add the installation prefix of "NotHere" to CMAKE_PREFIX_PATH or set
"NotHere_DIR" to a directory containing one of the above files. If
"NotHere" provides a separate development package or SDK, be sure it has
been installed.
Call Stack \(most recent call first\):
CMakeLists.txt:3 \(include\)
CMake Error at MissingNormalRequired.cmake:1 \(find_package\):
By not providing "FindNotHere.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "NotHere", but
CMake did not find one.
Could not find a package configuration file provided by "NotHere" with any
of the following names:
NotHereConfig.cmake
nothere-config.cmake
Add the installation prefix of "NotHere" to CMAKE_PREFIX_PATH or set
"NotHere_DIR" to a directory containing one of the above files. If
"NotHere" provides a separate development package or SDK, be sure it has
been installed.
Call Stack \(most recent call first\):
CMakeLists.txt:3 \(include\)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment