From 9beb6e1529546f82d50c1b1bfdc20ca79cc41174 Mon Sep 17 00:00:00 2001 From: Taylor Rose <3nki.nam.shub@gmail.com> Date: Wed, 29 May 2019 19:38:53 -0400 Subject: [PATCH] Add backend selection to nimble init --- src/nimble.nim | 9 +++++++++ src/nimblepkg/init.nim | 10 ++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/nimble.nim b/src/nimble.nim index 94e677a..2eda5c5 100644 --- a/src/nimble.nim +++ b/src/nimble.nim @@ -802,6 +802,14 @@ This should ideally be a valid SPDX identifier. See https://spdx.org/licenses/. Please specify a valid SPDX identifier.""", "MIT" ) + var pkgBackend = options.promptList( + """Package Backend? +c - Compile using C backend. +cpp - Compile using C++ backend. +objc - Compile using Objective-C backend. +js - Compile using JavaScript backend.""", + ["c", "cpp", "objc", "js"] + ) # Ask for Nim dependency let nimDepDef = getNimrodVersion() @@ -816,6 +824,7 @@ Please specify a valid SPDX identifier.""", pkgAuthor, pkgDesc, pkgLicense, + pkgBackend, pkgSrcDir, pkgNimDep, pkgType diff --git a/src/nimblepkg/init.nim b/src/nimblepkg/init.nim index 42c7f4e..0617d97 100644 --- a/src/nimblepkg/init.nim +++ b/src/nimblepkg/init.nim @@ -9,6 +9,7 @@ type pkgAuthor: string pkgDesc: string pkgLicense: string + pkgBackend: string pkgSrcDir: string pkgNimDep: string pkgType: string @@ -149,6 +150,10 @@ test "correct welcome": # Write the nimble file let nimbleFile = pkgRoot / info.pkgName.changeFileExt("nimble") + # Only write backend if it isn't "c" + var pkgBackend = "" + if (info.pkgBackend != "c"): + pkgBackend = "backend = " & info.pkgbackend.escape() writeFile(nimbleFile, """# Package version = $# @@ -157,6 +162,7 @@ description = $# license = $# srcDir = $# $# +$# # Dependencies @@ -164,8 +170,8 @@ requires "nim >= $#" """ % [ info.pkgVersion.escape(), info.pkgAuthor.escape(), info.pkgDesc.escape(), info.pkgLicense.escape(), info.pkgSrcDir.escape(), nimbleFileOptions, - info.pkgNimDep + pkgBackend, info.pkgNimDep ] ) - display("Info:", "Nimble file created successfully", priority=MediumPriority) \ No newline at end of file + display("Info:", "Nimble file created successfully", priority=MediumPriority)