blob: c4e398ed3b915426e2a951a26e7fd6e0688692f5 [file] [edit]
include(RunCMake)
run_cmake(no_parameters)
run_cmake(unknown_meta_operation)
foreach(command IN ITEMS
"function" "ENDFUNCTION"
"macro" "endMACRO"
"if" "elseif" "else" "endif"
"while" "endwhile"
"foreach" "endforeach"
"block" "endblock"
)
message(STATUS "Running call_invalid_command for ${command}...")
run_cmake_with_options(call_invalid_command -Dcommand=${command})
endforeach()
run_cmake(call_valid_command)
run_cmake(call_double_evaluation)
run_cmake(call_expanded_command)
run_cmake(call_expanded_command_and_arguments)
run_cmake(call_expanded_command_with_explicit_argument)
run_cmake(call_expand_command_name)
run_cmake(call_expand_function_name)
run_cmake(call_message)
run_cmake(call_message_fatal_error)
run_cmake(call_no_parameters)
run_cmake(call_preserve_arguments)
run_cmake(call_unknown_function)
run_cmake(eval_expand_command_name)
run_cmake(eval_expanded_command_and_arguments)
run_cmake(eval_extra_parameters_between_eval_and_code)
run_cmake(eval_message)
run_cmake(eval_message_fatal_error)
run_cmake(eval_no_code)
run_cmake(eval_no_parameters)
run_cmake(eval_variable_outside_message)
run_cmake(defer_call)
run_cmake(defer_call_add_subdirectory)
run_cmake(defer_call_enable_language)
run_cmake(defer_call_ids)
foreach(command IN ITEMS
"function" "endfunction"
"macro" "endmacro"
"if" "elseif" "else" "endif"
"while" "endwhile"
"foreach" "endforeach"
"block" "endblock"
"return"
)
message(STATUS "Running defer_call_invalid_command for ${command}...")
run_cmake_with_options(defer_call_invalid_command -Dcommand=${command})
endforeach()
run_cmake(defer_call_invalid_directory)
run_cmake(defer_call_error)
run_cmake(defer_call_missing_directory)
run_cmake(defer_call_policy_PUSH)
run_cmake(defer_call_syntax_error)
run_cmake_with_options(defer_call_trace --trace-expand)
run_cmake_with_options(defer_call_trace_json --trace --trace-format=json-v1)
run_cmake(defer_cancel_call_unknown_argument)
run_cmake(defer_cancel_call_invalid_directory)
run_cmake(defer_cancel_call_id)
run_cmake(defer_cancel_call_id_var)
run_cmake(defer_directory_empty)
run_cmake(defer_directory_missing)
run_cmake(defer_directory_multiple)
run_cmake(defer_id_empty)
run_cmake(defer_id_missing)
run_cmake(defer_id_multiple)
run_cmake(defer_id_var_empty)
run_cmake(defer_id_var_missing)
run_cmake(defer_id_var_multiple)
run_cmake(defer_get_call_ids_missing_var)
run_cmake(defer_get_call_ids_too_many_args)
run_cmake(defer_get_call_ids_invalid_directory)
run_cmake(defer_get_call_ids_id)
run_cmake(defer_get_call_ids_id_var)
run_cmake(defer_get_call_missing_id)
run_cmake(defer_get_call_missing_var)
run_cmake(defer_get_call_too_many_args)
run_cmake(defer_get_call_id_empty)
run_cmake(defer_get_call_unknown_argument)
run_cmake(defer_get_call_id)
run_cmake(defer_get_call_id_var)
run_cmake(defer_missing_arg)
run_cmake(defer_missing_call)
run_cmake(defer_unknown_option)
run_cmake(exit_0)
run_cmake(exit_5)
run_cmake_script(exit_0_script)
run_cmake_script(exit_5_script)
run_cmake_script(exit_0_script_with_command)
run_cmake_script(exit_7_script_in_include)
run_cmake_script(exit_8_script_in_recursive_cmake_language)
run_cmake_script(exit_9_script_block)
run_cmake_script(exit_9_script_control)
run_cmake_script(exit_9_script_if)
run_cmake_script(exit_9_script_foreach)
run_cmake_script(exit_9_script_function)
run_cmake_script(exit_9_script_macro)
run_cmake_script(exit_9_script_while)
# Default log level
run_cmake_command(
get_message_log_level_none
${CMAKE_COMMAND}
-P ${RunCMake_SOURCE_DIR}/get_message_log_level.cmake
)
# Log level from cache
run_cmake_command(
get_message_log_level_cache
${CMAKE_COMMAND}
-DCMAKE_MESSAGE_LOG_LEVEL=TRACE
-P ${RunCMake_SOURCE_DIR}/get_message_log_level.cmake
)
# Log level from regular variable
run_cmake_command(
get_message_log_level_var
${CMAKE_COMMAND}
-DNEW_LOG_LEVEL=TRACE
-P ${RunCMake_SOURCE_DIR}/get_message_log_level.cmake
)
# Log level from command line
run_cmake_command(
get_message_log_level_cli
${CMAKE_COMMAND}
--log-level=DEBUG
-P ${RunCMake_SOURCE_DIR}/get_message_log_level.cmake
)
# Log level from command line, it has higher priority over a cache variable
run_cmake_command(
get_message_log_level_cli_and_cache
${CMAKE_COMMAND}
--log-level=DEBUG
-DCMAKE_MESSAGE_LOG_LEVEL=TRACE
-P ${RunCMake_SOURCE_DIR}/get_message_log_level.cmake
)
# Log level from command line, it has higher priority over a regular variable
run_cmake_command(
get_message_log_level_cli_and_var
${CMAKE_COMMAND}
--log-level=DEBUG
-DNEW_LOG_LEVEL=TRACE
-P ${RunCMake_SOURCE_DIR}/get_message_log_level.cmake
)
# Log level from variable, it has higher priority over a cache variable
run_cmake_command(
get_message_log_level_var_and_cache
${CMAKE_COMMAND}
-DNEW_LOG_LEVEL=DEBUG
-DCMAKE_MESSAGE_LOG_LEVEL=TRACE
-P ${RunCMake_SOURCE_DIR}/get_message_log_level.cmake
)
run_cmake(Experimental/CxxImportStd-set)
run_cmake(Experimental/CxxImportStd-unset)
run_cmake(Experimental/CxxImportStd-wrong)
run_cmake(Experimental/CxxImportStd-quiet)
run_cmake(Experimental/ExportPackageDependencies-set)
run_cmake(Experimental/ExportPackageDependencies-unset)
run_cmake(Experimental/ExportPackageDependencies-wrong)
run_cmake(Experimental/ExportPackageDependencies-quiet)
run_cmake(Experimental/Unknown)
run_cmake(PrintProperties)
run_cmake(PrintPropertiesSources)
run_cmake(PrintPropertiesDirectories)
run_cmake(PrintPropertiesTests)
run_cmake(PrintPropertiesCacheEntries)
run_cmake(PrintPropertiesLegacyFlagRequiresNamed)
run_cmake(PrintPropertiesAll)
run_cmake(PrintPropertiesImplicitAll)
run_cmake(PrintPropertiesFiltering)
run_cmake(PrintPropertiesDeferred)
run_cmake(PrintPropertiesFollowDependencies)
# Merge stdout+stderr so the expected output can assert that warnings /
# generator-time messages fall between "Configuring done" and
# "Generating done" - i.e. from the generator-action lambda.
block()
set(RunCMake_TEST_OUTPUT_MERGE 1)
run_cmake(PrintPropertiesAllFollowDependencies)
run_cmake(PrintPropertiesAllFollowBothRegex)
run_cmake(PrintPropertiesFollowImpliesDeferred)
run_cmake(PrintPropertiesEmptyMatch)
run_cmake(PrintPropertiesMissingTarget)
set(RunCMake_TEST_OPTIONS -DCMAKE_BUILD_TYPE=Debug)
run_cmake(PrintPropertiesConfigSpecific)
endblock()
run_cmake(PrintPropertiesAllAndNamed)
run_cmake(PrintPropertiesRegexWithNamed)
run_cmake(PrintPropertiesNamedRequired)
run_cmake(PrintPropertiesAllRequiresTargets)
run_cmake(PrintPropertiesRegexRequiresTargets)
run_cmake(PrintPropertiesDeferredRequiresTargets)
run_cmake(PrintPropertiesFollowRequiresTargets)
run_cmake(PrintPropertiesNameRegexError)
run_cmake(PrintPropertiesValueRegexError)
run_cmake(PrintPropertiesLocationNonImported)
run_cmake(PrintPropertiesLocationImported)
block()
# All requested properties are skipped, so no block header is emitted.
set(RunCMake_TEST_NOT_EXPECT_stdout "Properties for TARGET")
run_cmake(PrintPropertiesLocationOnlySkipped)
endblock()
run_cmake(trace)
run_cmake(trace_seq)
run_cmake(trace_expand)
run_cmake(trace_nested)
run_cmake(trace_unballanced)
run_cmake(trace_invalid_arg)
run_cmake(trace_too_few_args)
run_cmake(trace_ON_too_many_args)
run_cmake(trace_OFF_too_many_args)
block()
set(RunCMake_TEST_OPTIONS --trace --trace-source=trace_cli_wins.cmake)
run_cmake(trace_cli_wins)
set(RunCMake_TEST_OPTIONS --trace-expand --trace-source=trace_expand_cli_wins.cmake)
run_cmake(trace_expand_cli_wins)
endblock()
# cmake_language(PRINT_TARGETS)
run_cmake(PrintTargets)
run_cmake(PrintTargetsMutuallyExclusive)
block()
set(RunCMake_TEST_NOT_EXPECT_stdout "zz_alias")
run_cmake(PrintTargetsAlias)
endblock()
run_cmake(PrintTargetsScope)
run_cmake(PrintTargetsEmptyMatch)
run_cmake(PrintTargetsRegexError)
run_cmake(PrintTargetsNoRegex)
run_cmake(PrintTargetsIgnoreCase)
run_cmake(PrintTargetsIgnoreCaseRequiresRegex)
# cmake_language(PRINT_VARIABLES)
run_cmake(PrintVariablesAll)
block()
set(RunCMake_TEST_NOT_EXPECT_stdout "matching")
run_cmake(PrintVariablesUnfiltered)
run_cmake(PrintVariablesImplicitAll)
endblock()
block()
set(RunCMake_TEST_OPTIONS -Duninit_cache=raw_value -Wno-unused-cli)
run_cmake(PrintVariablesCacheAnnotation)
endblock()
run_cmake(PrintVariablesIgnoreCase)
run_cmake(PrintVariablesScope)
run_cmake(PrintVariablesNamed)
run_cmake(PrintVariablesNamedUndefined)
run_cmake(PrintVariablesLegacyFlagRequiresNamed)
run_cmake(PrintVariablesNoWatch)
run_cmake(PrintVariablesEmptyMatch)
run_cmake(PrintVariablesAllAndNamed)
run_cmake(PrintVariablesNamedWithFilter)
run_cmake(PrintVariablesNamedWithIgnoreCase)
run_cmake(PrintVariablesNameRegexError)
run_cmake(PrintVariablesValueRegexError)