ENH: add test which executes all FindXXX.cmake modules
Alex
This commit is contained in:
parent
d1c1d8025f
commit
8ef9983db6
|
@ -40,6 +40,7 @@ IF(BUILD_TESTING)
|
||||||
# add a bunch of standard build-and-test style tests
|
# add a bunch of standard build-and-test style tests
|
||||||
ADD_TEST_MACRO(CommandLineTest CommandLineTest)
|
ADD_TEST_MACRO(CommandLineTest CommandLineTest)
|
||||||
ADD_TEST_MACRO(FindPackageTest FindPackageTest)
|
ADD_TEST_MACRO(FindPackageTest FindPackageTest)
|
||||||
|
ADD_TEST_MACRO(FindModulesExecuteAll FindModulesExecuteAll)
|
||||||
ADD_TEST_MACRO(StringFileTest StringFileTest)
|
ADD_TEST_MACRO(StringFileTest StringFileTest)
|
||||||
ADD_TEST_MACRO(TryCompile TryCompile)
|
ADD_TEST_MACRO(TryCompile TryCompile)
|
||||||
ADD_TEST_MACRO(TarTest TarTest)
|
ADD_TEST_MACRO(TarTest TarTest)
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
# This file includes all FindXXX.cmake modules, so they are all executed.
|
||||||
|
# As it is it doesn't test a lot.
|
||||||
|
# It makes sure that the modules don't contain basic syntax errors.
|
||||||
|
# It also makes sure that modules don't fail with an error if something
|
||||||
|
# wasn't found but REQUIRED was not given.
|
||||||
|
#
|
||||||
|
# I guess more things could be added, like checking whether variables are
|
||||||
|
# defined after running the modules (e.g. FOO_FOUND etc.).
|
||||||
|
|
||||||
|
|
||||||
|
file(GLOB all_modules "${CMAKE_CURRENT_SOURCE_DIR}/../../Modules/Find*cmake")
|
||||||
|
|
||||||
|
foreach(module ${all_modules})
|
||||||
|
message(STATUS "module: ${module}")
|
||||||
|
include("${module}")
|
||||||
|
|
||||||
|
# get the "basename" of the package, so the existence of variables like
|
||||||
|
# FOO_FOUND could be tested later on, Alex
|
||||||
|
string(REGEX REPLACE ".+Find([^\\.]+)\\.cmake" "\\1" packageName "${module}")
|
||||||
|
string(TOUPPER "${packageName}" packageNameUpper)
|
||||||
|
|
||||||
|
# disabled for now, since too many modules break:
|
||||||
|
# if(NOT DEFINED ${packageNameUpper}_FOUND)
|
||||||
|
# message(SEND_ERROR "${packageNameUpper}_FOUND not defined !")
|
||||||
|
# endif(NOT DEFINED ${packageNameUpper}_FOUND)
|
||||||
|
|
||||||
|
endforeach(module ${all_modules})
|
||||||
|
|
||||||
|
add_executable(FindModulesExecuteAll main.c)
|
|
@ -0,0 +1,4 @@
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in New Issue