summaryrefslogtreecommitdiff
path: root/Tests
diff options
context:
space:
mode:
authorCristian Adam <cristian.adam@gmail.com>2020-05-15 13:25:38 +0200
committerCristian Adam <cristian.adam@gmail.com>2020-05-19 19:14:10 +0200
commitaa55587094f833db511a8c6e2ba63748af7d1719 (patch)
tree256edcdeccc5f0fa7c4d258851153ad3a5ca1bdb /Tests
parent5208b8c8532c770140c6e6eb902dc54751f55e87 (diff)
downloadcmake-aa55587094f833db511a8c6e2ba63748af7d1719.tar.gz
cmake_command: Expand INVOKE function name argument
Fixes: #20707
Diffstat (limited to 'Tests')
-rw-r--r--Tests/RunCMake/cmake_command/RunCMakeTest.cmake9
-rw-r--r--Tests/RunCMake/cmake_command/cmake_command_eval_expand_command_name-stderr.txt1
-rw-r--r--Tests/RunCMake/cmake_command/cmake_command_eval_expand_command_name.cmake2
-rw-r--r--Tests/RunCMake/cmake_command/cmake_command_eval_expanded_command_and_arguments-stderr.txt1
-rw-r--r--Tests/RunCMake/cmake_command/cmake_command_eval_expanded_command_and_arguments.cmake2
-rw-r--r--Tests/RunCMake/cmake_command/cmake_command_eval_extra_parameters_between_eval_and_code-result.txt1
-rw-r--r--Tests/RunCMake/cmake_command/cmake_command_eval_extra_parameters_between_eval_and_code-stderr.txt5
-rw-r--r--Tests/RunCMake/cmake_command/cmake_command_eval_extra_parameters_between_eval_and_code.cmake1
-rw-r--r--Tests/RunCMake/cmake_command/cmake_command_invoke_double_evaluation-stderr.txt1
-rw-r--r--Tests/RunCMake/cmake_command/cmake_command_invoke_double_evaluation.cmake2
-rw-r--r--Tests/RunCMake/cmake_command/cmake_command_invoke_expand_command_name-stderr.txt1
-rw-r--r--Tests/RunCMake/cmake_command/cmake_command_invoke_expand_command_name.cmake2
-rw-r--r--Tests/RunCMake/cmake_command/cmake_command_invoke_expand_function_name-stderr.txt1
-rw-r--r--Tests/RunCMake/cmake_command/cmake_command_invoke_expand_function_name.cmake11
-rw-r--r--Tests/RunCMake/cmake_command/cmake_command_invoke_expanded_command-stderr.txt1
-rw-r--r--Tests/RunCMake/cmake_command/cmake_command_invoke_expanded_command.cmake6
-rw-r--r--Tests/RunCMake/cmake_command/cmake_command_invoke_expanded_command_and_arguments-result.txt1
-rw-r--r--Tests/RunCMake/cmake_command/cmake_command_invoke_expanded_command_and_arguments-stderr.txt4
-rw-r--r--Tests/RunCMake/cmake_command/cmake_command_invoke_expanded_command_and_arguments.cmake2
-rw-r--r--Tests/RunCMake/cmake_command/cmake_command_invoke_expanded_command_with_explicit_argument-stderr.txt1
-rw-r--r--Tests/RunCMake/cmake_command/cmake_command_invoke_expanded_command_with_explicit_argument.cmake2
21 files changed, 57 insertions, 0 deletions
diff --git a/Tests/RunCMake/cmake_command/RunCMakeTest.cmake b/Tests/RunCMake/cmake_command/RunCMakeTest.cmake
index 0f12b80a39..a6b2efe7cb 100644
--- a/Tests/RunCMake/cmake_command/RunCMakeTest.cmake
+++ b/Tests/RunCMake/cmake_command/RunCMakeTest.cmake
@@ -2,11 +2,20 @@ include(RunCMake)
run_cmake(cmake_command_no_parameters)
run_cmake(cmake_command_unknown_meta_operation)
+run_cmake(cmake_command_invoke_double_evaluation)
+run_cmake(cmake_command_invoke_expanded_command)
+run_cmake(cmake_command_invoke_expanded_command_and_arguments)
+run_cmake(cmake_command_invoke_expanded_command_with_explicit_argument)
+run_cmake(cmake_command_invoke_expand_command_name)
+run_cmake(cmake_command_invoke_expand_function_name)
run_cmake(cmake_command_invoke_message)
run_cmake(cmake_command_invoke_message_fatal_error)
run_cmake(cmake_command_invoke_no_parameters)
run_cmake(cmake_command_invoke_preserve_arguments)
run_cmake(cmake_command_invoke_unknown_function)
+run_cmake(cmake_command_eval_expand_command_name)
+run_cmake(cmake_command_eval_expanded_command_and_arguments)
+run_cmake(cmake_command_eval_extra_parameters_between_eval_and_code)
run_cmake(cmake_command_eval_message)
run_cmake(cmake_command_eval_message_fatal_error)
run_cmake(cmake_command_eval_no_code)
diff --git a/Tests/RunCMake/cmake_command/cmake_command_eval_expand_command_name-stderr.txt b/Tests/RunCMake/cmake_command/cmake_command_eval_expand_command_name-stderr.txt
new file mode 100644
index 0000000000..d64066171a
--- /dev/null
+++ b/Tests/RunCMake/cmake_command/cmake_command_eval_expand_command_name-stderr.txt
@@ -0,0 +1 @@
+OK!
diff --git a/Tests/RunCMake/cmake_command/cmake_command_eval_expand_command_name.cmake b/Tests/RunCMake/cmake_command/cmake_command_eval_expand_command_name.cmake
new file mode 100644
index 0000000000..4cea3930b2
--- /dev/null
+++ b/Tests/RunCMake/cmake_command/cmake_command_eval_expand_command_name.cmake
@@ -0,0 +1,2 @@
+set (my_eval "EVAL")
+cmake_command (${my_eval} CODE message("OK!"))
diff --git a/Tests/RunCMake/cmake_command/cmake_command_eval_expanded_command_and_arguments-stderr.txt b/Tests/RunCMake/cmake_command/cmake_command_eval_expanded_command_and_arguments-stderr.txt
new file mode 100644
index 0000000000..d64066171a
--- /dev/null
+++ b/Tests/RunCMake/cmake_command/cmake_command_eval_expanded_command_and_arguments-stderr.txt
@@ -0,0 +1 @@
+OK!
diff --git a/Tests/RunCMake/cmake_command/cmake_command_eval_expanded_command_and_arguments.cmake b/Tests/RunCMake/cmake_command/cmake_command_eval_expanded_command_and_arguments.cmake
new file mode 100644
index 0000000000..fcc399bbf9
--- /dev/null
+++ b/Tests/RunCMake/cmake_command/cmake_command_eval_expanded_command_and_arguments.cmake
@@ -0,0 +1,2 @@
+set(cmd EVAL CODE [[message("OK!")]])
+cmake_command(${cmd})
diff --git a/Tests/RunCMake/cmake_command/cmake_command_eval_extra_parameters_between_eval_and_code-result.txt b/Tests/RunCMake/cmake_command/cmake_command_eval_extra_parameters_between_eval_and_code-result.txt
new file mode 100644
index 0000000000..d00491fd7e
--- /dev/null
+++ b/Tests/RunCMake/cmake_command/cmake_command_eval_extra_parameters_between_eval_and_code-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/cmake_command/cmake_command_eval_extra_parameters_between_eval_and_code-stderr.txt b/Tests/RunCMake/cmake_command/cmake_command_eval_extra_parameters_between_eval_and_code-stderr.txt
new file mode 100644
index 0000000000..13c114ed88
--- /dev/null
+++ b/Tests/RunCMake/cmake_command/cmake_command_eval_extra_parameters_between_eval_and_code-stderr.txt
@@ -0,0 +1,5 @@
+CMake Error at cmake_command_eval_extra_parameters_between_eval_and_code.cmake:1 \(cmake_command\):
+ cmake_command called with unsupported arguments between EVAL and CODE
+ arguments
+Call Stack \(most recent call first\):
+ CMakeLists.txt:3 \(include\)
diff --git a/Tests/RunCMake/cmake_command/cmake_command_eval_extra_parameters_between_eval_and_code.cmake b/Tests/RunCMake/cmake_command/cmake_command_eval_extra_parameters_between_eval_and_code.cmake
new file mode 100644
index 0000000000..0927631f8d
--- /dev/null
+++ b/Tests/RunCMake/cmake_command/cmake_command_eval_extra_parameters_between_eval_and_code.cmake
@@ -0,0 +1 @@
+cmake_command(EVAL BAD CODE "message(BAD CODE)")
diff --git a/Tests/RunCMake/cmake_command/cmake_command_invoke_double_evaluation-stderr.txt b/Tests/RunCMake/cmake_command/cmake_command_invoke_double_evaluation-stderr.txt
new file mode 100644
index 0000000000..59a70bd217
--- /dev/null
+++ b/Tests/RunCMake/cmake_command/cmake_command_invoke_double_evaluation-stderr.txt
@@ -0,0 +1 @@
+var='\${foo}'
diff --git a/Tests/RunCMake/cmake_command/cmake_command_invoke_double_evaluation.cmake b/Tests/RunCMake/cmake_command/cmake_command_invoke_double_evaluation.cmake
new file mode 100644
index 0000000000..10970fc229
--- /dev/null
+++ b/Tests/RunCMake/cmake_command/cmake_command_invoke_double_evaluation.cmake
@@ -0,0 +1,2 @@
+set(var [[${foo}]])
+cmake_command(INVOKE cmake_command INVOKE message "var='${var}'")
diff --git a/Tests/RunCMake/cmake_command/cmake_command_invoke_expand_command_name-stderr.txt b/Tests/RunCMake/cmake_command/cmake_command_invoke_expand_command_name-stderr.txt
new file mode 100644
index 0000000000..d64066171a
--- /dev/null
+++ b/Tests/RunCMake/cmake_command/cmake_command_invoke_expand_command_name-stderr.txt
@@ -0,0 +1 @@
+OK!
diff --git a/Tests/RunCMake/cmake_command/cmake_command_invoke_expand_command_name.cmake b/Tests/RunCMake/cmake_command/cmake_command_invoke_expand_command_name.cmake
new file mode 100644
index 0000000000..d59afe4d62
--- /dev/null
+++ b/Tests/RunCMake/cmake_command/cmake_command_invoke_expand_command_name.cmake
@@ -0,0 +1,2 @@
+set (my_invoke "INVOKE")
+cmake_command (${my_invoke} message "OK!")
diff --git a/Tests/RunCMake/cmake_command/cmake_command_invoke_expand_function_name-stderr.txt b/Tests/RunCMake/cmake_command/cmake_command_invoke_expand_function_name-stderr.txt
new file mode 100644
index 0000000000..d00491fd7e
--- /dev/null
+++ b/Tests/RunCMake/cmake_command/cmake_command_invoke_expand_function_name-stderr.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/cmake_command/cmake_command_invoke_expand_function_name.cmake b/Tests/RunCMake/cmake_command/cmake_command_invoke_expand_function_name.cmake
new file mode 100644
index 0000000000..923ddaaa94
--- /dev/null
+++ b/Tests/RunCMake/cmake_command/cmake_command_invoke_expand_function_name.cmake
@@ -0,0 +1,11 @@
+function(some_function_1)
+ message(1)
+endfunction()
+
+function(some_function_2)
+ message(2)
+endfunction()
+
+set(function_version 1)
+
+cmake_command(INVOKE some_function_${function_version})
diff --git a/Tests/RunCMake/cmake_command/cmake_command_invoke_expanded_command-stderr.txt b/Tests/RunCMake/cmake_command/cmake_command_invoke_expanded_command-stderr.txt
new file mode 100644
index 0000000000..d64066171a
--- /dev/null
+++ b/Tests/RunCMake/cmake_command/cmake_command_invoke_expanded_command-stderr.txt
@@ -0,0 +1 @@
+OK!
diff --git a/Tests/RunCMake/cmake_command/cmake_command_invoke_expanded_command.cmake b/Tests/RunCMake/cmake_command/cmake_command_invoke_expanded_command.cmake
new file mode 100644
index 0000000000..bca7d2f91f
--- /dev/null
+++ b/Tests/RunCMake/cmake_command/cmake_command_invoke_expanded_command.cmake
@@ -0,0 +1,6 @@
+function (itsok)
+ message(OK!)
+endfunction()
+
+set (cmd INVOKE itsok)
+cmake_command (${cmd})
diff --git a/Tests/RunCMake/cmake_command/cmake_command_invoke_expanded_command_and_arguments-result.txt b/Tests/RunCMake/cmake_command/cmake_command_invoke_expanded_command_and_arguments-result.txt
new file mode 100644
index 0000000000..d00491fd7e
--- /dev/null
+++ b/Tests/RunCMake/cmake_command/cmake_command_invoke_expanded_command_and_arguments-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/cmake_command/cmake_command_invoke_expanded_command_and_arguments-stderr.txt b/Tests/RunCMake/cmake_command/cmake_command_invoke_expanded_command_and_arguments-stderr.txt
new file mode 100644
index 0000000000..6d0e241b37
--- /dev/null
+++ b/Tests/RunCMake/cmake_command/cmake_command_invoke_expanded_command_and_arguments-stderr.txt
@@ -0,0 +1,4 @@
+CMake Error at cmake_command_invoke_expanded_command_and_arguments.cmake:2 \(cmake_command\):
+ cmake_command called with incorrect number of arguments
+Call Stack \(most recent call first\):
+ CMakeLists.txt:3 \(include\)
diff --git a/Tests/RunCMake/cmake_command/cmake_command_invoke_expanded_command_and_arguments.cmake b/Tests/RunCMake/cmake_command/cmake_command_invoke_expanded_command_and_arguments.cmake
new file mode 100644
index 0000000000..6bfa3a7245
--- /dev/null
+++ b/Tests/RunCMake/cmake_command/cmake_command_invoke_expanded_command_and_arguments.cmake
@@ -0,0 +1,2 @@
+set(invoke_message INVOKE message a b)
+cmake_command(${invoke_message})
diff --git a/Tests/RunCMake/cmake_command/cmake_command_invoke_expanded_command_with_explicit_argument-stderr.txt b/Tests/RunCMake/cmake_command/cmake_command_invoke_expanded_command_with_explicit_argument-stderr.txt
new file mode 100644
index 0000000000..d64066171a
--- /dev/null
+++ b/Tests/RunCMake/cmake_command/cmake_command_invoke_expanded_command_with_explicit_argument-stderr.txt
@@ -0,0 +1 @@
+OK!
diff --git a/Tests/RunCMake/cmake_command/cmake_command_invoke_expanded_command_with_explicit_argument.cmake b/Tests/RunCMake/cmake_command/cmake_command_invoke_expanded_command_with_explicit_argument.cmake
new file mode 100644
index 0000000000..eb0411f5a5
--- /dev/null
+++ b/Tests/RunCMake/cmake_command/cmake_command_invoke_expanded_command_with_explicit_argument.cmake
@@ -0,0 +1,2 @@
+set (cmd INVOKE message)
+cmake_command (${cmd} "OK!")