cmake: register fake project commands in -P mode
This commit is contained in:
parent
c36d63cd48
commit
c2c2bbb3d4
@ -266,3 +266,64 @@ void GetProjectCommands(cmState* state)
|
||||
"The variable_requires command should not be called; see CMP0035."));
|
||||
#endif
|
||||
}
|
||||
|
||||
void GetProjectCommandsInScriptMode(cmState* state)
|
||||
{
|
||||
#define CM_UNEXPECTED_PROJECT_COMMAND(NAME) \
|
||||
state->AddCommand(new cmUnexpectedCommand(NAME, "command is not " \
|
||||
"scriptable"))
|
||||
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("add_compile_options");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("add_custom_command");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("add_custom_target");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("add_definitions");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("add_dependencies");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("add_executable");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("add_library");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("add_subdirectory");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("add_test");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("aux_source_directory");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("build_command");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("create_test_sourcelist");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("define_property");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("enable_language");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("enable_testing");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("export");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("fltk_wrap_ui");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("get_source_file_property");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("get_target_property");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("get_test_property");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("include_directories");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("include_external_msproject");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("include_regular_expression");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("install");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("link_directories");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("link_libraries");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("load_cache");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("project");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("qt_wrap_cpp");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("qt_wrap_ui");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("remove_definitions");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("set_source_files_properties");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("set_target_properties");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("set_tests_properties");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("source_group");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("target_compile_definitions");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("target_compile_features");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("target_compile_options");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("target_include_directories");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("target_link_libraries");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("target_sources");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("try_compile");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("try_run");
|
||||
|
||||
// deprected commands
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("export_library_dependencies");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("load_command");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("output_required_files");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("subdir_depends");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("utility_source");
|
||||
CM_UNEXPECTED_PROJECT_COMMAND("variable_requires");
|
||||
|
||||
#undef CM_UNEXPECTED_PROJECT_COMMAND
|
||||
}
|
||||
|
@ -12,5 +12,6 @@ class cmState;
|
||||
*/
|
||||
void GetScriptingCommands(cmState* state);
|
||||
void GetProjectCommands(cmState* state);
|
||||
void GetProjectCommandsInScriptMode(cmState* state);
|
||||
|
||||
#endif
|
||||
|
@ -447,6 +447,8 @@ bool cmake::SetCacheArgs(const std::vector<std::string>& args)
|
||||
cmSystemTools::Error("No cmake script provided.");
|
||||
return false;
|
||||
}
|
||||
// Register fake project commands that hint misuse in script mode.
|
||||
GetProjectCommandsInScriptMode(this->State);
|
||||
this->ReadListFile(args, path.c_str());
|
||||
} else if (arg.find("--find-package", 0) == 0) {
|
||||
findPackageMode = true;
|
||||
|
Loading…
Reference in New Issue
Block a user