Imported Upstream version 3.25.0
[platform/upstream/cmake.git] / Tests / RunCMake / FPHSA / RunCMakeTest.cmake
1 include(RunCMake)
2
3 run_cmake(BadFoundVar)
4 run_cmake(NameMismatch)
5
6 # The pseudo module will "find" a package with the given version. Check if the
7 # version selection code in FPHSA works correctly.
8
9 # Find a package with version 0.
10 set(RunCMake_TEST_OPTIONS "-DCMAKE_MODULE_PATH=${CMAKE_CURRENT_LIST_DIR}" "-DPseudo_VERSION=0")
11 run_cmake(any_version_find_0)
12
13 # Find a package with more customary version number, without requesting a specific version and in
14 # the presence of a cache variable VERSION.
15 set(RunCMake_TEST_OPTIONS "-DCMAKE_MODULE_PATH=${CMAKE_CURRENT_LIST_DIR}" "-DPseudoNoVersionVar_VERSION=1.2.3.4_SHOULD_BE_IGNORED" "-DVERSION=BAD_VERSION")
16 run_cmake(any_version_VERSION_cache_variable)
17
18 # Find a package with a more customary version number, without requesting a specific version.
19 set(RunCMake_TEST_OPTIONS "-DCMAKE_MODULE_PATH=${CMAKE_CURRENT_LIST_DIR}" "-DPseudo_VERSION=1.2.3.4")
20 run_cmake(any_version)
21
22 # test EXACT mode with every subcomponent
23 run_cmake(exact_1)
24 run_cmake(exact_1.2)
25 run_cmake(exact_1.2.3)
26 run_cmake(exact_1.2.3.4)
27
28 # now test every component with an invalid version
29 set(RunCMake_DEFAULT_stderr ".")
30 run_cmake(exact_0)
31 run_cmake(exact_2)
32 run_cmake(exact_1.1)
33 run_cmake(exact_1.3)
34 run_cmake(exact_1.2.2)
35 run_cmake(exact_1.2.4)
36 run_cmake(exact_1.2.3.3)
37 run_cmake(exact_1.2.3.5)
38 unset(RunCMake_DEFAULT_stderr)
39
40 # check if searching for a version 0 works
41 set(RunCMake_TEST_OPTIONS "-DCMAKE_MODULE_PATH=${CMAKE_CURRENT_LIST_DIR}" "-DPseudo_VERSION=0")
42 run_cmake(exact_0_matching)
43
44 set(RunCMake_TEST_OPTIONS "-DCMAKE_MODULE_PATH=${CMAKE_CURRENT_LIST_DIR}" "-DPseudo_VERSION=")
45 run_cmake(empty_version)
46
47 set(RunCMake_TEST_OPTIONS "-DCMAKE_MODULE_PATH=${CMAKE_CURRENT_LIST_DIR}")
48 run_cmake(exact_1_no_version_var)
49
50 # check custom error message
51 set(RunCMake_TEST_OPTIONS "-DCMAKE_MODULE_PATH=${CMAKE_CURRENT_LIST_DIR}" "-DCustomMessage_VERSION=1.2.3.4")
52 run_cmake(custom_message_1)
53 set(RunCMake_TEST_OPTIONS "-DCMAKE_MODULE_PATH=${CMAKE_CURRENT_LIST_DIR}" "-DCONFIG_MODE=TRUE")
54 run_cmake(custom_message_2)
55 run_cmake(custom_message_3)
56
57 # check handling of components
58 set(RunCMake_TEST_OPTIONS "-DCMAKE_MODULE_PATH=${CMAKE_CURRENT_LIST_DIR}" "-DUseComponents_VERSION=1.2.3.4")
59 run_cmake(required_components)
60 run_cmake(required_and_optional_components)
61 run_cmake(all_optional_components)
62 list(APPEND RunCMake_TEST_OPTIONS "-DUseComponents_REQUIRE_VARS=TRUE")
63 run_cmake(required_components_with_vars)
64
65 # check handling of version range
66 set(RunCMake_TEST_OPTIONS "-DCMAKE_MODULE_PATH=${CMAKE_CURRENT_LIST_DIR}" "-DPseudo_VERSION=2.3.4.5")
67 run_cmake(range_ignored)
68 set(RunCMake_TEST_OPTIONS "-DCMAKE_MODULE_PATH=${CMAKE_CURRENT_LIST_DIR}" "-DPseudoRange_VERSION=2.0")
69 run_cmake(range_no-range)
70 run_cmake(range_1-3)
71 run_cmake(range_1-2-include)
72 run_cmake(range_1-2-exclude)
73 run_cmake(range_3-4)