RunCMakeTest.cmake 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. include(RunCMake)
  2. run_cmake(BadFoundVar)
  3. run_cmake(NameMismatch)
  4. # The pseudo module will "find" a package with the given version. Check if the
  5. # version selection code in FPHSA works correctly.
  6. # Find a package with version 0.
  7. set(RunCMake_TEST_OPTIONS "-DCMAKE_MODULE_PATH=${CMAKE_CURRENT_LIST_DIR}" "-DPseudo_VERSION=0")
  8. run_cmake(any_version_find_0)
  9. # Find a package with more customary version number, without requesting a specific version and in
  10. # the presence of a cache variable VERSION.
  11. set(RunCMake_TEST_OPTIONS "-DCMAKE_MODULE_PATH=${CMAKE_CURRENT_LIST_DIR}" "-DPseudoNoVersionVar_VERSION=1.2.3.4_SHOULD_BE_IGNORED" "-DVERSION=BAD_VERSION")
  12. run_cmake(any_version_VERSION_cache_variable)
  13. # Find a package with a more customary version number, without requesting a specific version.
  14. set(RunCMake_TEST_OPTIONS "-DCMAKE_MODULE_PATH=${CMAKE_CURRENT_LIST_DIR}" "-DPseudo_VERSION=1.2.3.4")
  15. run_cmake(any_version)
  16. # test EXACT mode with every subcomponent
  17. run_cmake(exact_1)
  18. run_cmake(exact_1.2)
  19. run_cmake(exact_1.2.3)
  20. run_cmake(exact_1.2.3.4)
  21. # now test every component with an invalid version
  22. set(RunCMake_DEFAULT_stderr ".")
  23. run_cmake(exact_0)
  24. run_cmake(exact_2)
  25. run_cmake(exact_1.1)
  26. run_cmake(exact_1.3)
  27. run_cmake(exact_1.2.2)
  28. run_cmake(exact_1.2.4)
  29. run_cmake(exact_1.2.3.3)
  30. run_cmake(exact_1.2.3.5)
  31. unset(RunCMake_DEFAULT_stderr)
  32. # check if searching for a version 0 works
  33. list(APPEND RunCMake_TEST_OPTIONS "-DCMAKE_MODULE_PATH=${CMAKE_CURRENT_LIST_DIR}" "-DPseudo_VERSION=0")
  34. run_cmake(exact_0_matching)
  35. # check custom error message
  36. set(RunCMake_TEST_OPTIONS "-DCMAKE_MODULE_PATH=${CMAKE_CURRENT_LIST_DIR}" "-DCustomMessage_VERSION=1.2.3.4")
  37. run_cmake(custom_message_1)
  38. set(RunCMake_TEST_OPTIONS "-DCMAKE_MODULE_PATH=${CMAKE_CURRENT_LIST_DIR}" "-DCONFIG_MODE=TRUE")
  39. run_cmake(custom_message_2)
  40. run_cmake(custom_message_3)