val archive_name =
download_url match { case Archive_Name(name) => name case _ => error("Failed to determine source archive name from " + quote(download_url))
}
if (component_version.isEmpty) error("Missing component version")
val component = proper_string(component_name) getOrElse make_component_name(component_version) val component_dir =
Components.Directory(target_dir + Path.basic(component)).create(progress = progress)
/* platform */
val platform_name = Isabelle_Platform.local.ISABELLE_PLATFORM() val platform_dir =
Isabelle_System.make_directory(component_dir.path + Path.basic(platform_name))
val Pattern = """-- Setting binary name to '?([^\s']*)'?""".r val binary =
split_lines(cmake_out).collectFirst({ case Pattern(name) => name })
.getOrElse(error("Failed to determine binary name from cmake output:\n" + cmake_out))
val isabelle_tool =
Isabelle_Tool("component_vampire", "build prover component from official download",
Scala_Project.here,
{ args => var target_dir = Path.current var download_url = default_download_url var jobs = default_jobs var component_name = "" var component_version = default_version var verbose = false
val getopts = Getopts("""
Usage: isabelle component_vampire [OPTIONS]
Options are:
-D DIR target directory (default ".")
-U URL download URL
(default: """" + default_download_url + """")
-j NUMBER parallel jobs for make (default: """ + default_jobs + """)
-n NAME component name (default: """" + make_component_name("VERSION") + """")
-V VERSION component version (default: """ + default_version + """)
-v verbose
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.