diff options
Diffstat (limited to 'modules-tests/RunAllModuleTests.cmake')
-rw-r--r-- | modules-tests/RunAllModuleTests.cmake | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/modules-tests/RunAllModuleTests.cmake b/modules-tests/RunAllModuleTests.cmake new file mode 100644 index 00000000..d68f61fd --- /dev/null +++ b/modules-tests/RunAllModuleTests.cmake @@ -0,0 +1,59 @@ +# Run this script via "cmake -P RunAllModuletests.cmake" to +# execute all module tests in one go. +# Run this script with "cmake -DMODULE=foo -P RunAllModuletests.cmake" to +# test only the one specified module. +# To see only the results and not the other cmake output, +# you can grep for "::". +# To have it delete the previous test build dirs, run it with -DCLEAN_DIRS=TRUE + +get_filename_component(currentDir "${CMAKE_CURRENT_LIST_FILE}" PATH) + +function(execute_one_test name) + set(workingDir "${currentDir}/${name}/build") + if(CLEAN_DIRS) + file(REMOVE_RECURSE "${workingDir}") + endif(CLEAN_DIRS) + file(MAKE_DIRECTORY "${workingDir}") + execute_process(COMMAND ${CMAKE_COMMAND} "${currentDir}/${name}" + WORKING_DIRECTORY "${workingDir}") + # now the same with pkg-config disabled + set(workingDir "${currentDir}/${name}/build-no-pkgconfig") + if(CLEAN_DIRS) + file(REMOVE_RECURSE "${workingDir}") + endif(CLEAN_DIRS) + file(MAKE_DIRECTORY "${workingDir}") + execute_process(COMMAND ${CMAKE_COMMAND} -DPKG_CONFIG_EXECUTABLE=echo "${currentDir}/${name}" + WORKING_DIRECTORY "${workingDir}") +endfunction(execute_one_test) + +if(DEFINED MODULE) + set(modulesToTest ${MODULE}) +else(DEFINED MODULE) + set(modulesToTest AGG + Blitz + BlueZ + ENCHANT + Eigen2 + FFmpeg + Flac + Flex + GObject + GStreamer + LCMS + LibArt + LibXslt + OpenEXR + PCRE + QCA2 + QImageBlitz + Sqlite + Strigi + USB + Xine + Xmms) +endif(DEFINED MODULE) + +foreach(currentModule ${modulesToTest}) + execute_one_test(${currentModule}) +endforeach(currentModule ${modulesToTest}) + |