123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- # Test of the functions in the CMake Modules file:
- #
- include(GetPrerequisites)
- set(CMAKE_EXECUTABLE_SUFFIX "@CMAKE_EXECUTABLE_SUFFIX@")
- message(STATUS "=============================================================================")
- message(STATUS "CTEST_FULL_OUTPUT (Avoid ctest truncation of output)")
- message(STATUS "")
- message(STATUS "Configuration '${Configuration}'")
- message(STATUS "CMAKE_COMMAND='${CMAKE_COMMAND}'")
- message(STATUS "CMAKE_EXECUTABLE_SUFFIX='${CMAKE_EXECUTABLE_SUFFIX}'")
- message(STATUS "")
- function(stresstest_list_prerequisites file)
- message(STATUS "=============================================================================")
- message(STATUS "stresstest_list_prerequisites file='${file}'")
- message(STATUS "")
- get_filename_component(file_full "${file}" ABSOLUTE)
- message(STATUS "list_prerequisites '${file_full}' 0 0 0")
- list_prerequisites("${file_full}" 0 0 0)
- message(STATUS "")
- message(STATUS "list_prerequisites '${file_full}' 0 0 1")
- list_prerequisites("${file_full}" 0 0 1)
- message(STATUS "")
- message(STATUS "list_prerequisites '${file_full}' 0 1 0")
- list_prerequisites("${file_full}" 0 1 0)
- message(STATUS "")
- message(STATUS "list_prerequisites '${file_full}' 0 1 1")
- list_prerequisites("${file_full}" 0 1 1)
- message(STATUS "")
- message(STATUS "list_prerequisites '${file_full}' 1 0 0")
- list_prerequisites("${file_full}" 1 0 0)
- message(STATUS "")
- message(STATUS "list_prerequisites '${file_full}' 1 0 1")
- list_prerequisites("${file_full}" 1 0 1)
- message(STATUS "")
- message(STATUS "list_prerequisites '${file_full}' 1 1 0")
- list_prerequisites("${file_full}" 1 1 0)
- message(STATUS "")
- message(STATUS "list_prerequisites '${file_full}' 1 1 1")
- list_prerequisites("${file_full}" 1 1 1)
- message(STATUS "")
- message(STATUS "=============================================================================")
- message(STATUS "")
- endfunction()
- function(test_cmake_executables)
- message(STATUS "=============================================================================")
- message(STATUS "Loop over all executable files in the same directory with CMake")
- message(STATUS "")
- get_filename_component(cmake_bin_dir "${CMAKE_COMMAND}" PATH)
- list_prerequisites_by_glob(GLOB "${cmake_bin_dir}/*" 0 0 1)
- endfunction()
- message(STATUS "=============================================================================")
- message(STATUS "Simplest test - list all the direct prerequisites of CMake itself")
- message(STATUS "")
- list_prerequisites("${CMAKE_COMMAND}" 0 0 1)
- message(STATUS "")
- message(STATUS "=============================================================================")
- string(LENGTH "$ENV{PATH}" PATH_LENGTH_BEGIN)
- message(STATUS "Begin PATH length is: ${PATH_LENGTH_BEGIN}")
- message(STATUS "")
- # Leave the code for these tests in here, but turn them off by default... they
- # take longer than they're worth during development...
- #
- set(do_testdefaults 0)
- if(do_testdefaults)
- message(STATUS "=============================================================================")
- message(STATUS "Test default argument values to list_prerequisites function...")
- message(STATUS "")
- list_prerequisites("${CMAKE_COMMAND}")
- message(STATUS "")
- endif()
- set(do_stresstest 0)
- if(do_stresstest)
- message(STATUS "=============================================================================")
- message(STATUS "stresstest_list_prerequisites with CMake itself...")
- message(STATUS "")
- stresstest_list_prerequisites("${CMAKE_COMMAND}")
- message(STATUS "")
- endif()
- test_cmake_executables()
- message(STATUS "=============================================================================")
- message(STATUS "Test overriding 'gp_tool' with bogus value")
- message(STATUS "")
- set(gp_tool "bogus")
- list_prerequisites("${CMAKE_COMMAND}" 0 0 0)
- set(gp_tool)
- message(STATUS "")
- message(STATUS "=============================================================================")
- message(STATUS "Test overriding 'gp_tool' with value unlikely to be found")
- message(STATUS "")
- if(APPLE)
- set(gp_tool "dumpbin")
- else()
- set(gp_tool "otool")
- endif()
- set(gp_cmd "gp_cmd-NOTFOUND")
- list_prerequisites("${CMAKE_COMMAND}" 0 0 0)
- set(gp_cmd)
- set(gp_tool)
- message(STATUS "")
- message(STATUS "=============================================================================")
- message(STATUS "All variables: (Make sure functions/macros are not leaving stuff around...")
- message(STATUS " Only variables predefined by CMake and defined in this")
- message(STATUS " test script file should be listed here...)")
- message(STATUS "")
- get_cmake_property(vs VARIABLES)
- foreach(v ${vs})
- message(STATUS "${v}='${${v}}'")
- endforeach()
- message(STATUS "")
- message(STATUS "=============================================================================")
- string(LENGTH "$ENV{PATH}" PATH_LENGTH_END)
- message(STATUS "Final PATH length is: ${PATH_LENGTH_END}")
- if(PATH_LENGTH_END GREATER ${PATH_LENGTH_BEGIN})
- message(FATAL_ERROR "list_prerequisties is endlessly appending the path of gp_tool to the PATH.")
- endif()
- message(STATUS "")
- message(STATUS "=============================================================================")
- message(STATUS "End of test")
- message(STATUS "")
|